web-dev-qa-db-ja.com

ヘアピンNAT動的WAN IP

私は動的なWAN IPを持っているので、それが変更された場合、私のiptablesは適用されなくなります。

これが私の作業ヘアピンnatです。ここで、x.x.x.xは私のWAN IP

br0 - LAN

eth1 - WAN

-A PREROUTING -d x.x.x.x -p tcp --dport 80 -j DNAT --to-destination 192.168.0.9
-A POSTROUTING -s 192.168.0.0/27 -d 192.168.0.0/27 -o br0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/27 -o eth1 -j MASQUERADE

特に私のWAN IPが変更された場合に備えて、-d x.x.x.xを使用する必要がない別の方法はありますか?

3
Tek

最初のルールを次のように書き直します。

iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -p tcp --dport 80 -j DNAT --to-destination 192.168.0.9

これにより、LANIPのポート80への接続もリダイレクトされることに注意してください。

それを避けたい場合は、LAN IP a.b.c.dルールを次のように変更します。

iptables -t nat -A PREROUTING \! -d a.b.c.d -m addrtype --dst-type LOCAL -p tcp --dport 80 -j DNAT --to-destination 192.168.0.9
2
Silvio Massina

DNATルールでは、-d x.x.x.xの代わりに-i eth1 -m addrtype --dst-type LOCALを使用します。

1
Stefan Paletta