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インターフェイスが表示されます。br0eth0eth1eth2lovlan1vlan2

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:1eth0と同じHWaddrを持っていてvlan2、正しい外部IPアドレスが割り当てられていますが、inet 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

ベストアンサー1

おすすめ記事