Página principal » cómo » Usando Iptables en Linux

    Usando Iptables en Linux

    Esta guía intentará explicar cómo usar iptables en Linux en un lenguaje fácil de entender.

    Contenido

    [esconder]

    • 1. Información general
    • 2 Usage
      • 2.1 Bloqueo de una única dirección IP
      • 2.2 Permitir todo el tráfico desde una dirección IP
      • 2.3 Bloqueo de un puerto desde todas las direcciones
      • 2.4 Permitiendo un solo puerto desde una única IP
      • 2.5 Viendo las reglas actuales
      • 2.6 Limpiando las Reglas Actuales
    • 3 Distribución específica
      • 3.1 Gentoo

    Visión general

    Iptables es un firewall basado en reglas, que procesará cada regla en orden hasta que encuentre una que coincida.

    Todo: incluir ejemplo aquí

    Uso

    La utilidad iptables normalmente está preinstalada en su distribución de Linux, pero en realidad no ejecuta ninguna regla. Encontrará la utilidad aquí en la mayoría de las distribuciones:

    / sbin / iptables

    Bloqueo de una sola dirección IP

    Puede bloquear una IP usando el parámetro -s, reemplazando 10.10.10.10 con la dirección que está intentando bloquear. En este ejemplo, notará que usamos el parámetro -I (o -insert también funciona) en lugar del anexo, porque queremos asegurarnos de que esta regla aparezca primero, antes de cualquier regla de permiso..

    / sbin / iptables -I INPUT -s 10.10.10.10 -j DROP

    Permitir todo el tráfico desde una dirección IP

    Alternativamente, puede permitir todo el tráfico de una dirección IP usando el mismo comando que el anterior, pero reemplazando DROP con ACCEPT. Debe asegurarse de que esta regla aparezca primero, antes de cualquier regla DROP.

    / sbin / iptables -A ENTRADA -s 10.10.10.10 -j ACEPTAR

    Bloqueo de un puerto de todas las direcciones

    Puede bloquear un acceso completo a un puerto a través de la red utilizando el conmutador -dport y agregando el puerto del servicio que desea bloquear. En este ejemplo, bloquearemos el puerto mysql:

    / sbin / iptables -A ENTRADA -p tcp --dport 3306 -j DROP

    Permitiendo un solo puerto desde una sola IP

    Puede agregar el comando -s junto con el comando -dport para limitar aún más la regla a un puerto específico:

    / sbin / iptables -A ENTRADA -p tcp -s 10.10.10.10 --dport 3306 -j ACEPTAR

    Viendo las reglas actuales

    Puedes ver las reglas actuales usando el siguiente comando:

    / sbin / iptables -L

    Esto debería darle una salida similar a la siguiente:

    ENTRADA de la cadena (política ACEPTAR) destino protección origen de origen ACEPTAR todo - 192.168.1.1/24 en cualquier lugar ACEPTAR todo - 10.10.10.0/24 en cualquier lugar DROP tcp - en cualquier lugar tcp dpt: ssh DROP tcp - en cualquier lugar tcp dpt mysql

    La salida real será un poco más larga, por supuesto..

    Borrar las reglas actuales

    Puede borrar todas las reglas actuales usando el parámetro de descarga. Esto es muy útil si necesita poner las reglas en el orden correcto o cuando está probando.

    / sbin / iptables - flush

    Distribución específica

    Si bien la mayoría de las distribuciones de Linux incluyen una forma de iptables, algunas de ellas también incluyen envoltorios que facilitan un poco la administración. La mayoría de las veces, estos "complementos" toman la forma de scripts de inicio que se encargan de inicializar iptables en el inicio, aunque algunas distribuciones también incluyen aplicaciones de envoltorio en toda regla que intentan simplificar el caso común..

    Gentoo

    los iptables El script de inicio en Gentoo es capaz de manejar muchos escenarios comunes. Para empezar, le permite configurar iptables para cargar en el inicio (generalmente lo que quiere):

    rc-update agrega iptables por defecto

    Usando el script de inicio, es posible cargar y borrar el firewall con un comando fácil de recordar:

    /etc/init.d/iptables start /etc/init.d/iptables stop

    El script de inicio maneja los detalles de la persistencia de la configuración actual del cortafuegos en el inicio / detención. Por lo tanto, su firewall está siempre en el estado en que lo dejó. Si necesita guardar manualmente una nueva regla, el script de inicio también puede manejar esto:

    /etc/init.d/iptables guardar

    Además, puede restaurar su firewall al estado guardado anterior (en el caso de que estuviera experimentando con reglas y ahora quiera restaurar la configuración de trabajo anterior):

    /etc/init.d/iptables recargar

    Finalmente, el script de inicio puede poner a iptables en un modo de "pánico", donde se bloquea todo el tráfico entrante y saliente. No estoy seguro de por qué este modo es útil, pero todos los firewalls de Linux parecen tenerlo.

    /etc/init.d/iptables panic

    Advertencia: No inicie el modo de pánico si está conectado a su servidor a través de SSH; tú será estar desconectado La única vez que debe poner iptables en modo de pánico es mientras está físicamente frente a la computadora.