서브넷에서 ICMP 에코 요청을 차단하는 방법

서브넷에서 ICMP 에코 요청을 차단하는 방법

내 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에 핑을 보내는 것을 원하지 않습니다.

답변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전체 서브넷에 영향을 미칩니다.

관련 정보