
Tengo una máquina Centos 7 con FirewallD y net.ipv4.conf.icmp_echo_ignore_all está configurado en 0. Estoy buscando algunas configuraciones de firewall para deshabilitar las respuestas de ping a direcciones IP externas, pero permitir algunos bloqueos de IP (como 192.168.1.0/ 24, 10.0.0.0/8, etc.) para obtener respuestas de ping.
¿Cómo puedo hacer eso?
Respuesta1
Aquí hay una solución coniptables
[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 192.168.0.0-192.168.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 10.0.0.0-10.255.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -p ICMP --icmp-type 8 -j DROP
Así es como debería verse después:
[root@ttucker ~]# iptables -v -n -L INPUT | grep icmp
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 source IP range 192.168.0.0-192.168.255.255 icmptype 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 source IP range 10.0.0.0-10.255.255.255 icmptype 8
0 0 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
Iptables funciona evaluando las reglas que tiene en orden de arriba a abajo en una cadena determinada. En este caso es la cadena INPUT. Cuando iptables encuentra una regla que coincide con sus condiciones, realiza la acción especificada en -j
.
Entonces, en este ejemplo, indicamos que si la fuente es 10.0.0.0/8 o 192.168.0.0/16, la acción es ACCEPT
. Si la dirección de origen no está en ese rango, entonces se aplica la tercera regla que establece DROP
.
Nota: también debe asegurarse de no tener ninguna regla actual que acepte todo el tráfico ICMP anterior a estas reglas.
Los -A INPUT
medios para agregar a la INPUT
cadena. Por lo tanto, primero desea enumerar toda la cadena de entrada y eliminar cualquier otra regla ICMP que exista allí.
A continuación se explica cómo enumerar las reglas de la cadena de ENTRADA:
iptables -v -n -L INPUT
Déjame saber si esto funciona para ti o si tienes alguna pregunta adicional.