私は以下を設定しようとしています:
---[IVR 1]
|
(internet)----[CentOS box]---+---[IVR 2]
|
---[IVR 3]
CentOSボックスの内部インターフェイスは192.168.110.1であり、IVRの192.168.110.101-103です。
私がやろうとしているのは、一連の外部UDPポートを各IVRにマップすることです。たとえば、ポート10000〜14999はIVR 1、1500〜19999、IVR2などにマップされます。私が抱えている問題はポートは直接マッピングする必要があります-つまり、インターネットからポート10000に着信するものwill IVRのポート10000に送信され、IVR1のポート10000から送信されるものwill CentOSボックスのインターネットに面したインターフェイスのポート10000から送信されます。
iptables 'NATのものはすべて、ポートを再マップしないようにするが、再マップする必要があるかもしれないという警告があります。
現在、私のオプションは次のようになっています。
ipables -t nat -A PREROUTING -i eth0 -p udp --dport 10000 -j DNAT --to 192.168.110.101:10000
の形式でポートを個別にマップします(15,000 iptables行、ポートごとに1つ)
uDPconntrackタイムアウトを右に下げてカーネルを構築する
どちらもひどく魅力的ではありません。
私は何を逃しましたか?
どうですか
PREROUTING -i eth0 -p udp --match multiport --dport 10000-14999 -j DNAT --to 192.168.110.101
または
PREROUTING -i eth0 -p udp --match multiport --dport 10000-14999 -j DNAT --to 192.168.110.101:10000-14999
編集
-t nat -A PREROUTING -i eth0 -p udp --match multiport --dport 10000-14999 -j DNAT --to 192.168.110.101
-t nat -A POSTROUTING -s 192.168.110.101 -j SNAT --to-destination 192.168.110.1