Bloquear IP entrante en servidor web usando IpTables

La función iptables se puede usar como filtro para conexiones al servidor y tomar medidas de seguridad en acceso y intento de ataques DoS. Si queremos bloquear conexiones desde determinada ip, hay que añadir a iptables la regla siguiente:

#iptables -A INPUT -s x.x.x.x -j DROP

Es decir, cuando la ip x.x.x.x haga una conexión la ignora

-A es agregar una regla, lo que continua es la definicion de la regla.
INPUT indica que la regla se aplica a conexiones entrantes  otros equipos hacia nuestro servidor).
-s se antepone a la fuente de la conexión: la IP. Se puede especificar el nombre del host pero implica usar el servicio de DNS para resolver la IP por lo que no es recomendable.
x.x.x.x Es la ip a desea bloquear.
-j Indica qué hacer cuando se detecte conexión entrante. En este caso ejecuta la opción DROP.
DROP ignora las peticiones.

Cómo desbloquear una Ip

Será la misma orden anterior cambiando -A por -D. Veamos un ejemplo:

# iptables -D INPUT -s x.x.x.x -j DROP

Cómo mostrar las Ip’s bloqueadas

#iptables -L INPUT -v -n

Cómo buscar si una ip ya la tenemos bloqueada

# /sbin/iptables -L INPUT -v -n | grep 1.2.3.4