1対1の仮想IP変換

1対1の仮想IP変換

多数の WAN IP を多数の LAN IP に変換したいのですが、一部のポートしか開いていません。変換したい WAN IP は、ルーターがインターネットに接続するために使用するプライマリ WAN IP ではありません。

たとえば、WAN IP 216.58.216.238をLAN IP 10.10.10.10に変換し、ポート80と443を開きます。

最初に次ifconfigのインターフェイスが表示されます: br0、、、、、、、。eth0eth1eth2lovlan1vlan2

vlan2外部 IP アドレスが割り当てられています。

翻訳はどのように行えばよいでしょうか?

これまで試してみたのは以下のとおりです:

ifconfig eth0:1 216.58.216.238 netmask 255.255.255.0 up
iptables -t nat -A PREROUTING -i eth0 -d 216.58.216.238 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.10:80
iptables -t nat -I POSTROUTING -s 10.10.10.10 -j SNAT --to 216.58.216.238

しかし、うまくいかないようです。ポート 216.58.216.238:80 を使用して外部ネットワークから 10.10.10.10:80 のサービスにアクセスできません。

再起動後にを実行するifconfigと、いくつかの追加インターフェイスが表示されます。 例: 。およびeth0:1と同じ HWaddr を持ち、 に正しい外部 IP アドレスが割り当てられていますが、ネットワーク外のデバイスはまだ表示されません。eth0vlan2inet addr

実行すると、iptables -t nat -vnL何かが登録されたようです。たとえば、次のようになります:

Chain PREROUTING (policy ACCEPT 5212 packets, 475K bytes)
pkts bytes target prot opt in    out  source      destination
...
0    0     DNAT   tcp  --  eth0  *    0.0.0.0/0   216.58.216.238     tcp dpt:80 to 10.10.10.10:80
...

アクセスを許可するために何を変更する必要があるかについて何かアイデアはありますか?

編集。

次のコマンドを使用してサービスを動作させることはできましたが、すべてのポートが通過を許可してしまいます。iptables にはスイッチやオプションが多数あります...

ifconfig eth0:1 216.58.216.238 netmask 255.255.255.0
iptables -t nat -I PREROUTING -d 216.58.216.238 -j DNAT --to 10.10.10.10
iptables -t nat -I POSTROUTING -s 10.10.10.10 -j SNAT --to 216.58.216.238

関連情報