특정 IP 주소로부터의 핑 차단

특정 IP 주소로부터의 핑 차단

내 서버는 Ubuntu 12.04입니다:-> IP 192.168.56.100클라이언트 Ubuntu 13.04가 있습니다:->IP 192.168.56.101

클라이언트에서 서버로의 핑을 차단해야 하므로 IPTABLE 규칙을 작성했습니다.

iptables -A INPUT -i eth0 -p ICMP -s 192.168.56.101 -j DROP

이제 클라이언트는 서버에 핑을 보낼 수 없습니다. 그 부분은 괜찮지만, 서버는 클라이언트에 핑을 보낼 수 없습니다. 이런 일이 일어나서는 안 됩니다. 이 규칙을 추가하기 전에는 서버와 클라이언트가 서로 ping할 수 있었습니다.

내가 여기서 무엇을 놓치고 있는지 말해 주세요...

주어진 답변은 정확하지만 어떻게 작동합니까...??? echo-request를 추가하면 --icmp-type문제가 해결되지만 이 규칙은 INPUT 체인 규칙에 추가되므로 클라이언트에 대한 핑을 차단하므로 이 규칙이 어떻게 OUTPUT 체인을 망칠 수 있습니까?

답변1

내가 이해한 대로 ping명령은 ICMP 에코 요청을 호스트에 보낸 다음 호스트는 ICMP 에코 응답을 응답합니다. 따라서 ICMP를 모두 차단하면 ping이 전혀 작동하지 않습니다.

다음을 추가해야 합니다.

iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -s 192.168.56.101 -j DROP

요청만 차단하고 응답은 차단하지 않습니다.

댓글로 질문에 답하기

나가는 ping 요청을 차단하지 않습니다. 들어오는 모든 ICMP 패킷을 차단하고 있습니다.

실행할 때 ping:

  1. pingICMP 요청 패킷을 192.168.56.101(ICMP에서 나가는 것입니다) 로 보냅니다.

  2. 192.168.56.101이 패킷을 받고 보내세요ICMP 패킷에 응답서버로 돌아가기

  3. 이제 귀하의 서버 iptables는 들어오는 응답 패킷을 차단합니다. 그것이 바로 지금 일어나고 있는 일입니다.

sudo tcpdump ip proto \\icmp에서 이 명령을 사용하여 확인할 수 있습니다 192.168.56.101. 모든 ICMP 요청/응답이 온라인으로 표시됩니다.

이 작업을 수행:

  1. 서버에서 이 규칙을 제거하십시오:

    iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -s 192.168.56.101 -j DROP

  2. 서버에 다음 규칙을 추가하세요.

    iptables -A INPUT -i eth0 -p ICMP -s 192.168.56.101 -j DROP

  3. 이제 다음에서 이 명령을 실행하십시오 192.168.56.101.

    sudo tcpdump ip proto \\icmp

  4. ping 192.168.56.101서버에서 실행합니다 .

192.168.56.101이제 ping 요청을 수신하고 응답을 보내는 것을 볼 수 있습니다 . 그러나 서버의 iptables는 이 응답을 차단합니다.

답변2

분명히 당신은 어떤 대답도 돌려받지 못할 것입니다. 핑 요청은 두 부분으로 구성됩니다.

  • 클라이언트 -> 서버: ICMP 에코 요청(일명 "ping")
  • 서버 -> 클라이언트: ICMP echo-reply(일명 "pong")

모든 유형의 ICMP를 차단하면문제를 일으키다. 클라이언트의 "핑"(PING 요청 전송)을 방지하려면 클라이언트에서 다음 규칙을 사용하십시오.섬기는 사람:

-A INPUT -i eth0 -s 192.168.56.101/32 -p ICMP --icmp-type echo-request -j DROP

클라이언트가 처음에 ICMP 핑 요청을 보내는 것을 방지하려면 이 규칙을 클라이언트에 적용하면 됩니다.고객:

-A OUTPUT -o eth0 -d 192.168.56.100/32 -p ICMP --icmp-type echo-request -j DROP

하지만 클라이언트 측에서 클라이언트가 단일 IP 주소를 핑하는 것을 차단하는 것을 방지하는 것은 매우 이례적입니다. 당신이 이렇게 하는 유일한 이유는 당신의 임무가 다음을 요구하기 때문입니다.아니요ICMP ping 패킷은 네트워크를 통해 클라이언트에서 서버로 전달됩니다.

그런데 왜 LAN에서 ping 요청을 차단하려는지 궁금합니다. ARP를 사용하면 클라이언트는 이 서버가 네트워크에 연결되어 있다는 것을 계속 알 수 있습니다.

관련 정보