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

NAME

       ipchains - IP administracion de cortafuegos

SINOPSIS

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

DESCRIPCI'ON

       Ipchains  se  usa para configurar, mantener e inspeccioar las reglas de
       cortafuegos IP del nucleo Linux. Estas reglas se pueden  dividir  en  4
       categorias diferentes: la cadena de entrada IP, la cadena de salida IP,
       la cadena de reenvio IP y las cadenas definidas por el usuario.

       Para cada una de estas categorias  se  mantiene  una  tabla  de  reglas
       separada,  cualquiera de las cuales podria remitir a una de las cadenas
       definidas por el usuario.

       Vaease ipfw(4) para mas 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 mas educado y facil 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  solo legal para reenvio y cadenas definidas por el usuario, y
       solo  se   puede   usar   cuando   el   nucleo   esta   compilado   con
       CONFIG_IP_MASQUERADE  definida.   Con  esto, los paquetes se enmascaran
       como si estuvieran  originados  desde  el  host  local.  Mas  aun,  los
       paquetes  devueltos seran reconocidos y desenmascarados automaticamente
       y entonces pasados a la cadena de reenvio.
       REDIRECT es solo legal para las cadenas de entrada y definidas  por  el
       usuario, y solo se puede usar cuando en nucleo linux esta 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 redireccion  especificado  es  0,  que  es  el  valor  por
       defecto,  el  puerto  objetivo  de  un  paquete  se  usa como puerto de
       redireccion. Cuando se usa  este  objetivo,  se  puede  suministrar  un
       argumento extra, el numero 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 politica 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 accion especifica que hay que realizar; solo
       se puede especificar una de ellas en la linea de  mandatos,  salvo  que
       mas abajo se especifique lo contrario. En todas las versiones largas de
       los nombres de mandatos  y  nombres  de  opciones,  solo  es  necesario
       especificar  suficientes  letras  para asegurarse de que ipchains puede
       distinguirla de las otras opciones.

       -A, --append
              Anade una o mas reglas  al  final  de  la  cadena  seleccionada.
              Cuando  los nombres origen y/o destino se resuelven a mas de una
              direccion,  se  anade  una  nueva  regla   para   cada   posible
              combinacion de direccion.

       -D, --delete
              Elimina  una  o  mas  reglas  de la cadena seleccionada. Hay dos
              versiones de este comando: la regla se puede especificar como el
              numero  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 multiples direcciones, el
              mandato fallara.  Las reglas se numeran comenzando por 1.

       -I, --insert
              Inserta una o mas reglas en la cadena seleccionada con el numero
              indicado de regla. Asi, si la regla tiene el numero 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 opcion -Z (cero) tambien,  en  cuyo  caso  no  se
              puede especificar cadena.  La salida exacta esta determinada por
              los otros argumentos indicados.

       -F, --flush
              Vacia 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  opcion  -L,  --list  (list)
              tambien,  para  ver  los  contadores inmediatamente antes de que
              sean borrados; si se hace esto no se puede  indicar  una  cadena
              especifica.  (Esto mostrara y borrara 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, intentara eliminar todas las cadenas no
              predefinidas.

       -P, --policy
              Fija la politica para la cadena con un destino  dado.  Vease  la
              seccion OBJETIVOS para los objetivos legles. Solo las cadenas no
              definidas por el  usuario  pueden  tener  politicas,  y  ni  las
              cadenas  predefinidas ni las definidas por el usuario pueden ser
              objetivos de politica.

       -M, --masquerading
              Esta opcion permite ver las conexiones enmascaradas  actualmente
              (en  conjuncion  con  la  opcion  -L)  o  fija los parametros de
              enmascaramiento del nucleo (con la opcion -S).

       -S, --set tcp tcpfin udp
              Cambia   los   plazos   de   tiempo   (timeouts)   usados   para
              enmascaramiento  Este  comando  siempre  toma  3 parametros, 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 opcion solo esta permitida en combinacion  con  la
              bandera -M.

       -C, --check
              Verifica   el   paquete  dado  con  la  regla  seleccionada.  Es
              extremadamente util para comprobar, ya que se  usan  las  mismas
              rutinas del nucleo 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  descripcion (actualmente breve) de la sintaxis
              del mandato.

   PAR'AMETROS
       Los siguientes parametros 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 numerico, que representa
              uno de estos protocolos u otro diferente. Tambien esta permitido
              un  protocolo  de  nombre  de  /etc/protocols.  Un argumento "!"
              antes  del  protocolo  invierte  el  test.  El  numero  cero  es
              equivalente  a  all.   Protocolo  all  concordara  con cualquier
              protocolo y es tomado por defecto cuando se omite  esta  opcion.
              All no se puede usar en combinacion con el mandato check.

       -s, --source [!] direcci'on/m'ascara] [!] [puerto[:puerto]]
              Especificacion  de  origen.   Direcci'on  puede  ser un nombre de
              host, un nombre de red o una simple direccion  IP.   La  m'ascara
              puede  ser una mascara de red o un simple numero que especifique
              el numero de unos (1) a la izquierda en la mascara de red.  Asi,
              una  mascara de 24 es equivalente a 255.255.255.0.  Un argumento
              "!" antes de la especificacion de direccion invierto el  sentido
              de la direccion.
              El origen puede incluir especificaciones de puertos o tipo ICMP.
              Esto puede ser bien un nombre de servicio, un numero de  puerto,
              un  tipo  numerico  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 codigo, lo que
              significa que un codigo ICMP tras la bandera -d es ilegal. En el
              resto de este parrafo, un port significa bien una especificacion
              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 ultimo, se supone "65535".
              Los puertos se pueden especificar solo en  combinacion  con  los
              protocolos  tcp, udp o icmp Un "!" antes de la especificacion de
              puerto invierte el sentido.  Cuando  se  especifica  el  mandato
              check, se requiere solo un puerto, y si se especifica la bandera
              -f (fragmento) no se permiten puertos. La bandera  --src  es  un
              alias para esta opcion.

       --source-port [!] [puerto[:puerto]]
              Esto  permite  separar  las especificaciones del puerto origen o
              rango de puertos. Vease la descripcion anterior de la bandera -s
              para  mas  detalles.  La  bandera  --sport  es  un alias de esta
              opcion.

       -d, --destination [!] direcci'on[/m'ascara] [!] [puerto[:puerto]]
              Especificacion de destino.  Vease la descripcion de  la  bandera
              -s  (origen) para una detallada descripcion de la sintaxis. Para
              ICMP, que no tiene puertos un "puerto destino" se refiere  a  un
              codigo  numerico  ICMP.  La  bandera  --dst  es un alias de esta
              opcion.

       --destination-port [!] [puerto[:puerto]]
              Esto permite  separar  especificacioens  de  puertos.  Vease  la
              descripcion  de  la  bandera  -s  para  los detalles. la bandera
              --dport es un alias de esta opcion.

       --icmp-type [!] nombre-de tipo
              Esto  permite  especificaciones  de  tipo   ICMP   This   allows
              specification  of  the ICMP type (use la opcion -h icmp para ver
              los nombres  de  tipo  ICMP  validos).  Con  frecuencia  es  mas
              conveniente anadirlo a las especificacones de destino.

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

       -i, --interface [!] nombre
              Nombre opcional de un interfaz a traves del cual se reciben  los
              paquetes,  o  mediante  el  cual  salen  los paquetes se envian.
              Cuando se omite esta opcion se  supone  una  cadena  vacia,  que
              tiene un significado especial, y concordara 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  concordara  cualquier  nombre  de
              interfaz que empiece con ese nombre.

       [!]  -f, --fragment
              Esto  significa  que  la  regla  solo  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  verificaran
              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 concordara 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  opcion  hace  que  el  mantato  list
              muestre  la drieccion del interfaz, las opciones de la regla (si
              hay) y las mascaras TOS. Los contadores tambien 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  combinacion  con  -M,  la
              informacion relativa a los nueros de secuencia delta tambien  se
              mostraran.  Para anadir, insertar, borrar y sustituir, esto hace
              que se muestre inforamcion detallada sobre la regla.

       -n, --numeric
              Salida numerica Las direcciones IP y los numeros de  puertos  se
              imprimiran   en  formato  numerico.  Por  defecto,  el  programa
              intentara mostrarlos como nombres de hosts, nombres de  redes  o
              servicios (cuando sea aplicable).

       -l, --log
              Activa  el  registro  del nucleo de los paquetes que concuerden.
              Cuando esta opcion esta activa para una regla, el  nucleo  Linux
              imprimira   cierta   informacion   de  todos  los  paquetes  que
              concuerden (como la mayoria  de  los  campos  de  cabeceras  IP)
              mediante printk().

       -o, --output [tama~no-m'aximo]
              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 tamano-maximo se puede  usar  para  limitar  el  maximo
              numero  de  bytes  del  paquete que se van a copiar. Esta opcion
              solo  es   valida   si   el   nucleo   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 (algun dia) 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 anade o resta del valor actual
              del valor de marca de paquetes (que empieza  en cero).

       -t, --TOS andmask xormask
              Mascara 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 mascara y al resultado de
              esto  se  le hace un xor con la segunda mascara. Las mascaras 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  mas  que el bit TOS.  Las
              reglas  que  podrian  poner  multiples  bits  TOS  para  ciertos
              paquetes  originan  avisos  (enviados  a  stdout)  que se pueden
              ignorar si sabe que paquetes con valores TOS  nuncan  alcanzaran
              esta  regla. Obviamente manipular el TOS es un gesto sin sentido
              si el objetivo de la regla es DENY o REJECT.

       -x, --exact
              Expande numeros.  Muestra el valor exacto de los  contadores  de
              bytes  y  paquetes en lugar de solo los numeros redondeados en K
              (multiplos de 1000) M (multiplos de 1000K)  o  G  (multiplss  de
              1000M). Esta opcion solo es relevante para el mandato -L.

       [!] -y, --syn
              Solo 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  conexion  TCP;  por  ejemplo,  bloqueando  tales
              paquetes entrantes en un interfaz, prevendra las conexiones TCP,
              pero  las  conexioenes  salientes  no  se  veran afectadas. Esta
              opcion solo tiene sentido cuando el tipo de protocolo esta  como
              TCP.  Si  la bandera  "!" flag precede al "-y", el sentido de la
              opcion 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
       unica cadena. Es una limitacion del nucleo.

       No  se  realiza  la deteccion de bucles en ipchains; los paquetes en un
       bucle se eliminan y  se  registran,  pero  esto  sera  lo  primero  que
       encontrara sobre esto si accidentalmente crea un bucle.

       La  explicacion  de  que  efectos  tiene  marcar  un  paquete  es  vaga
       intencianlamente hasta que se publique la documentacion del nucleo  que
       describe las rutinas de secuenciacion de paquetes del nucleo.

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

FALLOS

       Este ipchains es muy diferente al ipfwadm by Jos Vos, ya  que  usa  los
       nuevos  arboles  de cortafuegos IP. Su funcionalidad incluye ipfwadm, y
       hay normalmente una aplicacion 1:1 de los mandatos. Hay,  sin  embargo,
       algunos cambios con los que deberia 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 anadira una regla
       especifica para aceptar fragmentos si los  esta  convirtiendo.  Tambien
       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 estan 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  deberian
       especificar  sin  una  bandera -j para  que los paquetes simplemente lo
       pasen sin perjudicar nada).

       A MASQ o REDIRECT objetivos encontrados por el nucleo  fuera  de  lugar
       (i.e.  no  durante  una  regla de reenvio o de entrada respectivamente)
       ocasionaran 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 opcion SYN
       no es valida para reglas no especificas TCP.

       La opcion de concordancia ACK ( -k) ya no se soporta; la combinacion de
       !  y -y proporcionan la equivalencia).

       Ahora  es  ilegal especificar una mascara TOS que acitve o modifique el
       bit  TOS  menos  significativo;  previamente  las  mascaras  TOS   eran
       modificadas silenciosamente por el nucleo 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 direccion: use su nombre.

V'EASE TAMBI'EN

       ipfw(4)

AUTOR

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

                                8 Febrero 1998                     IPCHAINS(8)