Cómo realizar el filtrado de paquetes, la traducción de direcciones de red y establecer parámetros de tiempo de ejecución del kernel - Parte 2

Cómo realizar el filtrado de paquetes, la traducción de direcciones de red y establecer parámetros de tiempo de ejecución del kernel - Parte 2

Como se prometió en Parte 1 ("Configurar el enrutamiento de red estática"), en este artículo (Parte 2 de RHCE Serie) Comenzaremos introduciendo los principios de filtrado de paquetes y traducción de direcciones de red (NAT) en Red Hat Enterprise Linux 7, Antes de sumergirse en la configuración de los parámetros del núcleo de tiempo de ejecución para modificar el comportamiento de un núcleo en ejecución si ciertas condiciones cambian o necesidades surgen.

RHCE: filtrado de paquetes de red - Parte 2

Filtrado de paquetes de red en RHEL 7

Cuando hablamos sobre el filtrado de paquetes, nos referimos a un proceso realizado por un firewall en el que lee el encabezado de cada paquete de datos que intenta pasar a través de él. Luego, filtra el paquete tomando la acción requerida basada en reglas que el administrador del sistema ha definido previamente.

Como probablemente sepa, comenzando con Rhel 7, El servicio predeterminado que administra las reglas de firewall es Firewalld. Al igual que iptables, habla con el módulo NetFilter en el núcleo de Linux para examinar y manipular paquetes de red. A diferencia de los iptables, las actualizaciones pueden entrar en efecto inmediatamente sin interrumpir las conexiones activas: ni siquiera tiene que reiniciar el servicio.

Otra ventaja de cortafuegos es que nos permite definir reglas basadas en nombres de servicios preconfigurados (más sobre eso en un minuto).

En Parte 1, Usamos el siguiente escenario:

Diagrama de red de enrutamiento estático

Sin embargo, recordará que deshabilitamos el firewall enrutador #2 Para simplificar el ejemplo, ya que aún no habíamos cubierto el filtrado de paquetes. Veamos ahora cómo podemos habilitar paquetes entrantes destinados a un servicio o puerto específico en el destino.

Primero, agregemos una regla permanente para permitir el tráfico entrante en ENP0S3 (192.168.0.19) a ENP0S8 (10.0.0.18)

# firewall -cmd --Permanent ---direct --add -rule ipv4 filtre hacia adelante 0 -i enp0s3 -o enp0s8 -j aceptar 

El comando anterior guardará la regla para /etc/firewalld/directo.xml:

# cat/etc/firewalld/directo.xml 
Verifique las reglas guardadas de Firewalld

Luego, habilite la regla para que surja efecto de inmediato:

# firewall -cmd --direct --add -rule ipv4 filtro hacia adelante 0 -I ENP0S3 -O ENP0S8 -J Aceptar 

Ahora puede telnet al servidor web desde el Rhel 7 box y ejecute tcpdump nuevamente para monitorear el tráfico TCP entre las dos máquinas, esta vez con el firewall en enrutador #2 activado.

# Telnet 10.0.0.20 80 # tcpdump -qnnvvv -i enp0s3 host 10.0.0.20 

¿Qué pasa si solo desea permitir conexiones entrantes al servidor web (Puerto 80) de 192.168.0.18 y conexiones de bloque de otras fuentes en el 192.168.0.24/04 red?

En el firewall del servidor web, agregue las siguientes reglas:

# firewall-cmd --add-rich-rich-rule 'regla familia = "ipv4" dirección de origen = "192.168.0.18/24 "Service Name =" Http "Aceptar ' # firewall-cmd --add-rich-rule' regla familia =" ipv4 "dirección de origen =" 192.168.0.18/24 "Service Name =" Http "Acept '--Permanent # Firewall-CMD --Add-Rich-Rule' Rule Family =" IPv4 "Dirección de origen =" 192.168.0.0/24 "Service Name =" Http "Drop ' # FireWall-CMD --add-Rich-Rule' Rule Family =" IPv4 "Dirección de origen =" 192.168.0.0/24 "Nombre del servicio =" http "drop '--Permanent 

Ahora puede realizar solicitudes HTTP en el servidor web, desde 192.168.0.18 y de alguna otra máquina en 192.168.0.24/04. En el primer caso, la conexión debe completarse con éxito, mientras que en el segundo eventualmente se espera.

Para hacerlo, cualquiera de los siguientes comandos hará el truco:

# Telnet 10.0.0.20 80 # wget 10.0.0.20 

Le aconsejo encarecidamente que revise la documentación del lenguaje rico en firewalld en la wiki del proyecto Fedora para obtener más detalles sobre reglas ricas.

Traducción de direcciones de red en RHEL 7

Traducción de Direcciones de Red (Nat) es el proceso en el que a un grupo de computadoras (también puede ser solo una de ellas) en una red privada se les asigna una dirección IP pública única. Como resultado, todavía se identifican de manera única por su propia dirección IP privada dentro de la red, pero para el exterior todos "parecen" lo mismo.

Páginas: 1 2