フォワーディングの前に宛先アドレスをnat
- prerouting
に書き直す必要があります。さらに、DMZに送信する前にLANトラフィックをport forwarded
にする必要があります。
マスカレードがなければ、DMZホストからのパケットは直接LANクライアントに送信されます。 LANクライアントは、応答がDMZ IPではなくパブリックIPから戻ってくることを期待しているので、これらの未知のパケットをドロップします。
最も簡単な方法は、一つのポートのみを装うために、これを即興することができます
# Public IP = 208.67.220.220
# Local LAN IP Pool = 192.168.1.0/24
# LAN Interface = 'eth0'
# DMZ Interface = 'eth2'
# DMZ Server IP = 172.16.20.20
iptables -t nat -d 208.67.220.220 -A PREROUTING -i eth0 -j DNAT --to 172.16.20.20
iptables -t nat -s 192.168.1.0/24 -A POSTROUTING -o eth2 -j MASQUERADE
以下のようなDMZネットワークに、すべてのLANトラフィックをマスカレードすることで、トラフィックを転送します。私は元のポスターにそれを残します。
パブリックアクセスが必要な場合は、その方法で設定します。自宅でもローカルIPではなくパブリックIPを使用します。 – Chris
それは問題です。パブリックアクセス(WAN-DMZ)のためのポート転送を設定しましたが、私の*** public IP ***をLANから使用すると自宅で接続が拒否されました。 – sesshoumaru
さて、もしあなたがDMZとして設定されていれば、問題はルータに入ることはありませんが、あなたは確認できます。ほとんどすべてのルータにロギングがあるわけではありませんが、ルータ経由で接続が許可されているかどうかを確認してください。あなたの次のステップは、リモートホスト用にソフトウェアファイアウォールがインストールされているかポートが開いているかをチェックすることです。 (システムファイアウォールのローカルのみを許可することが可能です)。ファイアウォールがすべて正しい場合、次は特定のサーバーのサーバーログになります。ポート443として、証明書がインストールされていることを確認することをお勧めします。 – Chris