私は複数のWAN IPを持っており、それを複数のLAN IPに変換したいのですが、いくつかのポートだけを開きます。変換しようとしているWAN IPは、ルータがインターネットに接続するために使用するデフォルトのWAN IPではありません。
たとえば、WAN IP 216.58.216.238をLAN IP 10.10.10.10に変換し、ポート80と443を開こうとします。
最初は、、、、、、、、ifconfig
インターフェイスが表示されます。br0
eth0
eth1
eth2
lo
vlan1
vlan2
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
。eth0
と同じ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