私のLinuxボックスには2つのNICSがあります。
br0 192.168.1.0/24 (192.168.1.1 server)
eth1 192.168.2.0/24 lan1
eth2 192.168.3.0/24 lan2
[...]
eth1からbr0へ、eth2からbr0へのパスがあります。
同じサブネットのeth1からicmpエコー要求を削除しました。
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
しかし、192.168.1.1の192.168.2.0/24ネットワークから来るicmpエコー要求だけをブロックしたいと思います。
したがって、192.168.2.0/24のクライアントが192.168.1.1にpingを送信したくありません。
答え1
「-s」を使用して送信元IPまたはサブネットを指定し、「-d」を使用して宛先IPまたはサブネットを指定する必要があります。以下はサンプルルールです。
iptables -A INPUT -s 192.168.2.0/24 -d 192.168.1.1/32 -p icmp -m hashlimit --hashlimit-upto 3/sec --hashlimit-burst 5 --hashlimit-mode srcip,dstip --hashlimit-name xticmp -m icmp --icmp-type 8 -j DROP
iptables -A INPUT -s 192.168.2.0/24 -d 192.168.1.1/32 -p icmp -m hashlimit --hashlimit-upto 3/sec --hashlimit-burst 5 --hashlimit-mode srcip,dstip --hashlimit-name xticmp -m icmp --icmp-type 30 -j DROP
答え2
確認するman iptables
:
[!] -s, --ソースアドレス[/mask][,...]
-s 192.168.2.0/24
サブネット全体に影響を与えます。