Ejemplos iptables. Planificación y gestión de redes de ordenadores. Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de 2012

Documentos relacionados
Cortafuegos (Firewalls) en Linux con iptables

Cortafuegos (Firewalls) en Linux con iptables

IPTABLES. Gonzalo Alvarez Flores

Filtrado de paquetes y NAT

UNIDAD DIDACTICA 12 CONFIGURACIÓN DE IPTABLES EN GNU/LINUX

Curso avanzado de GNU/Linux

Prácticas de laboratorio de Telemática II

Firewall en GNU/Linux netfilter/iptables

Iptables, herramienta para controlar el tráfico de un servidor

INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES

Cortafuegos y Linux. Iptables

IPTables: Filtrado de paquetes en Linux

Examen Parcial II de Sistemas Telemáticos para Medios Audiovisuales

En el anterior post había explicado que es necesario en un firewall primero denegar todo tráfico entrante, para ello:

Gestión de Recursos y Seguridad en Redes Seguridad en la red con Open Source. Derman Zepeda Vega. dzepeda@unan.edu.ni

EJERCICIOS DE REDES. 1. Configurar por completo la red mostrada en el siguiente diagrama:

Software de Comunicaciones. Práctica 9 - Filtrado de Paquetes. IPTables y Shorewall

Seguridad en Sistemas Informáticos (SSI) Seguridad perimétrica

8. Cortafuegos (Firewall).

Firewalls: iptables. Pablo Suau Pérez (aka Siew) Marzo 2002

Charla de redes. Carlos Hernando ACM Facultad de Informática Universidad Politécnica de Madrid

RENZO TACO COAYLA. - Movistar : RPM: # Claro: RPC:

QoS para andar por casa. Introdución a calidad de servicio (QoS) y control del tráfico (TC) en GNU/Linux

66.69 Criptografía y Seguridad Informática FIREWALL

Configuración del firewall en Linux con IPtables

Apartado: BrutaliXL Versión: 3 Título: Cortafuegos - Iptables Fecha:

Cortafuegos en Linux con iptables

SEGURIDAD EN SISTEMAS INFORMÁTICOS

P r á c t i c a 1 5. C o n f i g u r a c i ó n d e f i r e w a l l m e d i a n t e i p t a b l e s

Conozca sobre el funcionamiento de las IPTables Forward. Aprenda como administrar de mejor forma las IPTables en SO GNU/Linux.

Seguridad en Sistemas Informáticos Seguridad perimetral. Área de Ingeniería Telemática Dpto. Automática y Computación

Cortafuegos. Departamento de Sistemas Telemáticos y Computación (GSyC) Abril de GSyC Cortafuegos 1

Firewalls de Internet. Ricardo D. Pantazis

Laboratorio 2 Filtrado de paquetes con Netfilter

Firewall en Linux. Luis Eduardo Vivero Peña. Director Centro de Difusión del Software Libre Ingeniero de Proyectos Corporación Linux

Seguridad Informática

PRÁCTICA 5: USO DE CORTAFUEGOS

Linksys WRT54G y DD-WRT - Guía práctica

Configuración del encaminamiento en Linux

Tema 6. Funciones y protocolos del nivel de red. Ejercicios propuestos (II).

Administración de servicios Internet Intranet

Julio Gómez López Universidad de Almería

Filtrado de paquetes y QoS. Universidad Politécnica de Valencia joafusmo@epsa.upv.es

Servidor Firewall. Patrick Hernández Cuamatzi. Maestría en Ingeniería de Software Redes Avanzadas

Firewalls, IPtables y Netfilter. Redes de Datos

Prevención Dinámica de Ataques con IPTables.

Unidad 5. Firewalls S E G U R I D A D D E L A I N F O R M A C I O N

Implantación de QoS. en un entorno GNU/Linux

Concepto de Seguridad de Alto Nivel: A lo largo del curso hemos establecido protecciones en los equipos y en la información que almacenan e

Aprendiendo a usar IPTABLES desde cero.

Manual de Iptables. Networking basics.

Ultimísima versión del kelmer, ahora mismo la , no aceptaremos nada diferente :P

IPTABLES Manual práctico

Transición a IPv6: Una propuesta para proveedores de servicio

SISTEMA OPERATIVO GNU/LINUX AVANZADO II JOSE ARRIETA NARVAEZ GUSTAVO CARO JESUS GARCIA NILXON VUELVAS TALLER FIREWALL ING.

Alta Disponibilidad de Cortafuegos en Linux. Pablo Neira Ayuso Proyecto Netfilter Universidad de Sevilla

Antes de empezar a escribir las reglas de filtrado del firewall voy a dar una breve explicación sobre como trabaja iptables actualmente.

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS

IPTABLES Manual práctico

Práctica 5: Puesta en marcha de un cortafuegos con IPTABLES Arquitectura de Sistemas y Aplicaciones Distribuidas U.L.P.G.C.

HOW TO SOBRE FIREWALL

Internet Firewalls Linux ipchains.

Seguridad y Alta Disponibilidad

Contenidos. Introducción. Seguridad y Alta Disponibilidad Instalación y configuración de cortafuegos. Introducción Tipos de cortafuegos.

Enrutado en base a marcas de paquetes. Iproute + Iptables.

Seguridad y Alta Disponibilidad

Túneles de IP sobre IP (v4) p.1/16. Movilidad sobre IP. Federico Bareilles. BALUG Balug Argentina Linux User Group

Conferencias Abiertas de GNU/Linux MTLUG La Matanza GNU/Linux Users Group Firewalls con IPTABLES (y sus amigos)

Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux

2. Diferencias respecto a IPCHAINS

Laboratorio de Redes de Computadores

Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados

Enrutamiento y filtrado

Instalación de shorewall.

Diseño y Evaluación de Configuraciones Traffic Control: Control de tráfico en Linux

Control de Trafico y Calidad en el Servicio: Traffic Shaping with Hierarchical Token Bucket

El nivel de red de TCP/IP Enviar datagramas De una máquina a otra Utilizando rutas (locales) Sin garantías

Tema 5. Topologías de red Seguras. Módulo I : Topologías de Red Seguras

WireShark. Este instructivo describe el uso del programa WireShark (antes llamado Ethereal) para examinar paquetes en una red de datos.

A2 Filtrado y registro de paquetes con Iptables

Introducción. Al conectarnos a internet en nuestras casas o lugares de trabajo, de

Parte III Implementación

Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en Red

PARTE IV. Uso de shorewall. Shorewall Configuración de Shorewall

WebProxy Caché. Introducción y Tips para mejorar el servicio. Presentación: Mario Clep.

Ethereal. Este instructivo describe el uso del programa Ethereal para examinar paquetes en una red de datos.

Implementación del Control de Tráfico en Linux

Calidad de servicio (Quality of Service - QOS)

Informe Final Experiencia 2 Configuración de Firewall, Router y Gateway

Introducción a las redes TCP/IP en Linux

Práctica 5: Listas de acceso estándar y extendidas

Aprendizajes esperados

12º Unidad Didáctica FIREWALLS. Eduard Lara

Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en Red

Proyecto Implementación de un nodo para una red libre (Wi-Fi) Redes de computadores I

CURSO PRÁCTICO DE REDES PRÁCTICA 3a PRÁCTICA DE TCP-IP ARP/ICMP/IP. Departamento de Ingeniería Área de Ingeniería de Sistemas y Automática 1.

CONTROL DE TRÁFICO UTILIZANDO LINUX

Introducción al concepto y puesta en marcha de una pared de fuego utilizando IPTables

Seguridad de Clusters Linux

Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados

Transcripción:

Ejemplos iptables Planificación y gestión de redes de ordenadores Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de 2012 GSyC - 2012 Ejemplos iptables 1

c 2011 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution Share-Alike disponible en http://creativecommons.org/licenses/by-sa/3.0/es GSyC - 2012 Ejemplos iptables 2

Contenidos 1 Configuración de un router NAT 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 3

Contenidos Configuración de un router NAT 1 Configuración de un router NAT 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 4

Configuración de un router NAT El comportamiento de un router NAT se configura con iptables como una colección de reglas de: Reglas de traducción de direcciones y puertos: tabla nat. 10.0.0.10 Red privada 10.0.0.0/24 eth0 eth1 200.0.0.1 Internet GSyC - 2012 Ejemplos iptables 5

Contenidos Configuración de un router NAT 1 Configuración de un router NAT Reglas de traducción de direcciones y puertos: tabla nat 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 6

Ejemplos de configuración de filtrado con iptables (I) 1 Inicialización Borrar las reglas y reiniciar los contadores: iptables -t filter -F iptables -t filter -Z Definir las poĺıticas por defecto: Descartar cualquier cosa salvo paquetes de salida: iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT ACCEPT GSyC - 2012 Ejemplos iptables 7

Ejemplos de configuración de filtrado con iptables (II) 2 Filtrado: permitir cualquier tráfico saliente de la red privada y el tráfico entrante de respuesta Permitir el reenvío de todos los paquetes que se reciben en un router a través de una interfaz (eth0) para que se envíen a través de otra interfaz (eth1) (por ejemplo, permitir tráfico saliente de una organización): iptables -t filter -A FORWARD -i eth0 -o eth1 -j ACCEPT Permitir el reenvío paquetes entrantes que pertenezcan a conexiones ya existentes: iptables -t filter -A FORWARD -i eth1 -o eth0 -m state\ --state RELATED,ESTABLISHED -j ACCEPT Paso%1% 10.0.0.10 Red privada 10.0.0.0/24 eth0 eth1 200.0.0.1 Internet Paso%2% GSyC - 2012 Ejemplos iptables 8

Ejemplos de configuración de filtrado con iptables (III) Guardar en un fichero de log el contenido de los paquetes que se reenvían Para entender el funcionamiento de cómo se aplican las reglas, vamos a almacenar en el fichero de log el contenido de los paquetes a los cuáles se les aplican las reglas que permiten el reenvío del tráfico saliente y las posibles respuestas a dicho tráfico. Regla&1& Regla&2& Regla&3& Regla&4& Mostrar la información de una configuración Se ha enviado un paquete ICMP echo request desde la red privada a Internet y se ha recibido respuesta. La información muestra la cantidad de paquetes a los que se les ha aplicado cada regla. Regla&1& Regla&2& Regla&3& Regla&4& GSyC - 2012 Ejemplos iptables 9

Ejemplos de configuración de filtrado con iptables (IV) Mostrat el fichero de log Los mensajes generados por la configuración previa de LOG en iptables pueden consultarse al fina del fichero /var/log/messages. En este caso el LOG debe contener el paquete ICMP echo request y el ICMP echo reply: r1:~# less /var/log/messages Nov 4 19:07:00 r1 kernel: Regla 2 accept IN=eth0 OUT=eth1 SRC=10.0.0.10 DST=12.0.0.10 \ LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=32522 SEQ=1 Nov 4 19:07:00 r1 kernel: Regla 4 accept IN=eth1 OUT=eth0 SRC=12.0.0.10 DST=10.0.0.10 \ LEN=84 TOS=0x00 PREC=0x00 TTL=63 ID=20573 PROTO=ICMP TYPE=0 CODE=0 ID=32522 SEQ=1 10.0.0.10 Red privada 10.0.0.0/24 Paso%1:% inicio% eth0 Regla&4& Regla&2& eth1 200.0.0.1 Internet Paso%2:% Respuesta% GSyC - 2012 Ejemplos iptables 10

Ejemplos de configuración de filtrado con iptables (V) Consultar el sistema de seguimiento ip conntrack El sistema de seguimiento no muestra ninguna información porque hay una anotación del paquete ICMP echo request pero en cuanto se recibe el paquete ICMP echo reply se borra la información de dicha conexión. Por tanto, el siguiente comando no muestra ninguna información. r1:~# watch -n 1 cat /proc/net/ip_conntrack Nótese que si la máquina a la que se dirige el paquete ICMP echo request no responde, el sistema de seguimiento tendría anotado durante un tiempo el paquete ICMP echo request: r1:~# watch -n 1 cat /proc/net/ip_conntrack icmp 1 28 src=11.0.0.10 dst=12.0.0.56 type=8 code=0 id=11023 packets=1 bytes=84 [UNREPLIED] src=12.0.0.56 dst=11.0.0.10 type=0 code=0 id=11023 packets=0 bytes=0 mark=0 use=2 GSyC - 2012 Ejemplos iptables 11

Ejemplos de configuración de filtrado con iptables (VI) 3 Filtrado: permitir tráfico tcp entrante en la red privada Permitir el paso de segmentos TCP de establecimiento de conexión de entrada dirigidos a una dirección IP de la red interna (10.0.0.10) y a un puerto (8888). iptables -t filter -A FORWARD -p tcp -d 10.0.0.10 \ --dport 8888 --syn -j ACCEPT Servidor(TCP( Puerto=8888( 10.0.0.10 Red privada 10.0.0.0/24 eth0 Paso%2:% Respuesta% Paso%1:% Inicio% eth1 200.0.0.1 Internet GSyC - 2012 Ejemplos iptables 12

Ejemplos de configuración de filtrado con iptables (VII) Si añadimos esta regla a las anteriores y configuramos iptables para almacenar los paquetes que cumplan la regla en el fichero de log: Regla&1& Regla&2& Regla&3& Regla&4& Regla&5& Regla&6& GSyC - 2012 Ejemplos iptables 13

Ejemplos de configuración de filtrado con iptables (VIII) Se abre una conexión TCP desde una máquina externa (SYN, SYN+ACK, ACK). Al mostrar el fichero de log: r1:~# less /var/log/messages Nov 5 00:31:04 r1 kernel: Regla 6 accept IN=eth1 OUT=eth0 SRC=12.0.0.4 DST=11.0.0.10 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=11521 DF PROTO=TCP SPT=58228 DPT=8888 WINDOW=5840 RES=0x00 SYN URGP=0 Nov 5 00:31:04 r1 kernel: Regla 2 accept IN=eth0 OUT=eth1 SRC=11.0.0.10 DST=12.0.0.4 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=TCP SPT=8888 DPT=58228 WINDOW=5792 RES=0x00 ACK SYN URGP=0 Nov 5 00:31:04 r1 kernel: Regla 4 accept IN=eth1 OUT=eth0 SRC=12.0.0.4 DST=11.0.0.10 LEN=52 TOS=0x00 PREC=0x00 TTL=63 ID=11522 DF PROTO=TCP SPT=58228 DPT=8888 WINDOW=2920 RES=0x00 ACK URGP=0 Servidor(TCP( Puerto=8888( Paso(1:(SYN( Regla(6( Paso(3:( (ACK(y(datos( Regla(4( 10.0.0.10 Red privada 10.0.0.0/24 eth0 Paso(2:(( SYN+ACK( Regla(2( eth1 200.0.0.1 Internet GSyC - 2012 Ejemplos iptables 14

Ejemplos de configuración de filtrado con iptables (IX) Al mostrar el sistema de seguimiento ip conntrack después del establecimiento de la conexión: r1:~# watch -n 1 cat /proc/net/ip_conntrack tcp 6 430970 ESTABLISHED src=12.0.0.10 dst=10.0.0.10 sport=58228 dport=8888 packets=2 bytes=112 src=10.0.0.10 dst=12.0.0.10 sport=8888 dport=58228 packets=1 bytes=60 [ASSURED] mark=0 use=1 GSyC - 2012 Ejemplos iptables 15

Ejemplos de configuración de filtrado con iptables (X) 4 Filtrado: permitir tráfico UDP entrante en la red privada Permitir el paso de datagramas UDP de entrada dirigidos a una dirección IP de la red interna (10.0.0.10) y a un puerto (8888). iptables -t filter -A FORWARD -p udp -d 10.0.0.10 \ --dport 8888 -j ACCEPT Servidor(UDP( Puerto=8888( 10.0.0.10 Red privada 10.0.0.0/24 eth0 Paso%2:% Respuesta% Paso%1:% Inicio% eth1 200.0.0.1 Internet GSyC - 2012 Ejemplos iptables 16

Ejemplos de configuración de filtrado con iptables (XI) Si añadimos esta regla a las anteriores y configuramos iptables para almacenar los paquetes que cumplan la regla en el fichero de log: Regla&1& Regla&2& Regla&3& Regla&4& Regla&5& Regla&6& Regla&7& Regla&8& GSyC - 2012 Ejemplos iptables 17

Ejemplos de configuración de filtrado con iptables (XII) Se envía un paquete de datos UDP desde una máquina externa. Al mostrar el fichero de log: r1:~# less /var/log/messages Nov 5 00:32:04 r1 kernel: Regla accept 8 IN=eth1 OUT=eth0 SRC=12.0.0.4 DST=11.0.0.10 LEN=34 TOS=0x00 PREC=0x00 TTL=63 ID=2916 DF PROTO=UDP SPT=33666 DPT=8888 LEN=14 Servidor(UDP( Puerto=8888( Regla(8( Paso(1:(datos( desde(inicio( 10.0.0.10 Red privada 10.0.0.0/24 eth0 eth1 200.0.0.1 Paso(2:(( respuesta( Regla(2( Internet Al mostrar el sistema de seguimiento ip conntrack: r1:~# watch -n 1 cat /proc/net/ip_conntrack udp 17 21 src=12.0.0.10 dst=10.0.0.10 sport=58300 dport=8888 packets=1 bytes=34 [UNREPLIED] src=10.0.0.10 dst=12.0.0.10 sport=8888 dport=58300 packets=0 bytes=0 mark=0 use=1 GSyC - 2012 Ejemplos iptables 18

Contenidos Configuración de un router NAT Reglas de traducción de direcciones y puertos: tabla nat 1 Configuración de un router NAT Reglas de traducción de direcciones y puertos: tabla nat 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 19

Reglas de traducción de direcciones y puertos: tabla nat Ejemplos de traducción de direcciones IP y puertos con iptables (I) Inicialización Borrar las reglas y reiniciar los contadores: iptables -t nat -F iptables -t nat -Z Source NAT Modificar la dirección IP origen de los datagramas IP al salir de una red privada (10.0.0.0/24) a través de la interfaz de salida (eth1) de un router NAT. Todos los datagramas llevarán la dirección IP pública del router NAT (200.0.0.1): iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth1 -j SNAT --to-source 200.0.0.1 Aplicación) Cliente) Red privada 10.0.0.0/24 eth0 eth1 200.0.0.1 SNAT 1 DNAT 2 automático Internet GSyC - 2012 Ejemplos iptables 20

Reglas de traducción de direcciones y puertos: tabla nat Ejemplos de traducción de direcciones IP y puertos con iptables (II) Destination NAT Modificar la dirección IP destino y puerto destino de los segmentos TCP al entrar dentro de una red privada (10.0.0.0/24). Los segmentos van dirigidos inicialmente a la dirección IP del router NAT (200.0.0.1) y puerto 8080, recibiéndose en su interfaz (eth0). Antes de comprobar la tabla de encaminamiento (PREROUTING) se modificará su dirección IP destino a 10.0.0.10 y puerto destino 80. iptables -t nat -A PREROUTING -p tcp -i eth0 -d 200.0.0.1 --dport 8080 -j DNAT --to-destination 10.0.0.10:80 Servidor(TCP(( puerto(80( 10.0.0.10 Red privada 10.0.0.0/24 eth0 eth1 200.0.0.1 DNAT 1 SNAT 2 automático Internet GSyC - 2012 Ejemplos iptables 21

Reglas de traducción de direcciones y puertos: tabla nat Ejemplos de traducción de direcciones IP y puertos con iptables (III) Al consultar las reglas de todas las cadenas de la tabla nat: r1:~# iptables -t nat -L -v Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 DNAT tcp -- eth0 any anywhere 200.0.0.1 tcp dpt:http-alt to:10.0.0.10:80 Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 SNAT all -- any eth1 10.0.0.0/24 anywhere to:200.0.0.1 Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination GSyC - 2012 Ejemplos iptables 22

Clasificación de tráfico con iptables Contenidos 1 Configuración de un router NAT 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 23

Clasificación de tráfico con iptables Ejemplos de clasificación de tráfico con iptables Algunos de las reglas de clasificación que se podían expresar utilizando las reglas filter de la herramienta Traffic Control, pueden reescribirse a través de iptables. Ejemplo: clasificar todo el tráfico TCP de salida de la interfaz eth0 cuyo puerto destino sea 80 dentro de la clase de tráfico 1:10. tc filter add dev eth0 parent 1:0 protocol ip u32 \ match ip protocol 0x6 0xff \ match ip dport 80 0xffff classid 1:10 Esta regla se puede expresar de otras 2 formas diferentes con iptables: 1 A través de la acción CLASSIFY de iptables. 2 A través de la acción MARK de iptables y el filtro fw de tc que comprueba la marca insertada por iptables. GSyC - 2012 Ejemplos iptables 24

Clasificación de tráfico con iptables Clasificación de tráfico con iptables: CLASSIFY 1 A través de la acción CLASSIFY de iptables. Si un paquete cumple la condición de una regla cuya acción es CLASSIFY, el paquete se clasifica pero no abandona la cadena a la cuál pertenece la regla. Por tanto, si desea que abandone la cadena se debe especificar expĺıcitamente. iptables -t mangle -A POSTROUTING \ -o eth0 -p tcp --dport 80 -j CLASSIFY --set-class 1:10 iptables -t mangle -A POSTROUTING \ -o eth0 -p tcp --dport 80 -j RETURN La acción RETURN hace que se ejecute la poĺıtica por defecto para esa cadena. Al consultar las reglas de la tabla mangle y cadena POSTROUTING: r1:~# iptables -t mangle -L POSTROUTING -v -n --line-numbers Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1 0 CLASIFFY tcp -- any eth0 200.0.0.1 anywhere tcp dpt:80 CLASSIFY set 1:10 2 0 RETURN tcp -- any eth0 200.0.0.1 anywhere tcp dpt:80 GSyC - 2012 Ejemplos iptables 25

Clasificación de tráfico con iptables Clasificación de tráfico con iptables: MARK y filtro fw de tc 2 A través de la acción MARK de iptables y el filtro fw de tc que comprueba la marca insertada por iptables. Si un paquete cumple la condición de una regla cuya acción es MARK, el paquete se clasifica pero no abandona la cadena a la cuál pertenece la regla. Por tanto, si desea que abandone la cadena se debe especificar expĺıcitamente. La acción MARK inserta una marca en el buffer que almacena el paquete dentro del kernel de Linux. Los filtros de las disciplinas de cola de salida pueden consultar esta marca a través del filtro fw: iptables -t mangle -A POSTROUTING -o eth0 -p tcp --dport 80 -j MARK --set-mark 1 iptables -t mangle -A POSTROUTING -o eth0 -p tcp --dport 80 -j ACCEPT... tc filter add dev eth0 protocol ip parent 1:0 prio 1 \ handle 1 fw classid 1:10 Al consultar las reglas de la tabla mangle y cadena POSTROUTING: r1:~# iptables -t mangle -L POSTROUTING -v -n --line-numbers Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1 0 MARK tcp -- any eth0 200.0.0.1 anywhere tcp dpt:80 MARK xset 0x1/0xffffffff 2 0 ACCEPT tcp -- any eth0 200.0.0.1 anywhere tcp dpt:80 GSyC - 2012 Ejemplos iptables 26

Marcado DSCP de tráfico con iptables Contenidos 1 Configuración de un router NAT 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 27

Marcado DSCP de tráfico con iptables Ejemplos de marcado DSCP con iptables La disciplina de cola DSMARK de Traffic Control se utiliza para el marcado de paquetes: tc qdisc dev eth1 root handle 1:0 dsmark indices 64 tc class change dev eth1 classic 1:1 dsmark mask 0x3 value 0x88 tc class change dev eth1 classic 1:2 dsmark mask 0x3 value 0x90 tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 \ match ip src 200.0.0.1 \ match ip sport 80 0xffff \ match ip protocol 0x6 0xff classid 1:1 tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 \ match ip protocol 0x6 0xff classid 1:2 Para el marcado del campo DSCP de paquetes puede reescribirse con iptables: iptables -t mangle -A POSTROUTING -s 200.0.0.1 --sport 80 -p tcp -j DSCP --set-dscp 0x88 iptables -t mangle -A POSTROUTING -s 200.0.0.1 --sport 80 -p tcp -j RETURN iptables -t mangle -A POSTROUTING -s 200.0.0.1 -p tcp -j DSCP --set-dscp 0x90 O también usando el nombre de la clase (AF41=0x88, AF42=0x90): iptables -t mangle -A POSTROUTING -s 200.0.0.1 --sport 80 -p tcp -j DSCP --set-dscp-class AF41 iptables -t mangle -A POSTROUTING -s 200.0.0.1 --sport 80 -p tcp -j RETURN iptables -t mangle -A POSTROUTING -s 200.0.0.1 -p tcp -j DSCP --set-dscp-class AF42 GSyC - 2012 Ejemplos iptables 28

Marcado DSCP de tráfico con iptables Ejemplos de marcado DSCP con iptables Al consultar las reglas de todas las cadenas de la tabla mangle: r1:~# iptables -t mangle -L -v -n --line-numbers Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1 0 DSCP tcp -- any any 200.0.0.1 anywhere tcp spt:80 DSCP set 0x88 2 0 RETURN tcp -- any any 200.0.0.1 anywhere tcp spt:80 DSCP set 0x88 3 0 DSCP tcp -- any any anywhere anywhere tcp DSCP set 0x90 GSyC - 2012 Ejemplos iptables 29

Contenidos Referencias 1 Configuración de un router NAT 2 Clasificación de tráfico con iptables 3 Marcado DSCP de tráfico con iptables 4 Referencias GSyC - 2012 Ejemplos iptables 30

Referencias Referencias Iptables Tutorial: http://www.iptables.info Linux Advanced Routing & Traffic Control: http://www.lartc.org GSyC - 2012 Ejemplos iptables 31