Provided by: manpages-es-extra_0.8a-17_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 [!] dirección/máscara] [!] [puerto[:puerto]]
              Especificación de origen.  Dirección puede ser un nombre de host, un nombre de  red
              o  una  simple  dirección  IP.  La máscara 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 [!] dirección[/máscara] [!] [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 [tamaño-máximo]
              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)