Provided by: manpages-es-extra_0.8a-16_all bug

NAME

       ipchains - IP administración de cortafuegos

SINOPSIS

       ipchains -[ADC] cadena especificación-de-regla [opciones]
       ipchains -[RI] cadena numero-regla especificación-de-regla [opciones]
       ipchains -D cadena numero-regla [opciones]
       ipchains -[LFZNX] [cadena] [opciones]
       ipchains -P cadena objetivo [opciones]
       ipchains -M [ -L | -S ] [opciones]

DESCRIPCIÓN

       Ipchains  se  usa para configurar, mantener e inspeccioar las reglas de
       cortafuegos IP del núcleo Linux. Estas reglas se pueden  dividir  en  4
       categorías diferentes: la cadena de entrada IP, la cadena de salida IP,
       la cadena de reenvío IP y las cadenas definidas por el usuario.

       Para cada una de estas categorías  se  mantiene  una  tabla  de  reglas
       separada,  cualquiera de las cuales podría remitir a una de las cadenas
       definidas por el usuario.

       Váease ipfw(4) para más detalles.

OBJETIVOS

       Una regla de cortafuegos especifica  citerios  para  un  paquete  y  un
       objetivo.   Si el paquete no concuerda se examina la siguiente regla de
       la cadena; si concuerda, la siguiente regla se especifica por el  valor
       del  objetivo,  que  puede  ser el nombre de una cadena definida por el
       usuario o uno de los valores especiales  ACCEPT,  DENY,  REJECT,  MASQ,
       REDIRECT o RETURN.
       ACCEPT  significa  dejar  pasar  el  paquete.   DENY significa tirar el
       paquete al suelo (denegar).  REJECT significa  lo  mismo  que  denegar,
       pero más educado y fácil de depurar, ya que devuelve en mensaje ICMP al
       remitente indicando que el paquete fue elliminado.  (Observe que DENY y
       REJECT son lo mismo para paquetes ICMP).
       MASQ  es  sólo legal para reenvío y cadenas definidas por el usuario, y
       sólo  se   puede   usar   cuando   el   núcleo   está   compilado   con
       CONFIG_IP_MASQUERADE  definida.   Con  esto, los paquetes se enmascaran
       como si estuvieran  originados  desde  el  host  local.  Más  aún,  los
       paquetes  devueltos serán reconocidos y desenmascarados automáticamente
       y entonces pasados a la cadena de reenvío.
       REDIRECT es sólo legal para las cadenas de entrada y definidas  por  el
       usuario, y sólo se puede usar cuando en núcleo linux está compilado con
       CONFIG_IP_TRANSPARENT_PROXY  definido.   Con  esto,  los  paquetes   se
       redirigen al socket local, incluso si son enviados a un host remoto. Si
       el puerto de redirección  especificado  es  0,  que  es  el  valor  por
       defecto,  el  puerto  objetivo  de  un  paquete  se  usa como puerto de
       redirección. Cuando se usa  este  objetivo,  se  puede  suministrar  un
       argumento extra, el número de puerto.
       Si  se  llega  al  final  de  una  cadena definida por el usuario, o se
       concuerda con una regla con objetivo RETURN, se  examina  la  siguiente
       regla de la cadena previa (llamada). Si se llega al final de una cadena
       predefinida o se concuerda con una regla de la cadena  predefinida  con
       el  objetivo  RETURN  el  objetivo  especificado  por la política de la
       cadena determina el destino del paquete.

OPCIONES

       Las opciones que reconoce ipchains se pueden dividir en  varios  grupos
       diferentes.

   MANDATOS
       Estas  opciones indican la acción específica que hay que realizar; sólo
       se puede especificar una de ellas en la línea de  mandatos,  salvo  que
       más abajo se especifique lo contrario. En todas las versiones largas de
       los nombres de mandatos  y  nombres  de  opciones,  sólo  es  necesario
       especificar  suficientes  letras  para asegurarse de que ipchains puede
       distinguirla de las otras opciones.

       -A, --append
              Añade una o más reglas  al  final  de  la  cadena  seleccionada.
              Cuando  los nombres origen y/o destino se resuelven a más de una
              dirección,  se  añade  una  nueva  regla   para   cada   posible
              combinación de dirección.

       -D, --delete
              Elimina  una  o  más  reglas  de la cadena seleccionada. Hay dos
              versiones de este comando: la regla se puede especificar como el
              número  de  la  cadena  (empezando en 1 para la primera regla) o
              como una regla que concuerde.

       -R, --replace
              Sustituye una regla de la cadena seleccionada.  Si  los  nombres
              origen  y/o  destino  se  resuelven  a múltiples direcciones, el
              mandato fallará.  Las reglas se numeran comenzando por 1.

       -I, --insert
              Inserta una o más reglas en la cadena seleccionada con el número
              indicado de regla. Así, si la regla tiene el número 1 la regla o
              reglas se insertan al principio de la cadena.

       -L, --list
              Muestra todas las reglas de la cadena seleccionada.  Si  no  hay
              cadena  seleccionada,  se  listan  todas  las  cadenas. Es legal
              especificar la opción -Z (cero) también,  en  cuyo  caso  no  se
              puede especificar cadena.  La salida exacta está determinada por
              los otros argumentos indicados.

       -F, --flush
              Vacía la cadena seleccionada. Es equivalente a borrar todas  las
              reglas una a una.

       -Z, --zero
              Pone  a  cero  los contadores de octetos y paquetes de todas las
              cadenas.  Es  legal  specificar  la  opción  -L,  --list  (list)
              también,  para  ver  los  contadores inmediatamente antes de que
              sean borrados; si se hace esto no se puede  indicar  una  cadena
              específica.  (Esto mostrará y borrará todo).

       -N, --new-chain
              Crea  una  nueva  cadena  definida  por el usuario con el nombre
              dado. No puede haber un objetivo con ese nombre existente.

       -X, --delete-chain
              Borra la cadena definida por el usuario especificada. No  pueden
              haber  referencias  a  la  cadena  (si  hay  tiene  que borrar o
              sustituir las referidas reglas antes de poder borrar la cadena).
              Si no se dan argumentos, intentará eliminar todas las cadenas no
              predefinidas.

       -P, --policy
              Fija la política para la cadena con un destino  dado.  Véase  la
              sección OBJETIVOS para los objetivos legles. Sólo las cadenas no
              definidas por el  usuario  pueden  tener  políticas,  y  ni  las
              cadenas  predefinidas ni las definidas por el usuario pueden ser
              objetivos de política.

       -M, --masquerading
              Esta opción permite ver las conexiones enmascaradas  actualmente
              (en  conjunción  con  la  opción  -L)  o  fija los parámetros de
              enmascaramiento del núcleo (con la opción -S).

       -S, --set tcp tcpfin udp
              Cambia   los   plazos   de   tiempo   (timeouts)   usados   para
              enmascaramiento  Este  comando  siempre  toma  3 parámetros, que
              representan los valores de los temporizadores (en segundos) para
              sesiones  TCP,  sesiones  TCP  tras  recibir  un  paquete FIN, y
              paquetes  UDP  respectivamente.   Un  valor  de  temporizador  0
              significa  que  se  conserva  el  valor  correspondiente  de  la
              entrada. Esta opción sólo está permitida en combinación  con  la
              bandera -M.

       -C, --check
              Verifica   el   paquete  dado  con  la  regla  seleccionada.  Es
              extremadamente útil para comprobar, ya que se  usan  las  mismas
              rutinas del núcleo para verificar paquetes "reales" se usan para
              verificar este paquete. Se puede  usar  para  verificar  cadenas
              definidas  por  el  usuario  y  cadenas predefinidas. Los mismos
              argumentos que se usan para especificar  reglas  de  cortafuegos
              son  los que se usan para construir el paquete el paquete que se
              quiere comprobar. En particular son obligatorias las banderas -s
              (origen), -d (destino), -p (protocolo) y -i (interfaz).

       -h     Ayuda.   Da  una  descripción (actualmente breve) de la sintaxis
              del mandato.

   PARÁMETROS
       Los siguientes parámetros afectan las especificaciones de reglas  (como
       se usan en los mandatos add, delete, replace, append y check).

       -p, --protocol[!] protocol
              El  protocolo  de  la regla del paquete que se quiere verificar.
              El protocolo especificado puede ser  uno de los siguientes: tcp,
              udp,  icmp  o all, o puede ser un valor numérico, que representa
              uno de estos protocolos u otro diferente. También está permitido
              un  protocolo  de  nombre  de  /etc/protocols.  Un argumento "!"
              antes  del  protocolo  invierte  el  test.  El  número  cero  es
              equivalente  a  all.   Protocolo  all  concordará  con cualquier
              protocolo y es tomado por defecto cuando se omite  esta  opción.
              All no se puede usar en combinación con el mandato check.

       -s, --source [!] direccin/mscara] [!] [puerto[:puerto]]
              Especificación  de  origen.   Direccin  puede  ser un nombre de
              host, un nombre de red o una simple dirección  IP.   La  mscara
              puede  ser una máscara de red o un simple número que especifique
              el número de unos (1) a la izquierda en la máscara de red.  Así,
              una  máscara de 24 es equivalente a 255.255.255.0.  Un argumento
              "!" antes de la especificación de dirección invierto el  sentido
              de la dirección.
              El origen puede incluir especificaciones de puertos o tipo ICMP.
              Esto puede ser bien un nombre de servicio, un número de  puerto,
              un  tipo  numérico  ICMP  o  uno  de  los  nombres  de tipo ICMP
              mostrados por el mandato ipchains -h icmp.  Observe  que  muchos
              de  estos  nombres  ICMP  se  refieren  al tipo y código, lo que
              significa que un código ICMP tras la bandera -d es ilegal. En el
              resto de este párrafo, un port significa bien una especificación
              de puerto o un tipo ICMP. Se puede especificar un  rango  usando
              el  formato  puerto:puerto.   Si  se  omite  el primer puerto se
              supone "0"; si se omite el último, se supone "65535".
              Los puertos se pueden especificar sólo en  combinación  con  los
              protocolos  tcp, udp o icmp Un "!" antes de la especificación de
              puerto invierte el sentido.  Cuando  se  especifica  el  mandato
              check, se requiere sólo un puerto, y si se especifica la bandera
              -f (fragmento) no se permiten puertos. La bandera  --src  es  un
              alias para esta opción.

       --source-port [!] [puerto[:puerto]]
              Esto  permite  separar  las especificaciones del puerto origen o
              rango de puertos. Véase la descripción anterior de la bandera -s
              para  más  detalles.  La  bandera  --sport  es  un alias de esta
              opción.

       -d, --destination [!] direccin[/mscara] [!] [puerto[:puerto]]
              Especificación de destino.  Véase la descripción de  la  bandera
              -s  (origen) para una detallada descripción de la sintaxis. Para
              ICMP, que no tiene puertos un "puerto destino" se refiere  a  un
              código  numérico  ICMP.  La  bandera  --dst  es un alias de esta
              opción.

       --destination-port [!] [puerto[:puerto]]
              Esto permite  separar  especificacioens  de  puertos.  Véase  la
              descripción  de  la  bandera  -s  para  los detalles. la bandera
              --dport es un alias de esta opción.

       --icmp-type [!] nombre-de tipo
              Esto  permite  especificaciones  de  tipo   ICMP   This   allows
              specification  of  the ICMP type (use la opción -h icmp para ver
              los nombres  de  tipo  ICMP  válidos).  Con  frecuencia  es  más
              conveniente añadirlo a las especificacones de destino.

       -j, --jump objetivo
              Esto  especifica el objetivo de la regla; i.e., qué hacer con el
              paquete si concuerda con la regla. El  objetivo  puede  ser  una
              cadena  definida  por  el usuario (no en la que está la regla) o
              uno de los  objetivos  especiales  que  decide  el  destino  del
              paquete  de  forma  inmediata.  Si  omitimos  esta opción en una
              regla, entonces  la  concordancia  no  tendrá  efecto  sobre  el
              destino  del paquete, pero se incremnetarán los contadores de la
              regla.

       -i, --interface [!] nombre
              Nombre opcional de un interfaz a través del cual se reciben  los
              paquetes,  o  mediante  el  cual  salen  los paquetes se envían.
              Cuando se omite esta opción se  supone  una  cadena  vacía,  que
              tiene un significado especial, y concordará con cualquier nombre
              de interfaz. Cuando se usa el argumento "!" antes del nombre  de
              interfaz,  se  invierte  el  sentido.  Si  el nombre de interfaz
              termina en  un  "+"  entonces  concordará  cualquier  nombre  de
              interfaz que empiece con ese nombre.

       [!]  -f, --fragment
              Esto  significa  que  la  regla  sólo  se  refiere  al segundo o
              siguientes fragmentos de  paquetes  fragmentados.  Como  no  hay
              forma  de indicar los puertos origen y destino de tales paquetes
              (o tipo ICMP), esos  paquetes,  tales  paquetes  no  verificarán
              ninguna  regla  que  los  especifique.  Cuando  el argumento "!"
              precede a la bandera -f, se invierte el sentido.

   OTRAS OPCIONES
       Se pueden especificar las siguientes opciones adicionales:

       -b, --bidirectional
              Modo bidireccional.  La regla concordará con los paquetes IP  en
              ambas  direcciones; esto tiene los mismos efectos que repetir la
              regla cambiando origen y destino.

       -v, --verbose
              Salida documentada.   Esta  opción  hace  que  el  mantato  list
              muestre  la driección del interfaz, las opciones de la regla (si
              hay) y las máscaras TOS. Los contadores también se muestran  con
              los  sufijos ’K’, ’M’ o ’G’ para multiplicadores 1000, 1,000,000
              y 1,000,000,000 respectivamente (pero vea  la  bandera  -x  para
              cambiar  esto).  Cuando   se  usa  en  combinación  con  -M,  la
              información relativa a los núeros de secuencia delta también  se
              mostrarán.  Para añadir, insertar, borrar y sustituir, esto hace
              que se muestre inforamción detallada sobre la regla.

       -n, --numeric
              Salida numérica Las direcciones IP y los números de  puertos  se
              imprimirán   en  formato  numérico.  Por  defecto,  el  programa
              intentará mostrarlos como nombres de hosts, nombres de  redes  o
              servicios (cuando sea aplicable).

       -l, --log
              Activa  el  registro  del núcleo de los paquetes que concuerden.
              Cuando esta opción está activa para una regla, el  núcleo  Linux
              imprimirá   cierta   información   de  todos  los  paquetes  que
              concuerden (como la mayoría  de  los  campos  de  cabeceras  IP)
              mediante printk().

       -o, --output [tamao-mximo]
              Copia los paquetes al dispositivo espacio de usuario. Esto es en
              la actualidad principalmente para  desarrolladores  que  quieren
              jugar  con  efectos  de  cortafuegos en su espacio. El argumento
              opcional tamaño-máximo se puede  usar  para  limitar  el  máximo
              número  de  bytes  del  paquete que se van a copiar. Esta opción
              sólo  es   válida   si   el   núcleo   se   ha   compilado   con
              CONFIG_IP_FIREWALL_NETLINK activo.

       -m, --mark valor-marca
              Marca paquetes concordados. Los paquetes se pueden marcar con un
              valor entero sin signo de 32 bits que (algún día) puede  cambiar
              su  manejo  interno.  Si no es un "kernel hacker" no es probable
              que tenga que preocuparse por esto.  Si  la  cadena  valor-marca
              empieza  con + o -, este valor se añade o resta del valor actual
              del valor de marca de paquetes (que empieza  en cero).

       -t, --TOS andmask xormask
              Máscara usada para modificar el campo TOS  de  la  cabecera  IP.
              Cuando  un  paquete  concuerda  con  una  regla, a su campo TOS,
              priemero se hace un and con la primera máscara y al resultado de
              esto  se  le hace un xor con la segunda máscara. Las máscaras se
              tiene que especificar como valores hexadecimales de 8-bit.  Como
              el  LSB  del  campo  TOS  debe quedar inalterado (RFC 1349), los
              valores TOS, que hicieran que se alterase, se rechazan, como  es
              cualquier  regla  que  siempre  ponga  más  que el bit TOS.  Las
              reglas  que  podrían  poner  múltiples  bits  TOS  para  ciertos
              paquetes  originan  avisos  (enviados  a  stdout)  que se pueden
              ignorar si sabe que paquetes con valores TOS  nuncan  alcanzarán
              esta  regla. Obviamente manipular el TOS es un gesto sin sentido
              si el objetivo de la regla es DENY o REJECT.

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

       [!] -y, --syn
              Sólo concuerda con paquetes TCP con el bit SYN activo y los bits
              ACK y FIN limpios. Tales paquetes se usan para  las  solicitudes
              de  inicio  de  conexión  TCP;  por  ejemplo,  bloqueando  tales
              paquetes entrantes en un interfaz, prevendrá las conexiones TCP,
              pero  las  conexioenes  salientes  no  se  verán afectadas. Esta
              opción sólo tiene sentido cuando el tipo de protocolo está  como
              TCP.  Si  la bandera  "!" flag precede al "-y", el sentido de la
              opción se invierte.

FICHEROS

       /proc/net/ip_fwchains
       /proc/net/ip_masquerade

BUGS

       No hay forma de reiniciar los contadores de paquetes  y  bytes  en  una
       única cadena. Es una limitación del núcleo.

       No  se  realiza  la detección de bucles en ipchains; los paquetes en un
       bucle se eliminan y  se  registran,  pero  esto  será  lo  primero  que
       encontrará sobre esto si accidentalmente crea un bucle.

       La  explicación  de  qué  efectos  tiene  marcar  un  paquete  es  vaga
       intencianlamente hasta que se publique la documentación del núcleo  que
       describe las rutinas de secuenciación de paquetes del núcleo.

       No  hay  forma  de  poner  a  cero los contadores de política (i.e. las
       cadenas predefinidas).

FALLOS

       Este ipchains es muy diferente al ipfwadm by Jos Vos, ya  que  usa  los
       nuevos  árboles  de cortafuegos IP. Su funcionalidad incluye ipfwadm, y
       hay normalmente una aplicación 1:1 de los mandatos. Hay,  sin  embargo,
       algunos cambios con los que debería tener cuidado.

       Los fragmentos se manejan de diferente forma. Todos los fragmentos tras
       el primero usado se dejan pasar (que normalmente es seguro);  ahora  se
       pueden  filtrar.  Esto  significa  que  probablemente añadirá una regla
       específica para aceptar fragmentos si los  está  convirtiendo.  También
       busque  las  antiguas  reglas de contabilidad que verifican los puertos
       origen y destino de  0xFFFF  (0xFF  para  paquetes  ICMP)  que  era  la
       anterior forma de contabilizar los fragmentos.

       La  reglas  de  contabilidad  ahora simplemente están integradas en las
       cadenas de entrada y salidad; puede simular el anterior  comportamiento
       como:
        ipchains -N acctin
        ipchains -N acctout
        ipchains -N acctio
        ipchains -I input -j acctio
        ipchains -I input -j acctin
        ipchains -I output -j acctio
        ipchains -I output -j acctout
       Esto crea tres cadenas definidas acctin, acctout y acctio, que son para
       contener cualquier regla de  contabilidad  (estas  reglas  se  deberían
       especificar  sin  una  bandera -j para  que los paquetes simplemente lo
       pasen sin perjudicar nada).

       A MASQ o REDIRECT objetivos encontrados por el núcleo  fuera  de  lugar
       (i.e.  no  durante  una  regla de reenvío o de entrada respectivamente)
       ocasionarán un mensaje a syslog  y que el paquete sea descartado.

       El anterior comportamiento de concordancias con  SYN  y  ACK  (que  era
       previamente  ignorado  para paquetes no TCP) ha cambiado; la opción SYN
       no es válida para reglas no específicas TCP.

       La opción de concordancia ACK ( -k) ya no se soporta; la combinación de
       !  y -y proporcionan la equivalencia).

       Ahora  es  ilegal especificar una máscara TOS que acitve o modifique el
       bit  TOS  menos  significativo;  previamente  las  máscaras  TOS   eran
       modificadas silenciosamente por el núcleo si intentaban hacer esto.

       La  bandera  -b  ahora se gestiona simplemente insertando o borrando un
       par de reglas,  una  con  las  especificaciones  de  origen  y  destino
       intercambiadas.

       No hay forma de especificar un interfaz por dirección: use su nombre.

VÉASE TAMBIÉN

       ipfw(4)

AUTOR

       Rusty Russell <Paul.Russell@rustcorp.com.au>

                                8 Febrero 1998                     IPCHAINS(8)