De acuerdo

Introducción a iptables un firewall en Linux

Última respuesta ag. 03, 2020 17:24:53 438 4 1 0

Buen día Comunidad Huawei Enterprise, comparto con todos Ustedes una breve introducción a iptables un firewall de Linux.


iptables es un firewall de filtrado de paquetes libres. Evoluciona junto con el desarrollo del kernel de Linux, y ha experimentado cuatro fases:


1.1 Kernel: ipfirewall

2.0 Kernel: ipfwadm

2.2 Kernel: ipchains

2.4 Kernel: iptables


Un firewall en Linux consta de dos componentes: netfilter e iptables. iptables es una interfaz entre un firewall y los usuarios, mientras que netfilter proporciona funciones de firewall.


netfilter es un marco de referencia en el kernel de Linux. Proporciona una serie de tablas, cada tabla consta de varias cadenas, y cada cadena consta de varias reglas.


iptables es una herramienta de nivel de usuario que puede agregar, eliminar e insertar reglas. Estas reglas le dicen al componente netfilter cómo procesar los paquetes de datos.


Estructura de iptables


  • iptables > table > chain > rule. Una tabla consta de cadenas y la cadena consta de una regla, como se muestra en la siguiente imagen.

121656podmekl90pmklplk.png?image.png


Conceptos básicos de iptables – Regla.


  • Si un paquete de datos coincide con una regla, el paquete se procesa de acuerdo con la regla.

  • Una regla de iptables especifica información quíntuple que incluye la dirección de origen, la dirección de destino, el puerto de origen, el puerto de destino y el protocolo.

  • Si un paquete de datos coincide con una regla de iptables, iptables procesa el paquete de datos de acuerdo con el método definido en la regla, por ejemplo, permitiendo que el paquete de datos pase o descarte el paquete de datos.

122149f444jt48a4ha44al.png?image.png


Conceptos básicos de iptables – Cadena.


  • Una cadena es una ruta para transmitir paquetes de datos. Cada cadena contiene una o más reglas. Cuando un paquete de datos llega a una cadena, iptables hace coincidir el paquete con la primera regla de la cadena y verifica si el paquete cumple con las condiciones definidas en la regla.

  • En caso afirmativo, iptables procesa el paquete de datos de acuerdo con la acción definida en la regla. Si no, iptables hace coincidir el paquete con la siguiente regla.

  • Si el paquete no coincide con ninguna regla en la cadena, se utiliza la política predeterminada en la cadena.


123434jd4r1q4rew2wgadr.png?image.png


iptables contiene cinco cadenas de reglas.


  • Prerouting.

  • Input.

  • Forward.

  • Output.

  • Postrounting.

 

Estas son las cinco cadenas definidas por netfilter. Cualquier paquete de datos que pase alcanzará una de estas cadenas.


Conceptos básicos de iptables – Tabla.


Las tablas proporcionan funciones específicas. iptables contiene cuatro tablas:


  • Filter table: Permite o niega paquetes de datos

  • nat table: traduce direcciones

  • mangle table: Modifica el paquete de datos.

  • raw table: Determina si los paquetes de datos se procesan utilizando el mecanismo de seguimiento de estado.

 

Prioridad de tabla: raw > mangle > nat > filter.


  • Generalmente, se permiten tres cadenas en una filter table: Input, forward, y output.

  • Generalmente, se permiten tres cadenas en una nat table: Prerouting, output, y postrouting.

  • Las cinco cadenas están permitidas en la mangle table: Prerouting, input, forward, output, y postrouting.


Proceso de transmisión de paquetes de datos por iptables.


124758sca2iljy4izjv6ih.png?image.png


Cuando un paquete de datos ingresa a una interface de red, primero hace match con la cadena PREROUTING. El sistema determina el procesamiento posterior de acuerdo con la dirección de destino del paquete. Posible procesamiento.


  • Si la dirección de destino del paquete es el host local, el sistema envía el paquete a la cadena INPUT para que coincida con las reglas de esta cadena. Si el paquete coincide con una regla, el sistema envía el paquete al proceso local correspondiente. Si no se encuentra ninguna coincidencia, el sistema descarta el paquete.

  • Si la dirección de destino del paquete no es el host local, se reenviará el paquete. El sistema envía directamente el paquete a la cadena FORWARD para que coincida con la regla en esta cadena. Si el paquete coincide con una regla, el sistema envía el paquete al proceso local correspondiente. Si no se encuentra ninguna coincidencia, el sistema descarta el paquete.

  • Si el paquete se genera localmente, el sistema envía directamente el paquete a la cadena OUTPUT para que coincida con las reglas de esta cadena. Si el paquete coincide con una regla, el sistema envía el paquete al proceso local correspondiente. Si no se encuentra ninguna coincidencia, el sistema descarta el paquete.


Reglas iptables.


Las reglas de iptable son complejas.


Formato: iptables [-t table] COMMAND chain CRITERIA –j ACTION


  • -t table: específica la tabla a la que se aplica la regla. Puede ser filter, nat, mangle, o raw.

  • COMMAND: define cómo gestionar las reglas.

  • Chain: Especifica una cadena y puede omitirse cuando se define una política

  • CRITERIA: Especifica criterios coincidentes.

  • -j ACTION: Especifica la acción a tomar.


Por ejemplo, el acceso a 172.16.0.0/16 no está permitido.


  • iptables –t filter –A INPUT –s 172.16.0.0/16 –p udp --dport 53 –j DROP

 

Esperamos sus comentarios y/o preguntas a esta publicación.

 

Saludos!

  • x
  • convención:

SENDERO
Publicado 2020-2-15 11:31:29 Útil(0) Útil(0)
Muy interesante tu publicacion.
Quiero saber si me puedes colaborar con algo:
Tengo un servidor con ubuntu server 18.4 con squid y utilizo IPTABLES para hacer que todo el trafico pase por el PROXY con estas 2 lineas:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 3128
El problema es que tenemos televisores SMART a los que no les podemos configurar el proxy.
Necesito una regla de IPTABLES que haga que estas IP de los televisores no tengan que pasar por el proxy
Espero me puedas colaborar. gracias
Ver más
  • x
  • convención:

Gustavo.HdezF
Moderador Publicado 2020-2-21 11:41:38 Útil(0) Útil(0)

Hola @Jorge podrías contestarle a @SENDERO su pregunta. Gracias.

Ver más
  • x
  • convención:

gonzalobullanguero
Publicado 2020-5-28 14:17:47 Útil(0) Útil(0)
Hola comunidad, como están, gracias por compartir su conocimiento, tengo varias consultas, resulta que monte un Firewall Iptables en una maquina virtual con Debian 10, la interfaz de red en la maquina virtual esta configurada como Adaptador puente con una dirección ip estática 192.168.1.x, junto con su puerta de enlace predeterminada y su DNS por defecto, tengo acceso a internet sin ningún problema, cree un script con reglas Iptables, pero al ejecutar el script de iptables no me arroja ningún error, de hecho internamente dentro de la maquina virtual de Debian se aplicaron correctamente las reglas de Iptables, pero tengo dos maquinas físicas encendidas, una con sistema operativo Ubuntu y otra maquina con Windows 10 Pro, las dos maquinas con direccionamiento ip estático, y están dentro del mismo rango de ip que la maquina virtual de Debian, pero no se aplicaron las reglas de Iptables, porque en las dos maquinas físicas puedo navegar sin ningún problema y también puedo hacer ping icmp a otros equipos, tengo conectadas las 3 maquinas por cable a un modem movistar model: MITRASTAR GPT-2541GNAC, como irían conectados los equipos para que el Firewall Iptables sea aplicado en las dos maquinas físicas, como seria la topología de red en este caso??.

Disculpen mi ignorancia, pero empecé hace poco un curso de Iptables, debo aplicar un Firewall Iptables con los recursos que tengo, la quina virtual Debian 10 donde esta montado Iptables, las dos maquinas físicas, y el modem movistar model: MITRASTAR GPT-2541GNAC.
Ver más
  • x
  • convención:

Jazmin
Publicado 2020-8-3 17:24:53 Útil(0) Útil(0)

#BuscaComunidadEnterprise


f


Ver más
  • x
  • convención:

Comentar

Debe iniciar sesión para responder la publicación Inicio de sesión | Registrarse
Responder

Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”

My Followers

¡Ingresa y disfruta de todos los beneficios para los miembros!

Inicia sesión

Comunidad Huawei Enterprise
Comunidad Huawei Enterprise
Bloquear
¿Estás seguro de bloquear a este usuario?
Los usuarios en lista negra no pueden comentar tus publicaciones,no pueden mencionarte,no pueden enviarte mensajes privados.
Recordatorio
Agrega tu número de teléfono para obtener un bono de invitación.