Linux에서 Ping 응답(ICMP)을 비활성화한 다음 복원하는 방법은 무엇입니까?

Linux에서 Ping 응답(ICMP)을 비활성화한 다음 복원하는 방법은 무엇입니까?

특정 서비스가 제대로 작동하는지 확인하기 위해 지속적으로 핑을 보내 해당 서비스의 활성 상태를 테스트하려고 합니다. 주소( )에 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 규칙을 나열할 수 있습니다.

원천:https://www.howtouselinux.com/post/disable-ping-in-linux

관련 정보