SIPトラフィックを許可する方法、フィールドのIPはルーターのIPによって変更されます

SIPトラフィックを許可する方法、フィールドのIPはルーターのIPによって変更されます

次のような問題があります:

PC1    - eth0: 192.168.188.55
         eth1: part of br0: 10.147.20.69
         tap1: part of b0: 10.147.20.2 -> connected to PC2
on eth1: i have a trunc sip device GOIP and some times PC3.

サーバーはFreepbxをベースにインストールされたCentos7です

PC2から pc1にping: ok eth1にping: ok PC3から pc1にping: ok SIPクライアントを登録: ok

PC3の代わりにGOIPを使用すると、SIPクライアントまたはtruncのいずれかで登録が失敗しました。これにより、tcpdump -i eth0 src 10.147.20.2FreepbxがSIPオプションパケットを送信していることがわかりますが、送信元フィールドのIPが代わりに置き換えられています。

から[メールアドレス]から[メールアドレス]

eth0のルーターです

私は以下のIptabelsルールを持っています

-t nat -A POSTROUTING -o eth1 -j MASQUERADE
-A FORWARD -o eth1 -j ACCEPT

-t nat -A PREROUTING -i ztyqbvbk6k -p tcp --dport 8060  -j DNAT --to 10.147.20.17:80
-A FORWARD -i ztyqbvbk6k -p tcp --dport 80 -d 10.147.20.17 -j ACCEPT


-t nat -A POSTROUTING -o eth0 -j MASQUERADE
-A FORWARD -i eth0 -o zt+ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i zt+ -o eth0 -j ACCEPT

ただし、GOIP をルーターに直接接続して IP 192.168.188.88 を取得すると、Freepbx をそのルーターに登録できます。

このシナリオでは conntrack が必要ですか? 有効にしたり確認したりするにはどうすればいいですか? Iptables に問題がありますか? 何か提案はありますか?

これが私のルーティングテーブルです

[root@pbx ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.188.1   0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth1
10.147.20.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
10.147.20.0     0.0.0.0         255.255.254.0   U     0      0        0 tap1
192.168.188.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0

アップデート1:

ip route get 10.147.20.2 from 10.147.20.69
network is unreachable

ただし、PC3 を eth1 に接続し、10.147.20.2 に ping すると正常でした。 ご提案があれば、ぜひお知らせください。 ありがとうございます!

関連情報