Provided by: manpages-es_4.27.0-1_all bug

NOMBRE

       iptables/ip6tables — Herramienta de administración para el filtrado de paquetes Ipv4 e IPv6 y NAT

SINOPSIS

       iptables [-t tabla] {-A|-C|-D|-V} cadena definición-regla

       ip6tables [-t tabla] {-A|-C|-D|-V} cadena definición-regla

       iptables [-t tabla] -I cadena [num_regla] definición-regla

       iptables [-t tabla] -R cadena numregla definición-regla

       iptables [-t tabla] -D cadena numregla

       iptables [-t tabla] -S [cadena [numregla]]

       iptables [-t tabla] {-F|-L|-Z} [cadena [numregla]] [opciones...]

       iptables [-t tabla] -N cadena

       iptables [-t tabla] -X [cadena]

       iptables [-t table] -P chain policy

       iptables [-t tabla] -E antiguo-nombre-cadena nuevo-nombre-cadena

       rule-specification := [matches...] [target]

       match := -m matchname [per-match-options]

       target := -j targetname [per-target-options]

DESCRIPCIÓN

       iptables  y  ip6tables  se  usan  para  definir,  mantener  e inspeccionar las tablas para el filtrado de
       paquetes Ipv4 e Ipv6 del núcleo de Linux. Es posible definir varias tablas y cada una de  ellas  contiene
       varias cadenas predefinidas y también puede incluir cadenas definidas por el usuario.

       Una  cadena consiste en una lista de reglas que pueden concordar con un conjunto de paquetes en lo que se
       denomina un 'objetivo' que puede llevar hasta una cadena definida por  el  usuario  dentro  de  la  misma
       tabla.

OBJETIVOS

       Una  regla  del  cortafuegos define un criterio para un paquete y un objetivo. Si el paquete no concuerda
       con ese criterio, se analiza la regla siguiente de la cadena. Si concuerda, la siguiente regla a  aplicar
       vendrá  dada  por el 'objetivo', éste podrá ser el nombre de una cadena que haya definido el usuario, uno
       de los objetivos descrito en iptables-extensions(8) o uno  de  los  valores  especiales  ACCEPT,  DROP  o
       RETURN.

       ACCEPT  indica que se permita el paso al paquete. DROP descarta el paquete mientras que RETURN indica que
       se debe dejar esta cadena y reanudar en la siguiente regla en la cadena anterior. Si se alcanza el  final
       de una cadena predefinida o existe una concordancia con una cadena predefinida con el objetivo RETURN, el
       destino del paquete vendrá dado por el objetivo definido en la norma de la cadena.

TABLAS

       Actualmente  existen  cinco  tablas  independientes.  Según la configuración del núcleo y de sus módulos,
       tendremos unas u otras tablas presentes.

       -t, --table tabla
              Esta opción define la tabla de concordancia de paquetes con que la orden debe operar. Si el núcleo
              está configurado para cargar módulos dinámicamente, se intentará cargar  el  necesario  para  esta
              tabla si no lo está ya.

              Las tablas son las siguientes:

              filter:
                  Esta  es  la  tabla  por  defecto  (si  no se ha definido la opción -t). Contiene tres cadenas
                  predefinidas: INPUT para paquetes con destino a conectores locales), FORWARD para paquetes con
                  destino a otros equipos, y OUTPUT para paquetes creados en el propio equipo.

              nat:
                  Se consulta esta tabla cada vez que se topa con un paquete que trata de iniciar una  conexión.
                  Consta  de  cuatro  elementos predefinidos: PREROUTING para modificar paquetes tan pronto como
                  llegan, INPUT para los paquetes con destino a un conector  local,  OUTPUT  para  los  paquetes
                  generados  desde el propio equipo antes de ser enrutados y POSTROUTING para alterar paquetes a
                  punto de salir. La implementación de IPV6 NAT está disponible desde la versión 3.7 del núcleo.

              mangle:
                  Esta tabla se emplea para alteraciones especiales de paquetes. Hasta  la  versión  2.4.17  del
                  núcleo,  disponía  de  dos  cadenas predefinidas: PREROUTING para modificar paquetes entrantes
                  antes de ser enrutados y OUPUT para modificar paquetes creados en el  propio  sistema  también
                  antes  de  ser  enrutados.  Desde  la  versión  2.4.18,  están  disponibles  otras trescadenas
                  predefinidas: INPUT para los paquetes que llegan al  propio  equipo,  FORWARD  para  modificar
                  paquetes enrutados a través del equipo y POSTROUTING para modificar paquetes que están a punto
                  de salir.

              raw:
                  Esta  tabla  se  usa  principalmente  para  la  configuración de excepciones al seguimiento de
                  conexiones con el objetivo NOTRACK. Se anota en el gancho netfilter con  una  mayor  prioridad
                  haciendo  que  se interprete antes que ip_conntrack y qe cualquier otra tabla. Proporciona las
                  siguientes cadenas predefinidas: PREROUTING para paquetes entrantes desde  cualquier  interfaz
                  de red, OUTPUT para paquetes creados por procesos locales.

              security:
                  Esta  tabla  se  usa cuando se imponen reglas de control de acceso (MAC)para el tráfico de red
                  tales como los establecidos por los objeticos SECMARK y CONNSECMARK. El control de  acceso  se
                  implementa  mediante  módulos  de  seguridad  de  Linux como SELinux. La tabla de seguridad se
                  interpreta después de la de filtrado (filter)  permitiendo  que  cualquier  regla  de  control
                  discrecional  de  acceso  (DAC) que contenga la tabla de filtrado pueda aplicarse antes de las
                  reglas MAC. Esta tabla contiene las siguientes cadenas predefinidas: INPUT para  los  paquetes
                  creados en el propio equipo, OUTPUT para modificar paquetes creados en el propio sistema antes
                  de ser enrutados y FORWARD para modificar paquetes enrutados a través de este equipo.

OPCIONES

       Las opciones reconocidas por iptables y ip6tables se dividen en varios grupos.

   ORDENES
       Estas  opciones definen las acciones que se desea realizar. Solo una de ellas puede definirse en la línea
       de órdenes salvo que se especifique otra cosa. Para usar  las  versiones  largas  de  de  las  ordenes  y
       opciones,  solo  es necesario asegurarse de usar suficientes letras para que iptables puede distinguirlas
       del resto.

       -A, --append cadena especificación-de-regla
              Añade una o más reglas al final de la cadena seleccionada. Cuando  el  nombre  del  origen  o  del
              destino  se  pueda traducir a más de una dirección, deberá añadirse una regla para cada una de las
              combinaciones posibles.

       -C, --check cadena especificación-de-regla
              Comprueba si existe una regla que concuerda con la especificación en la cadena seleccionada.  Esta
              orden  emplea  el  mismo  sistema que -D para encontrar una entrada concordante pero no modifica a
              configuración actual de iptables y utiliza su estado de salida para indicar su éxito o error.

       -D, --delete cadena especificación-de-regla
       -D, --delete cadena numregla
              Borra una o más reglas de la cadena seleccionada. Existen dos versiones de esta  orden:  la  regla
              puede definirse como un número en la cadena (el 1 sería la primera regla) o una regla concordante.

       -I, --insert chain [numregla] especificación-de-regla
              Inserta  una o más reglas con el número indicad en la cadena seleccionada. Así, si el número de la
              regla es el 1, dicha regla se insertará al inicio de la cadena. También se pone al inicio si no se
              indica ningún número.

       -R, --replace cadena numregla especificación-de-regla
              Sustituye una regla en la cadena seleccionada. Si el origen o el destino pueden resolver a más  de
              una dirección, la ejecución fallará. Las reglas se numeran empezando por el número uno.

       -L, --list [cadena]
              Muestra  todas  las  reglas  en  la  cadena  seleccionada.  Si no se selecciona ninguna cadena, se
              mostrarán todas. Aligual que con cualquier  otra  orden  de  iptables,  se  aplicará  a  la  tabla
              especificada (por defecto la de filtrado). Así para ver las reglas NAT deberá ejecutar:
               iptables -t nat -n -L
              Suele  utilizarse con la opción -n para evitar largas búsquedas de DNS. También es posible definir
              la opción -Z (cero), en cuyo caso las cadenas se enumerarán y se pondrán a cero de una e  una.  El
              resultado  exacto  se  ve  afectado por los otros argumentos dados. Las reglas exactas se suprimen
              hasta que se ejecute:
               iptables -L -v
              o bien iptables-save(8).

       -S, --list-rules [cadena]
              Muestra todas las reglas de la cadena seleccionada. Si no se define ninguna  cadena,  se  muestran
              todas  como  en iptable-save. Al igual que cualquier otra orden de iptables, se aplica en la tabla
              definida (por defecto 'filter').

       -F, --flush [cadena]
              Elimina la cadena seleccionada (todas las  cadenas  de  la  tabla  si  no  se  define  ninguna  en
              concreto). Esto es lo mismo que borrar todas las reglas una por una.

       -Z, --zero [cadena [reglanum]]
              Resetea el paquete y el contador de bytes en todas las cadenas, solo en la cadena indicada, o solo
              en  una  determinada  regla de una cadena. De igual modos, es posible definir la opción -L, --list
              (lista) para ver los contadores justo antes de resetearse (consulta más atrás).

       -N, --new-chain cadena
              Crea una nueva cadena con el nombre  dado.  No  puede  existir  ningún  objetivo  con  ese  nombre
              previamente.

       -X, --delete-chain [cadena]
              Elimina  la cadena opcional definida por el usuario. No puede quedar ninguna referencia a ella, si
              las hubiese tendrán que eliminarse o modificarse dichas  reglas  para  que  pueda  eliminarse.  La
              cadena  tendrá  que  estar  vacía,  no  contener  ninguna regla. Si no se indica ningún argumento,
              intentará eliminar todas las cadenas no nativas de la tabla. Las  cadenas  vacías  preconfiguradas
              sólo podrán eliminarse mediante iptables-nft.

       -P, --policy cadena objetivo
              Define  la  norma  que  se  aplicará  para  la  cadena nativa (no definida por el usuario) para el
              objetivo definido. Dicha norma tiene que ser ACCEPT o DROP.

       -E, --rename-chain nombre-antiguo nombre-nuevo
              Renombra la cadena definida con el nombre dado. Esto solo tiene un efecto estético no afectando  a
              la estructura de la tabla.

       -h     Ayuda. Proporciona una muy breve descripción de la sintaxis de la orden.

   PARÁMETROS
       Los  siguientes  parámetros  componen  una  definición  de  regla (tal como se emplea en las órdenes add,
       delete, insert, replace y append).

       -4, --ipv4
              Esta opción no tiene ningún efecto sobre iptables ni iptables-restore. Si se inserta una regla con
              la opción -4 con (y solo con) ip6tables-restore, se ignorará sin más. Cualquier  otra  posibilidad
              emitirá  un  error. Esta opción permite incluir reglas IPv4 e IPv6 en un mismo archivo para que lo
              puedan utlizar tanto iptables-restore como ip6tables-restore.

       -6, --ipv6
              Esta opción no tiene ningún efecto sobre ip6tables ni ip6tables-restore. Si se inserta  una  regla
              con  la  opción  -6  con  (y  solo  con)  iptables-restore,  se  ignorará  sin más. Cualquier otra
              posibilidad emitirá un error. Esta opción permite incluir reglas IPv4 e IPv6 en un  mismo  archivo
              para que lo puedan utlizar tanto iptables-restore como ip6tables-restore.

       [!] -p, --protocol protocolo
              El  protocolo  de  la regla o del paquete a comprobar. Dicho protocolo pueder ser alguno de estos:
              tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh o el comodín "all", también puede ser  un  valor
              numérico  en  representación  de  un  de  estos protocolos o de otro diferente. También es posible
              indicar un nombre incluido en /etc/protocols. El carácter "!" invierte la orden  dada.  El  número
              '0' equivale a all concordando con todos lo protocolos y será el comportamiento por defecto cuando
              se omita esta opción. No se permite el uso de extensiones del encabezado IPv6 salvo esp. Tanto esp
              como  ipv6-nonext  pueden  usarse a partir de la versión 2.6.11 del núcleo. El hecho de que el '0'
              sea equivalente a todos los protocolos hace que no sea posible chequear directamente si este campo
              tiene el valor '0'. Para buscar la concordancia con un encabezado HBH, aunque sea el último, no se
              puede usar -p 0 si -m hbh.

       [!] -s, --source dirección[/máscara][,...]
              Definición del origen. Dirección puede ser un nombre de red, un nombre de equipo, una dirección IP
              de red (con /máscara) o una dirección IP simple. Los nombres de equipo se resolverán solo una vez,
              antes de enviar la regla al núcleo. No es buena idea especificar cualquier  nombre  para  resolver
              con  una  consulta remota como DNS. La máscara puede ser una máscara de red ipv4 (para iptables) o
              un número simple, especificando el número de unos en el lado izquierdo de la máscara de  red.  Por
              lo  tanto, una máscara de iptables de 24 es equivalente a 255.255.255.0. El argumento '!' antes de
              especificar la dirección invertirá el sentido de la dirección. El indicador --src es un alias para
              esta opción. Se pueden especificar varias direcciones, pero hará expandir a múltiples  reglas  (al
              agregar con -A) o provocará que se eliminen múltiples reglas (con -D).

       [!] -d, --destination dirección[/máscara][,...]
              Definición  del  destino.  Consulte  la  descripción  del  indicador  -s (fuente) para obtener una
              descripción detallada de la sintaxis. El indicador --dst es un alias para esta opción.

       -m, --match match
              Define una concordancia para usar, es decir, un módulo de extensión que  comprueba  una  propiedad
              específica. El conjunto de concordancias será la condición bajo la cual se invoca un objetivo. Las
              concordancias  se  evalúan  del primero al último según lo especificado en la línea de órdenes. la
              evaluación se detendrá tan pronto el resultado de una extensión resulte falso.

       -j, --jump objetivo
              Esto definirá el objetivo de la regla; es decir, qué hacer si el paquete  concuerda.  El  objetivo
              puede  ser  una  cadena  definida  por el usuario (distinta de aquella en la que se encuentra esta
              regla), uno de los objetivos integrados especiales que  deciden  el  destino  del  paquete  o  una
              extensión  (consulte  EXTENSIONES  DE  CONCORDANCIA  Y OBJETIVO a continuación). Si esta opción se
              omite en una regla (y no se usa -g), el hecho de concordar con la regla no tendrá ningún efecto en
              el destino del paquete, pero los contadores de la regla se incrementarán.

       -g, --goto cadena
              Esto indica que el procesamiento  debe  continuar  en  una  cadena  definida  por  el  usuario.  A
              diferencia  de  la opción --jump, RETURN no continuará procesando en esta cadena sino en la cadena
              que nos invocó a través de --jump.

       [!] -i, --in-interface nombre
              Nombre de una interfaz a través de la cual se recibió un paquete (solo para paquetes que  ingresan
              a  las  cadenas  INPUT,  FORWARD  y PREROUTING).  El argumento '!' empleado antes del nombre de la
              interfaz, invertirá el significado. Si el nombre de la interfaz termina  en  '+',  concordará  con
              cualquier  interfaz  que  comience  con  este nombre. Si se omite esta opción, cualquier nombre de
              interfaz concordará..

       [!] -o, --out-interface nombre
              Nombre de una interfaz a través de la cual se va a enviar un paquete (para paquetes que entran  en
              las  cadenas FORWARD, OUTPUT y POSTROUTING). El argumento '!' antes del nombre de la interfaz hará
              que el sentido se invierta. Si el nombre de la interfaz termina con '+', concordará con  cualquier
              interfaz  que  comience  con  este  nombre.  Si se omite esta opción, cualquier nombre de interfaz
              concordará.

       [!] -f, --fragment
              Esto significa que la regla sólo se refiere al segundo y posteriores fragmentos IPv4  de  paquetes
              fragmentados.  Dado  que no es posible conocer los puertos de origen o destino de dicho paquete (o
              tipo de ICMP), dichos paquetes no concordarán con ninguna regla que  los  especifique.  Cuando  el
              argumento  '!'  precede  al  indicador  '-f', la regla solo concordarácon fragmentos principales o
              paquetes no fragmentados. Esta opción es específica de IPv4, no está disponible en ip6tables.

       -c, --set-counters paquetes bytes
              Permite al administrador inicializar los contadores de paquetes y bytes de una regla (durante  las
              operaciones INSERT, APPEND, REPLACE).

   OTRAS OPCIONES
       Pueden especificarse las siguientes opciones adicionales:

       -v, --verbose
              Salida  detallada.  Esta opción hace que la orden de listado muestre el nombre de la interfaz, las
              opciones de regla (si las hay) y las máscaras TOS. Los contadores de paquetes y bytes  también  se
              enumeran,  con  el  sufijo  'K', 'M' o 'G' para multiplicadores de 1000, 1.000.000 y 1.000.000.000
              respectivamente (consulte el indicador -x  para  modificarlo).  Ya  sea  para  agregar,  insertar,
              eliminar  o  eemplazar,  esto  mostrará información detallada sobre la regla o reglas. -v se puede
              especificar varias veces para  (posiblemente)  que  muestre  mensajes  de  depuración  más  y  más
              detallados:  si  se especifica dos veces, iptables-legacy volcará la información de la tabla y las
              entradas en libiptc, iptables-nft volcará las reglas en netlink (código VM)  presentación.  Si  se
              especifica  tres veces, iptables-nft también volcará cualquier mensaje de enlace de red enviado al
              núcleo.

       -V, --version
              Muestra la versión del programa y la API del núcleo utilizada.

       -w, --wait [segundos]
              Espere a que se bloquee xtables. Para evitar que se ejecuten varias  instancias  del  programa  al
              mismo  tiempo, se intentará obtener un bloqueo exclusivo en el inicio. Por defecto, el programa se
              cerrará si no se puede obtener el bloqueo. Con esta opción, el programa esperará  (indefinidamente
              o los segundos indicados) hasta que pueda obtener dicho bloqueo exclusivo.

       -n, --numeric
              Salida  numérica.  Las direcciones IP y los números de puerto se mostrarán en formato numérico. De
              forma predeterminada, el programa intentará mostrarlos como nombres de equipo, nombres  de  red  o
              servicios; según corresponda.

       -x, --exact
              Expande  números.  Muestra el valor exacto de los contadores de paquetes y bytes, en lugar de solo
              el número redondeado en K (múltiplos de 1000), M (múltiplos de 1000 K) o G (múltiplos de 1000  M).
              Esta opción sólo es relevante para la orden -L.

       --line-numbers
              Añade  el  número  de  línea  al  inicio  de cada regla cuando se listen las reglas, viendo así la
              posición de la regla en la cadena.

       --modprobe=orden
              Emplea orden para cargar cualquier módulo que necesite (objetivos, etc...) al  añadir  o  insertar
              reglas en una cadena.

ARCHIVO DE BLOQUEO

       iptables usa el archivo /run/xtables.lock para su bloqueo exclusivo al inicio.

       La variable de entorno XTABLES_LOCKFILE puede usarse para anular la configuración predeterminada.

CONCORDANCIAS Y EXTENSIONES DE OBJETIVO

       iptables  puede utilizar módulos de destino y concordancia de paquetes extendidos. Puede ver una lista en
       la página de manual iptables-extensions(8).

DIAGNÓSTICOS

       Varios mensajes de error se muestran por la salida de error estándar. Como es usual, el código  0  indica
       un  correcto funcionamiento. Los errores causados por parámetros no válidos o abusados causarán un código
       de salida de 2. Los errores que indican una incompatibilidad entre el núcleo y  el  espacio  del  usuario
       emiten  un  código  de  salida  de  3.  Los  errores que indican un problema de recursos, como un bloqueo
       ocupado, la asignación de memoria fallida o los mensajes de error del núcleo provocan un código de salida
       de 4. Otro tipo de errores provocarán un código de salida de 1.

ERRORES

       ¿Errores? ¿Qué será eso? ;-) Enfín, eche un vistazo en https://bugzilla.netfilter.org/ iptables terminará
       su ejecución inmediatamente con un código de error 111 si se intenta ejecutar como SUID root. iptables no
       se puede utilizar  de  forma  segura  de  esta  manera  porque  confía  en  las  bibliotecas  compartidas
       (concordancias,  objetivos)  cargadas  en  tiempo de ejecución; es posible configurar la ruta de búsqueda
       mediante variables de entorno.

COMPATIBILIDAD CON IPCHAINS

       iptables es muy similar a ipchains. La principal diferencia es que las cadenas INPUT y  OUTPUT  solo  son
       'atravesadas'  por  paquetes  que  llegan y por los que se origina en el equipo local. Por lo tanto, cada
       paquete sólo pasa a través de una de  las  tres  cadenas  (excepto  el  tráfico  de  loopback,  donde  se
       involucran las cadenas de ENTRADA y SALIDA); anteriormente, un paquete reenviado pasaría por los tres.

       La  otra  diferencia principal es que -i se refiere a la interfaz de entrada; -o se refiere a la interfaz
       de salida y ambas están disponibles para paquetes que entran en la cadena FORWARD.

       Se han separado las distintas formas de NAT; iptables es un filtro de paquetes puro cuando se utiliza  la
       tabla  de 'filtro' predeterminada, con módulos de extensión opcionales. Esto debería evitar gran parte de
       la confusión sobre la combinación de enmascaramiento de IP y filtrado de  paquetes  vista  anteriormente.
       Entonces las siguientes opciones se manejan de manera diferente:
        -j MASQ
        -M -S
        -M -L
       Hay varios otros cambios en iptables.

VÉASE TAMBIÉN

       iptables-apply(8), iptables-save(8), iptables-restore(8), iptables-extensions(8),

       El  documento COMO (HOW-TO en inglés) de filtrado de paquetes detalla el uso de iptables para el filtrado
       de paquetes, el COMO de NAT detalla NAT, el COMO de extensiones de netfilter detalla extensiones  que  no
       están  en  la  distribución  estándar  y  el  COMO de hacking de netfilter detalla las partes internas de
       netfilter.
       Visite https://www.netfilter.org/.

AUTORES

       Rusty Russel es el autor original de iptable en conjunción con Michael Neuling.

       Marc Boucher hizo que Rusty abandonara ipnatctl presionando para que se creara un marco de  selección  de
       paquetes  genérico en iptables, luego escribió la tabla de mangle, la concordancia de propietario, varios
       asuntos del marcado además de varias aportaciones interesantes en general.

       James Morris escribió el objetivo TOS, y el acierto tos.

       Jozsef Kadlecsik escribió el objetivo REJECT.

       Harald Welte escribió el objetivo ULOG y  NFQUEUE,  el  nuevo  libiptc,  así  como  las  concordancias  y
       objetivos TTL, DSCP, ECN.

       El  equipo  principal de Netfilter lo forman: Jozsef Kadlecsik, Pablo Neira Ayuso , Eric Leblond, Florian
       Westphal y Arturo Borrero Gonzalez. Los miembros eméritos  de  dicho  equipo  son  los  siguientes:  Marc
       Boucher, Martin Josefsson, Yasuyuki Kozakai, James Morris, Harald Welte and Rusty Russell.

       Esta página de manual fue escrita por Herve Eychenne <rv@wallfire.org>.

VERSIÓN

       This manual page applies to iptables/ip6tables 1.8.11.

TRADUCCIÓN

       La traducción al español de esta página del manual fue creada por Marcos Fouces <marcos@debian.org>

       Esta  traducción  es  documentación  libre;  lea  la GNU General Public License Version 3 o posterior con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta página  del  manual,  envíe  un  correo  electrónico  a
       debian-l10n-spanish@lists.debian.org.

iptables 1.8.11                                                                                      IPTABLES(8)