iptables、サブネットルールはIPルールよりも優先されます。

iptables、サブネットルールはIPルールよりも優先されます。

宛先があるサブネット上のすべてのパケットが必要ですDROPが、特定の宛先()へのアクセスのみを許可したいと思います。192.168.112.0/24192.168.112.0/24192.168.112.253

私は次の規則を使用しています。最初の(DROP)ルールは期待どおりに機能し、すべてのパケットを破棄しますが、2番目の(ACCEPT)ルールは特定の宛先へのパケットの通過を許可しません。

iptables -I FORWARD -s 192.168.112.0/24 -d 192.168.112.0/24 -j DROP
iptables -I FORWARD -s 192.168.112.0/24 -d 192.168.112.253 -j ACCEPT

ここに画像の説明を入力してください。

ACCEPT最初のルール()が無視される理由はありますか?

ベストアンサー1

問題を再現できません。

ここに所有者がいます172.17.0.2/16。最初は192.168.1.0/24ネットワーク上のすべてのホストに到達できます。

/ # ping -c1 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=63 time=0.350 ms

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.350/0.350/0.350 ms
/ # ping -c1 192.168.1.6
PING 192.168.1.6 (192.168.1.6): 56 data bytes
64 bytes from 192.168.1.6: seq=0 ttl=63 time=6.690 ms

--- 192.168.1.6 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 6.690/6.690/6.690 ms

中間ルータに次のルールを追加する場合:

iptables -I FORWARD -s 172.17.0.0/16 -d 192.168.1.0/24 -j DROP

192.168.1.0/24これにより、このホストはネットワーク上のどのホストにも接続できなくなります。

/ # ping -c1 192.118.1.1
PING 192.118.1.1 (192.118.1.1): 51 data bytes

--- 192.118.1.1 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

ただし、適切なルールを追加すると、次のようになりますACCEPT

iptables -I FORWARD -s 172.17.0.0/16 -d 192.168.1.1 -j ACCEPT

その後、次の接続を復元しました192.168.1.1

/ # ping -c1 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=63 time=0.484 ms

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.484/0.484/0.484 ms

ネットワーク上の他のホストへの接続が192.168.1.0/24ブロックされ続ける場合:

/ # ping -c1 192.168.1.6
PING 192.168.1.6 (192.168.1.6): 56 data bytes

--- 192.168.1.6 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

これら2つのルールを追加すると、FORWARDチェーンは次のようになります。

# iptables -S FORWARD
-P FORWARD ACCEPT
-A FORWARD -s 172.17.0.0/16 -d 192.168.1.1/32 -j ACCEPT
-A FORWARD -s 172.17.0.0/16 -d 192.168.1.0/24 -j DROP

おすすめ記事