LinuxをルーターにしてiptablesでNATをやるときの設定めも。
外からルーター配下のサーバーにアクセスするパターンを考える。
PREROUTE => FORWARD => POSTROUTE
という順でフィルターを通るので、
PREROUTEでアドレス変換を行って、FORWARDを許可しなければならない。
ルーターの外向きIPアドレスを111.2.3.4とする。
内側ネットワークのサーバーのアドレスを192.168.1.100
iptables -t nat -A PREROUTING -d 111.2.3.4 -p tcp --dport 80 -j DNAT --to 192.168.1.100
この指定で、111.2.3.4の80番のポート宛のパケットを
192.168.1.100宛だと書き換える。
次に、書き換えられたパケットはFORWARDのフィルターにかけられる。
よって、
iptables -A FORWARD -d 192.168.1.100 -p tcp --dport 80 -j ACCEPT
と、返信のために
iptables -A FORWARD -m state --state ESTABLISED,RELATED -j ACCEPT
とするとよいでしょう。