CentOS 6 iptables NATルーター

CentOS 6 iptables NATルーター

WANに接続されたプライベートネットワークをシミュレートするために研究室用NATルーターを設定しようとしています。 3つの仮想マシンがあります。

  • パブリックIP 192.168.0.5/24
  • プライベートIP 172.16.0.5/24
  • ルーター 192.168.0.1/24(eth0), 172.16.0.1/24(eth1)

まず、各システムのネットワークを構成し、プライベート→ルーターとパブリック→ルーターの間でpingが可能であることを確認しました。

次にnet.ipv4.ip_forward1に設定しsysctl.conf、変更を適用します。
この時点では、プライベートからパブリックへ、パブリックからプライベートへのpingを送信することはできません。ルータのiptablesルールを更新すると問題が解決しました。

iptables -F
iptables -t net -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle-X

その後、CENTOS6 / RHEL6ガイドに従って、次のiptablesコマンドを実行して転送を設定しました。

iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

カオスが始まります。個人からパブリックにpingを送信し、tcpダンプを使用してIPアドレスが正しく偽装されていることを確認できます。しかし、公開から非公開にpingを送信することもできます。

/etc/sysconfig/iptablesこれはLinuxルーターファイルのダンプです。

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

拒否を追加し、関連/設立ステータスを入力してみました。いわゆるパブリックホストがプライベートネットワークをスヌーピングするのを防ぐことはできないようです。どんなアイデアがありますか?私に何か問題があることは確かです。

ベストアンサー1

フィルタテーブルのデフォルトポリシーはACCEPTではなくDROPでなければなりません。それ以外の場合、デフォルトではすべてのパケットが転送されます。

iptables -P FORWARD DROP

おすすめ記事