Red Hat Training
A Red Hat training course is available for RHEL 8
20.3. Enrutamiento del tráfico de una subred específica a una puerta de enlace predeterminada diferente utilizando los scripts de red heredados
Esta sección describe cómo configurar RHEL como un enrutador que, por defecto, enruta todo el tráfico al proveedor de Internet A utilizando la ruta por defecto. Utilizando el enrutamiento basado en políticas, RHEL enruta el tráfico recibido desde la subred de las estaciones de trabajo internas hacia el proveedor B.
La configuración de la red mediante los scripts de red heredados proporcionados por el paquete network-scripts
está obsoleta en RHEL 8. Siga el procedimiento de esta sección sólo si utiliza los scripts de red heredados en lugar de NetworkManager en su host. Si utiliza NetworkManager para gestionar la configuración de la red, consulte Sección 20.1, “Enrutamiento del tráfico de una subred específica a una puerta de enlace predeterminada diferente utilizando NetworkManager”.
El procedimiento supone la siguiente topología de red:
Los scripts de red heredados procesan los archivos de configuración en orden alfabético. Por lo tanto, debe nombrar los archivos de configuración de manera que se garantice que una interfaz, que se utiliza en las reglas y rutas de otras interfaces, esté lista cuando una interfaz dependiente la requiera. Para lograr el orden correcto, este procedimiento utiliza números en los archivos ifcfg-*
, route-*
, y rules-*
.
Requisitos previos
-
El paquete
NetworkManager
no está instalado o el servicioNetworkManager
está desactivado. -
El paquete
network-scripts
está instalado. El router RHEL que se quiere configurar en el procedimiento tiene cuatro interfaces de red:
-
La interfaz
enp7s0
está conectada a la red del proveedor A. La IP de la pasarela en la red del proveedor es198.51.100.2
, y la red utiliza una máscara de red/30
. -
La interfaz
enp1s0
está conectada a la red del proveedor B. La IP de la pasarela en la red del proveedor es192.0.2.2
, y la red utiliza una máscara de red/30
. -
La interfaz
enp8s0
está conectada a la subred10.0.0.0/24
con estaciones de trabajo internas. -
La interfaz
enp9s0
está conectada a la subred203.0.113.0/24
con los servidores de la empresa.
-
La interfaz
-
Los hosts de la subred de las estaciones de trabajo internas utilizan
10.0.0.1
como pasarela por defecto. En el procedimiento, se asigna esta dirección IP a la interfaz de redenp8s0
del router. -
Los hosts de la subred del servidor utilizan
203.0.113.1
como pasarela por defecto. En el procedimiento, se asigna esta dirección IP a la interfaz de redenp9s0
del router. -
El servicio
firewalld
está habilitado y activo.
Procedimiento
Añade la configuración de la interfaz de red al proveedor A creando el archivo
/etc/sysconfig/network-scripts/ifcfg-1_Provider-A
con el siguiente contenido:TYPE=Ethernet IPADDR=198.51.100.1 PREFIX=30 GATEWAY=198.51.100.2 DNS1=198.51.100.200 DEFROUTE=yes NAME=1_Provider-A DEVICE=enp7s0 ONBOOT=yes ZONE=external
La siguiente lista describe los parámetros utilizados en el archivo de configuración:
-
TYPE
=Ethernet
: Define que el tipo de conexión es Ethernet. -
IPADDR
=IP_address
: Establece la dirección IPv4. -
PREFIX
=subnet_mask
: Establece la máscara de subred. -
GATEWAY
=IP_address
: Establece la dirección de la puerta de enlace por defecto. -
DNS1
=IP_of_DNS_server
: Establece la dirección IPv4 del servidor DNS. -
DEFROUTE
=yes|no
: Define si la conexión es una ruta por defecto o no. -
NAME
=connection_name
: Establece el nombre del perfil de conexión. Utilice un nombre significativo para evitar confusiones. -
DEVICE
=network_device
: Establece la interfaz de red. -
ONBOOT
=yes
: Define que RHEL inicie esta conexión al arrancar el sistema. -
ZONE
=firewalld_zone
: Asigna la interfaz de red a la zonafirewalld
definida. Tenga en cuenta quefirewalld
activa automáticamente el enmascaramiento para las interfaces asignadas a la zonaexternal
.
-
Añade la configuración de la interfaz de red al proveedor B:
Cree el archivo
/etc/sysconfig/network-scripts/ifcfg-2_Provider-B
con el siguiente contenido:TYPE=Ethernet IPADDR=192.0.2.1 PREFIX=30 DEFROUTE=no NAME=2_Provider-B DEVICE=enp1s0 ONBOOT=yes ZONE=external
Tenga en cuenta que el archivo de configuración de esta interfaz no contiene una configuración de puerta de enlace predeterminada.
Asigne la pasarela para la conexión
2_Provider-B
a una tabla de enrutamiento separada. Por lo tanto, cree el archivo/etc/sysconfig/network-scripts/route-2_Provider-B
con el siguiente contenido:0.0.0.0/0 vía 192.0.2.2 tabla 5000
Esta entrada asigna la pasarela y el tráfico de todas las subredes enrutadas a través de esta pasarela a la tabla
5000.
Cree la configuración para la interfaz de red a la subred de las estaciones de trabajo internas:
Cree el archivo
/etc/sysconfig/network-scripts/ifcfg-3_Internal-Workstations
con el siguiente contenido:TYPE=Ethernet IPADDR=10.0.0.1 PREFIX=24 DEFROUTE=no NAME=3_Internal-Workstations DEVICE=enp8s0 ONBOOT=yes ZONE=internal
Añade la configuración de la regla de enrutamiento para la subred interna de la estación de trabajo. Por lo tanto, cree el archivo
/etc/sysconfig/network-scripts/rule-3_Internal-Workstations
con el siguiente contenido:pri 5 de 10.0.0.0/24 tabla 5000
Esta configuración define una regla de enrutamiento con prioridad
5
que enruta todo el tráfico de la subred10.0.0.0/24
a la tabla5000
. Los valores bajos tienen una prioridad alta.Cree el archivo
/etc/sysconfig/network-scripts/route-3_Internal-Workstations
con el siguiente contenido para añadir una ruta estática a la tabla de enrutamiento con el ID5000
:10.0.0.0/24 vía 192.0.2.1 tabla 5000
Esta ruta estática define que RHEL envía el tráfico de la subred
10.0.0.0/24
a la IP de la interfaz de red local al proveedor B (192.0.2.1
). Esta interfaz es a la tabla de enrutamiento5000
y se utiliza como el siguiente salto.
Añada la configuración de la interfaz de red a la subred del servidor creando el archivo
/etc/sysconfig/network-scripts/ifcfg-4_Servers
con el siguiente contenido:TYPE=Ethernet IPADDR=203.0.113.1 PREFIX=24 DEFROUTE=no NAME=4_Servers DEVICE=enp9s0 ONBOOT=yes ZONE=internal
Reinicia la red:
# systemctl restart network
Pasos de verificación
En un host RHEL en la subred interna de la estación de trabajo:
Instale el paquete
traceroute
:#
yum install traceroute
Utilice la utilidad
traceroute
para mostrar la ruta a un host en Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 10.0.0.1 (10.0.0.1) 0.337 ms 0.260 ms 0.223 ms 2 192.0.2.1 (192.0.2.1) 0.884 ms 1.066 ms 1.248 ms ...La salida del comando muestra que el router envía paquetes a través de
192.0.2.1
, que es la red del proveedor B.
En un host RHEL en la subred del servidor:
Instale el paquete
traceroute
:#
yum install traceroute
Utilice la utilidad
traceroute
para mostrar la ruta a un host en Internet:#
traceroute redhat.com
traceroute to redhat.com (209.132.183.105), 30 hops max, 60 byte packets 1 203.0.113.1 (203.0.113.1) 2.179 ms 2.073 ms 1.944 ms 2 198.51.100.2 (198.51.100.2) 1.868 ms 1.798 ms 1.549 ms ...La salida del comando muestra que el router envía paquetes a través de
198.51.100.2
, que es la red del proveedor A.
Pasos para la resolución de problemas
En el router RHEL:
Muestra la lista de reglas:
#
ip rule list
0: from all lookup local 5: from 10.0.0.0/24 lookup 5000 32766: from all lookup main 32767: from all lookup defaultPor defecto, RHEL contiene reglas para las tablas
local
,main
, ydefault
.Muestra las rutas en la tabla
5000
:#
ip route list table 5000
default via 192.0.2.2 dev enp1s0 10.0.0.0/24 via 192.0.2.1 dev enp1s0Muestra las interfaces y las zonas del cortafuegos:
#
firewall-cmd --get-active-zones
external interfaces: enp1s0 enp7s0 internal interfaces: enp8s0 enp9s0Compruebe que la zona
external
tiene activado el enmascaramiento:#
firewall-cmd --info-zone=external
external (active) target: default icmp-block-inversion: no interfaces: enp1s0 enp7s0 sources: services: ssh ports: protocols: masquerade: yes ...
Recursos adicionales
- Sección 20.2, “Visión general de los archivos de configuración implicados en el enrutamiento basado en políticas cuando se utilizan los scripts de red heredados”
-
La página de manual
ip-route(8)
-
La página de manual
ip-rule(8)
-
Para más detalles sobre los scripts de red heredados, consulte el archivo
/usr/share/doc/network-scripts/sysconfig.txt