Alejandro Ll.L. - SysAdmin

Bloqueo de trafico con IPDeny y FirewallD o Iptables

Sobre mi:

aficionada_pila86@icloud.com

@jandrollama

¿Qué es el bloqueo por país en un servidor Linux?

El bloqueo de tráfico por país permite filtrar y rechazar conexiones de ciertas regiones del mundo, poniendo límites en tu servidor según la procedencia de las IP. Así evitas accesos indeseados, ataques automatizados y reduces el “ruido” en tus logs, quedándote solo con el tráfico que te interesa.
En este artículo te enseño cómo bloquear países fácilmente en Rocky Linux y otras distros, guiado paso a paso, usando ipset e iptables. Si tu web solo es útil para España y te llega tráfico de Israel o EEUU, aquí aprenderás a darle al botón de “No molestar”.

Cómo bloquear el tráfico de ciertos países usando ipset e iptables en Rocky Linux — Guía paso a paso

¿Te ha pasado que tu servidor recibe conexiones sospechosas desde países con los que no tienes absolutamente ninguna relación? ¿Te llegan intentos de acceso desde China, Brasil o EE.UU. cuando tu web solo interesa en España? Y ya si ves tráfico intenso de Israel… ¡de Israel no puede venir nada bueno para nuestro servidor! (A no ser que sea su famoso hummus, pero mejor no arriesgarse… ¡broma sysadmin!).

Si buscas bloquear IPs de un país específico de forma eficiente y robusta, aquí tienes el tutorial actualizado para Rocky Linux, RHEL, CentOS, AlmaLinux, Debian y compatibles.


¿Por qué bloquear IPs por país?

El bloqueo geográfico es muy útil para:

  • Reducir ataques automatizados.

  • Ahorrar recursos.

  • Cumplir políticas de acceso o legislación local.

  • Filtrar únicamente al público que realmente te interesa.


Paso 1: Instala ipset e iptables

En sistemas tipo Red Hat (Rocky, Alma, CentOS):

bash
sudo dnf install ipset iptables

En sistemas tipo Debian/Ubuntu:

bash
sudo apt install ipset iptables


Paso 2: Descarga la lista de rangos IP del país a bloquear

Por ejemplo, para Israel (“il”), desde ipdeny.com:

bash
sudo wget -O /etc/il.zone https://www.ipdeny.com/ipblocks/data/countries/il.zone


Paso 3: Crea el set de IPs con ipset

bash
sudo ipset create ilhash hash:net


Paso 4: Añade los rangos al set

bash
for i in $(cat /etc/il.zone); do sudo ipset add ilhash $i; done


Paso 5: Bloquea el tráfico con iptables

Opción clásica, máxima prioridad:

bash
sudo iptables -I INPUT -m set --match-set ilhash src -j DROP

Alternativa para añadir al final de tu cadena de reglas:

bash
sudo iptables -A INPUT -m set --match-set ilhash src -j DROP

Ambas opciones bloquean cualquier conexión entrante cuyo origen pertenezca a uno de los rangos de Israel.


Paso 6: Haz persistentes los cambios tras reinicio

Para ipset:

bash
sudo ipset save > /etc/ipset.rules

Y añade en /etc/rc.local (o crea un servicio systemd):

bash
ipset restore < /etc/ipset.rules

Para iptables:

En Rocky/CentOS clásico:

bash
sudo service iptables save

O usa el método más compatible:

bash
sudo iptables-save > /etc/iptables/rules.v4


Más países, misma técnica

¿Quieres bloquear más sitios? Cambia el código de país (“us” para EEUU, “ru” para Rusia, etc.) y repite el proceso creando un set y regla para cada uno.


Monitorización y trucos útiles

  • Consulta tus ipset activos:

    bash
    sudo ipset list

  • Revisa tus reglas iptables:

    bash
    sudo iptables -L -v --line-numbers

  • Borra una entrada concreta (por ejemplo, si luego sí te interesa Israel):

    bash
    sudo ipset del ilhash 185.12.0.0/16


Nota final con humor de sysadmin

¿No te resulta curioso ese tráfico raro de Ohio o Tel Aviv a tu web sobre viajes a Tailandia? A veces los logs parecen una vuelta al mundo virtual. Recuerda: si bloqueas por error España, ¡no vengas llorando… y haz un backup antes de jugar con firewalls!

¿Te ha ayudado la guía? ¡Comparte tus batallas de sysadmin en los comentarios y seguimos aprendiendo!

Conocimientos y experiencia

Técnicos

Dominio de sistemas operativos, especialmente Linux y Windows Server

Comprensión profunda de redes, incluyendo protocolos como DNS, DHCP y VPN

Tecnologías

Servidores Web: Apache , NGINX, , tomcat…

Gestion de base de Datos: MySql, MsSQL, Oracle…

Automatización

Conocimientos en PowerShell y Shell

Bases para automatizar y gestionar mediante Ansible y Terraform

Proyectos

En construcción

Lorem ipsum dolor sit amet consectetur adipiscing.

En construcción

Lorem ipsum dolor sit amet consectetur adipiscing.

El Auge del TLP

Crisis Silenciosa

Conoce Tailandia

Organiza el viaje a Asia sin complicaciones

He trabajado con...

logicalis-spain-logo-Alejandro- Llamazares-lopez
BBVA-spain-logo-Alejandro- Llamazares-Lopez
Equinix-spain-logo-Alejandro- Llamazares-Lopez

Phone

(+34) 6XX XX XX XX52-6258

Copyright © 2025 Divi. All Rights Reserved.