web-dev-qa-db-ja.com

ステートレスNAT with CentOS 6

私は以下を設定しようとしています:

                              ---[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タイムアウトを右に下げてカーネルを構築する

どちらもひどく魅力的ではありません。

私は何を逃しましたか?

2
Dave Knell

どうですか

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
1
Pat