Tutorial de IPtables 1.1.19es

Oskar Andreasson

     
    

Se concede permiso para copiar, distribuir y/o modificar este documento según las condiciones de la Licencia de Libre Documentación de GNU (GNU Free Documentation License), Versión 1.1; siendo las Secciones Invariables (Invariant Sections) la "Introducción" y todos sus sub-apartados, con la Portada indicando "Autor Original: Oscar Andreasson" y sin texto en la Contraportada. Una copia de esta licencia en castellano se incluye en el apartado "GNU Free Documentation License" (también se incluye la versión oficial en inglés).

Todos los "scripts" del presente tutorial quedan cubiertos por la Licencia Pública General de GNU (GNU General Public License). Los "scripts" son de código libre (free source); puedes redistribuirlos y/o modificarlos siguiendo las condiciones de la Licencia Pública General de GNU (GNU General Public License) publicada por la Fundación del Software de Libre Distribución (Free Software Foundation), versión 2 de la Licencia.

Los "scripts" se ofrecen con la esperanza de que sean útiles, pero SIN NINGUNA GARANTíA; ni siquiera garantía implícita por COMPRA-VENTA o ADECUACIóN A UN PROPóSITO PARTICULAR. Para más detalles, referirse a la Licencia Pública General de GNU (GNU General Public License) [se incluye la versión en castellano].

Deberías haber recibido una copia de la Licencia Pública General de GNU (GNU General Public License) con este tutorial, en la sección titulada "GNU General Public License" (en inglés y en castellano); si no es así, comunícalo a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.


Dedicatorias

Por encima de todo quiero dedicar este documento a mi maravillosa novia Ninel. Nunca podré apoyarte tanto como tú me has apoyado a mí. Deseo hacerte al menos tan feliz como tú me has hecho a mí.

También quiero dedicar este trabajo a todos los programadores y encargados del mantenimiento de Linux por su trabajo tan increíblemente duro. Gracias a éllos se hace posible éste maravilloso sistema operativo.

Table of Contents
Notas de la traducción
Acerca del autor
Cómo leer este tutorial
Requisitos previos
Convenciones tipográficas
1. Introducción
Por qué se ha escrito este documento
Cómo se ha escrito
Términos empleados en este documento
2. Preparativos
Dónde conseguir iptables
Configuración del núcleo (kernel)
Configuración de la zona de usuario
Compilando las aplicaciones de la zona de usuario
Instalación en Red Hat 7.1
3. Atravesando tablas y cadenas
Generalidades
Tabla mangle
Tabla nat
tabla Filter
4. La máquina de estados
Introducción
Las "entradas" del conntrack
Estados del espacio de usuario
Conexiones TCP
Conexiones UDP
Conexiones ICMP
Conexiones por defecto
Los protocolos complejos y el seguimiento de conexiones
5. Salvando y restaurando grandes conjuntos de reglas
Considerando la velocidad
Inconvenientes con la restauración
iptables-save
iptables-restore
6. Cómo se escribe una regla
Conceptos Básicos
Tablas
Comandos
Comparaciones ("matches")
Comparaciones genéricas
Comparaciones implícitas
Comparaciones explícitas
Comparación "Unclean" ("sucio")
Objetivos/Saltos (Targets/Jumps)
Objetivo ACCEPT
Objetivo DNAT
Objetivo DROP
Objetivo LOG
Objetivo MARK
Objetivo MASQUERADE
Objetivo MIRROR
Objetivo QUEUE
Objetivo REDIRECT
Objetivo REJECT
Objetivo RETURN
Objetivo SNAT
Objetivo TOS
Objetivo TTL
Objetivo ULOG
7. El archivo rc.firewall
Ejemplo de rc.firewall
Explicación del rc.firewall
Opciones de configuración
Carga inicial de módulos extra
Configuración de /proc
Desplazamiento de las reglas entre cadenas
Estableciendo las políticas por defecto
Definiendo cadenas de usario en la tabla Filter
La cadena INPUT
La cadena FORWARD
La cadena OUTPUT
La cadena PREROUTING de la tabla nat
Activando SNAT y la cadena POSTROUTING
8. Scripts de ejemplo
Estructura del script rc.firewall.txt
La estructura
rc.firewall.txt
rc.DMZ.firewall.txt
rc.DHCP.firewall.txt
rc.UTIN.firewall.txt
rc.test-iptables.txt
rc.flush-iptables.txt
Limit-match.txt
Pid-owner.txt
Sid-owner.txt
Ttl-inc.txt
Iptables-save
A. Explicaciones detalladas sobre comandos especiales
Haciendo un listado del conjunto de reglas activo
Actualizando y "aseando" tus tablas
B. Problemas y preguntas frecuentes
Problemas en la carga de módulos
Paquetes cuyo estado es NEW pero cuyo bit SYN no se ha establecido
Paquetes SYN/ACK y NEW
Proveedores de Acceso a Internet que emplean direcciones IP asignadas
Permitir peticiones DHCP a través de iptables
Problemas con mIRC DCC
C. Tipos ICMP
D. Otras fuentes y enlaces
E. Agradecimientos
F. Historial
G. Licencia de Documentación Libre GNU
0. PREÁMBULO
1. APLICABILIDAD Y DEFINICIONES
2. COPIA LITERAL
3. COPIADO EN CANTIDAD
4. MODIFICACIONES
5. COMBINANDO DOCUMENTOS
6. COLECCIONES DE DOCUMENTOS
7. AGREGACIÓN CON TRABAJOS INDEPENDENTES
8. TRADUCCIÓN
9. TERMINACIÓN
10. REVISIONES FUTURAS DE ESTA LICENCIA
Cómo usar esta Licencia para sus documentos
Notas de la traducción
H. GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
I. Licencia Pública General GNU
0. Preámbulo
1. TÉRMINOS Y CONDICIONES PARA LA COPIA, DISTRIBUCIÓN Y MODIFICACIÓN
2. Cómo aplicar estos términos a los nuevos programas
J. GNU General Public License
0. Preamble
1. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
2. How to Apply These Terms to Your New Programs
K. Código fuente de los scripts de ejemplo
Script de ejemplo rc.firewall
Script de ejemplo rc.DMZ.firewall
Script de ejemplo rc.UTIN.firewall
Script de ejemplo rc.DHCP.firewall
Script de ejemplo rc.flush-iptables
Script de ejemplo rc.test-iptables
List of Tables
3-1. Host local de destino (nuestra propia máquina)
3-2. Host local de origen (nuestra própia máquina)
3-3. Paquetes Reenviados (Forwarded)
4-1. Estados de espacio de usuario
4-2. Estados internos
6-1. Tablas
6-2. Comandos
6-3. Opciones
6-4. Comparaciones genéricas
6-5. Comparaciones TCP
6-6. Comparaciones UDP
6-7. Comparaciones ICMP
6-8. Opciones de comparación límite
6-9. Opciones de la comparación MAC
6-10. Opciones de la comparación de marca
6-11. Opciones de comparación multipuerto
6-12. Opciones de comparación de propietario
6-13. Comparaciones de Estado
6-14. Comparaciones TOS
6-15. Comparaciones TTL
6-16. Objetivo DNAT
6-17. Opciones del objetivo LOG
6-18. Opciones del objetivo MARK
6-19. Objetivo MASQUERADE
6-20. Objetivo REDIRECT
6-21. Objetivo REJECT
6-22. Objetivo SNAT
6-23. Objetivo TOS
6-24. Objetivo TTL
6-25. Objetivo ULOG
C-1. Tipos ICMP