특정 서비스가 제대로 작동하는지 확인하기 위해 지속적으로 핑을 보내 해당 서비스의 활성 상태를 테스트하려고 합니다. 주소( )에 ping을 보내 192.168.20.1
"활성"인지 확인합니다 .
iptables를 통해 비활성화하려고 시도했지만 sudo iptables -I OUTPUT -s 192.168.20.1 -j DROP
해당 IP 주소를 사용하면 여전히 패킷이 송수신됩니다.ping
/etc/sysctl.conf
또한 파일을 편집 하고 추가한 net.ipv4.icmp_echo_ignore_all=1
다음 다시 시작해도 sysctl -p
성공하지 못했습니다. 방금 192.168.20.1
스틸에 핑을 보냈고 성공적으로 응답을 받았습니다.
ping
명령이 내 호스트에 패킷을 성공적으로 반환할 수 없도록 IP 주소를 차단하는 방법이 있습니까 ? 또한, 반품에 대한 정보를 주시면 매우 감사하겠습니다.
해결책
다음 줄을 사용하면 icmp 프로토콜을 간단히 차단할 수 있습니다.
iptables -A OUTPUT --proto icmp -j DROP
Linux ping
명령은 ICMP를 통해 작동하므로 네트워킹을 위해 해당 명령을 삭제하면 ping이 실패하게 됩니다. 로 변경하는 것이 다시 되돌리는 방법 -A
입니다 .-D
답변1
여러 가지 옵션
sudo echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1 && sysctl -p
sudo iptables -A INPUT -p icmp –icmp-type echo-request -j REJECT
sudo iptables -A INPUT -p icmp –icmp-type echo-request -j DROP
sudo iptables -A OUTPUT -p icmp –icmp-type echo-reply -j DROP
Giacomo가 말했듯이 아마도 그 전에 다른 규칙이 적용되어 있기 때문에 귀하의 사용이 -I
의미가 있다고 생각합니다 . OUTPUT
올바른 대상 컴퓨터에 규칙을 설치하셨나요?
위의 방법 중 어느 것도 작동하지 않으면 iptables 규칙을 나열할 수 있습니다.