Dos interfaces de red diferentes CentOS simultáneamente

Dos interfaces de red diferentes CentOS simultáneamente

Me estoy volviendo loco porque llevo casi una semana intentando resolver esto.

Guión:Un servidor con dos dispositivos de red diferentes. Cada dispositivo está conectado a una subred de empresa diferente.

eth0está enchufado x.y.5.184/29, mientras que eth1está enchufado x.y.88.224/27. Quiero que el servidor escucheambosdispositivos.

La IP del servidor .5.184/29será x.y.5.186, la IP del servidor .88.224/27será x.y.88.253. Me gustaría ejecutar dos máquinas virtuales diferentes con Apache, por lo que el servidor, con natpf en la máquina virtual respectiva, escuchará x.y.5.186:p1la VM1 y x.y.88.253:p2la VM2.

xy ytienen que estar ocultos por cuestiones de privacidad, pero se les dan valores.

Así que aquí está el problema: si aparezco eth1, el servidor no responde eth0y no sé realmente por qué.

Aquí hay algunos resultadosconambos dispositivos arriba:

[user@server ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet x.y.5.186  netmask 255.255.255.248  broadcast x.y.5.191
    ether <MAC>  txqueuelen 1000  (Ethernet)
    RX packets 77141  bytes 50779367 (48.4 MiB)
    RX errors 27  dropped 0  overruns 26  frame 1
    TX packets 83841  bytes 63781133 (60.8 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet x.y.88.253  netmask 255.255.255.224  broadcast x.y.88.255
    ether <MAC>  txqueuelen 1000  (Ethernet)
    RX packets 77911  bytes 6285521 (5.9 MiB)
    RX errors 0  dropped 836  overruns 0  frame 0
    TX packets 6502  bytes 1057860 (1.0 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 0  (Local Loopback)
    RX packets 740  bytes 606784 (592.5 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 740  bytes 606784 (592.5 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
    ether 52:54:00:67:e6:77  txqueuelen 0  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 [user@server ~]$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         x.y.5.185    0.0.0.0         UG    0      0        0 eth0
0.0.0.0         x.y.88.225   0.0.0.0         UG    10     0        0 eth1
x.y.5.184    0.0.0.0         255.255.255.248 U     0      0        0 eth0
x.y.88.224   0.0.0.0         255.255.255.224 U     10     0        0 eth1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

[user@server ~]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
# ifcfg-eth0
HWADDR=<MAC>
TYPE=Ethernet
BOOTPROTO=none
#DNS1=x.y.company.dns
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV4_ROUTE_METRIC=0
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=SERVER
UUID=<uuid>
DEVICE=eth0
ONBOOT=yes
IPADDR=x.y.5.186
PREFIX=29
GATEWAY=x.y.5.185


[user@server ~]$ cat /etc/sysconfig/network-scripts/ifcfg-eth1
# ifcfg-eth1
HWADDR=<MAC2>
TYPE=Ethernet
BOOTPROTO=none
#DNS1=x.y.company.dns
DEFROUTE=no
IPV4_FAILURE_FATAL=yes
IPV4_ROUTE_METRIC=10
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=CLIENT
UUID=<uuid2>
DEVICE=eth1
ONBOOT=no
IPADDR=x.y.88.253
PREFIX=27
GATEWAY=x.y.88.225

Entonces mi pensamiento es que podría ser una ruta. Eliminé /etc/sysconfig/network-scripts/route-eth0y route-eth1, entonces esos son los valores predeterminados.

[user@server ~]$ ip route
default via x.y.5.185 dev eth0  proto static
default via x.y.88.225 dev eth1  proto static  metric 10
x.y.5.184/29 dev eth0  proto kernel  scope link  src x.y.5.186
x.y.88.224/27 dev eth1  proto kernel  scope link  src x.y.88.253  metric 1
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

Eliminé la ruta predeterminada paraeth1

[root@server user]#  ip route del default via x.y.88.225 dev eth1  prot

Y todavía nada cambia. El ping a eth0IP falla pero si elimino la otra ruta con

[root@server user]#  ip route del x.y.88.224/27 dev eth1  proto kernel ric 10

eth0funciona de nuevo, cada conexión x.y.5.186vuelve a funcionar, pero eth1deja de funcionar. Hasta donde yo sé, la métrica que utilicé eth1debería resolver el problema, pero no es así. ¿Algún experto en enrutamiento que tenga una idea sobre esto?

Editar: CentOS nuevo

Respuesta1

Esta pregunta se ha hecho millones de veces aquí.

No se puede hacer mientras lo intentas; necesitarásenrutamiento de políticas. Puedes encontrar una introducción básica.aquí.

Tendrás que especificar, comoregla de propiedad intelectualque determina cuál de las dos tablas de enrutamiento se aplicará, una que especifica que, si el paquete proviene de la dirección IP de VM1 entonces use la tabla 1, de lo contrario use la tabla 2. Por eso se llama a vecesenrutamiento de origen, en lugar de enrutamiento de políticas: porque la tabla que se aplicará se elige en función de la dirección IP de origen, no de la dirección de destino.

información relacionada