25.05.2023

Cómo configurar varias interfaces de red en CentOS 8

Si hay 2 o más interfaces de red con direcciones IP públicas en el sistema, no es suficiente realizar la configuración de red correcta para garantizar su disponibilidad desde Internet. La desventaja del enrutamiento predeterminado es que todos los paquetes de red dejarán el host a través de la puerta de enlace predeterminada. Y al mismo tiempo, no importa a cuál de las interfaces llegaron inicialmente. En este tutorial, configuraremos la disponibilidad de múltiples interfaces de red desde afuera hacia adentro. CentOS 8 usando enrutamiento basado en la fuente.

Interfaz de red paraméteres

servidores en la nube en Serverspace tienen la función de configurar automáticamente las interfaces de red cuando se agregan o se crea un servidor. Por lo tanto, si los usa, continúe con el siguiente paso. De lo contrario, primero debe configurar el pa correctorametros de las interfaces de red.

Abra el archivo de configuración de la interfaz de red. Sus nombres se pueden ver usando el ip a comando, o establezca otros nuevos si no están configurados.

nano /etc/sysconfig/network-scripts/ifcfg-enp0s5

Puede copiar la configuración a continuación y reemplazar los siguientes valores con los suyos propios:

  • nombre de interfaz (enp0s5)
  • puerta de enlace (PUERTA DE ENLACE)
  • Dirección MAC (HWADDR)
  • Dirección IP (IPADDR)
  • máscara de subred (MASCARA DE RED)
BOOTPROTO=ninguno
DEFROUTE=sí
DISPOSITIVO=enp0s5
PUERTA DE ENLACE=54.43.32.1
HWADDR=56:67:78:89:01:ab
Ipaddr = 54.43.32.11
MTU=1500
NETMASK = 255.255.255.0
ONBOOT = sí
MODO DE INICIO=automático
TIPO=Ethernet

Configure todas las interfaces de red de la misma manera. GATEWAY para la segunda, tercera, etc. no se especifican interfaces, ya que esta es la puerta de enlace predeterminada y solo debe haber una.

Deshabilitar NetworkManager

Configuraremos el enrutamiento basado en políticas usando guiones de red, por lo que desactivaremos Gerente de Redes y servicios relacionados:

systemctl máscara NetworkManager.servicio
systemctl detener NetworkManager.servicio
systemctl máscara NetworkManager-wait-online.service
systemctl máscara NetworkManager-dispatcher.servicio

Instale la guiones de red paquete.

dnf instalar scripts de red

Comencemos el servicio de red:

systemctl habilitar red
red de inicio systemctl

Configuración de enrutamiento basada en la fuente

Comprobemos si el enrutar el paquete está presente. Si no, instálelo.

dnf instalar iroute

Agregue nuevas tablas para configurar las políticas de enrutamiento.

nano /etc/iproute2/rt_tables

Agregar registros al final del archivo:

400 400
401 401

Cada fila es una nueva tabla. formato de registro - lista de prioridades space nombre de la tabla. Estos valores deben ser únicos en relación con otras entradas en el archivo. los lista de prioridades es numérico, y el nombre de la tabla puede contener letras. Agregue tantas tablas nuevas como interfaces esté configurando.

Los siguientes archivos contendrán la configuración de enrutamiento. Para cada interfaz, debe crear un par de archivos: regla-eth-nombre, ruta-eth-nombre, Donde nombre-eth debe ser reemplazado con el nombre de la interfaz. Ejemplo para enp0s5 interfaz:

nano /etc/sysconfig/network-scripts/rule-enp0s5

Inserte la siguiente línea con la dirección IP actual en lugar de 54.43.32.11 y el nombre de la tabla creada en el paso anterior en lugar de 400:

de 54.43.32.11 buscar 400

Segundo archivo:

nano /etc/sysconfig/network-scripts/ruta-enp0s5

Reemplaza 54.43.32.0/24 con la dirección de su subred, enp0s5 con el nombre de la interfaz, 400 con el nombre de la tabla correspondiente, y 54.43.32.1 con la puerta de enlace para enrutar el tráfico e insértelo en el archivo abierto:

54.43.32.0/24 dev enp0s5 tabla 400
desarrollador predeterminado enp0s5 a través de la tabla 54.43.32.1 de 400

Después de crear dichos archivos para cada interfaz de red, reinicie el servicio de red y logrará nuestro objetivo.

systemctl reiniciar red