Bloquear ping desde una dirección IP particular

Bloquear ping desde una dirección IP particular

Mi servidor es Ubuntu 12.04:-> IP 192.168.56.100Tengo un cliente Ubuntu 13.04:->IP 192.168.56.101

Tengo que bloquear el ping del cliente al servidor. Entonces escribí la regla IPTABLE.

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

Ahora el cliente no puede hacer ping al servidor, esa parte está bien, pero el servidor no puede hacer ping al cliente, lo cual no debería estar sucediendo. Antes de agregar esta regla, tanto el servidor como el cliente podían hacer ping entre sí.

Por favor dime qué me estoy perdiendo aquí...

Las respuestas dadas son correctas pero ¿cómo funciona?...??? Agregar --icmp-typela solicitud de eco resuelve el problema, pero esta regla se agrega a las reglas de la cadena de ENTRADA, entonces, ¿cómo puede esta regla alterar la cadena de SALIDA, ya que está bloqueando el ping al cliente?

Respuesta1

Según tengo entendido, pingel comando envía una solicitud de eco ICMP al host y luego el host responde una respuesta de eco ICMP. Entonces, si bloquea todo ICMP, el ping no funciona en absoluto.

Deberías agregar esto:

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

Esto bloqueará solo la solicitud, pero no la respuesta.

Respondiendo a tu pregunta en los comentarios.

No bloquea la solicitud de ping saliente. Está bloqueando todos los paquetes ICMP entrantes.

Cuando ejecutas ping:

  1. pingenviar paquete de solicitud ICMP a 192.168.56.101(es ICMP saliente)

  2. 192.168.56.101recibir este paquete y enviarresponder paquete ICMPvolver a tu servidor

  3. Ahora las iptables de su servidor bloquean este paquete de respuesta entrante. Eso es lo que está pasando.

Puedes comprobarlo usando este comando sudo tcpdump ip proto \\icmpen 192.168.56.101. Le mostrará todas las solicitudes/respuestas de ICMP en línea.

Hacer esto:

  1. Elimine esta regla del servidor:

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

  2. Agregue esta regla a su servidor:

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

  3. Ahora ejecute este comando en 192.168.56.101:

    sudo tcpdump ip proto \\icmp

  4. Ejecutar ping 192.168.56.101en el servidor.

Ahora debería ver 192.168.56.101que recibe la solicitud de ping y envía la respuesta. Pero iptables en el servidor bloquea esta respuesta.

Respuesta2

Obviamente no recibirás ninguna respuesta. Una solicitud de ping tiene dos partes:

  • Cliente -> Servidor: solicitud de eco ICMP (también conocida como "ping")
  • Servidor -> Cliente: respuesta de eco ICMP (también conocido como "pong")

Bloquear todos los tipos de ICMPtraer problemas. Si desea evitar que el cliente haga "ping" (envíe una solicitud PING), utilice la siguiente regla en elservidor:

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

Para evitar que el cliente envíe una solicitud de ping ICMP en primer lugar, puede aplicar esta regla en elcliente:

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

Es muy inusual evitar bloquear a un cliente para que no haga ping a una única dirección IP, aunque desde el lado del cliente. La única razón por la que harías esto es porque tu tarea requiere queNoEl paquete de ping ICMP fluye a través de la red desde el cliente, dirigido al servidor.

Sin embargo, me pregunto por qué desea bloquear las solicitudes de ping en una LAN. Con ARP, el cliente aún puede saber que este servidor está conectado a la red.

información relacionada