Duas interfaces de rede diferentes simultaneamente CentOS

0

Estou enlouquecendo, já que estou tentando resolver isso há quase uma semana.

Cenário: Um servidor com dois dispositivos de rede diferentes. Cada dispositivo é conectado a uma sub-rede diferente da empresa.

eth0 está conectado em x.y.5.184/29 , enquanto eth1 está conectado a x.y.88.224/27 . Eu quero que o servidor escute ambos os dispositivos .

O IP do servidor em .5.184/29 será x.y.5.186 , o IP do servidor em .88.224/27 será x.y.88.253 . Eu gostaria de executar duas VMs diferentes com o Apache, então o servidor deve - com natpf para a respectiva VM - ouvir em x.y.5.186:p1 para VM1 e em x.y.88.253:p2 para VM2

x e y precisam estar ocultos devido a problemas de privacidade, mas recebem valores.

Então, aqui está o problema: se eu mostrar eth1 , o servidor não está respondendo em eth0 e eu realmente não sei por quê.

Aqui estão alguns resultados com ambos os dispositivos:

[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

Então, meu pensamento é que pode ser um caminho. Eu deletei /etc/sysconfig/network-scripts/route-eth0 e route-eth1 , então esses são os padrões.

[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

Eu deletei a rota padrão para eth1

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

E ainda nada muda. Ping para eth0 IP falha, mas se eu excluir a outra rota com

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

eth0 funciona novamente, cada conexão com x.y.5.186 funciona novamente, mas eth1 pára de funcionar. Tanto quanto eu sei a métrica que usei em eth1 deve resolver o problema, mas isso não acontece. Qualquer especialista em roteamento com um pensamento sobre isso?

Editar: novo CentOS

    
por volpe 21.06.2016 / 16:00

1 resposta

0

Esta pergunta foi feita um zilhão de vezes, aqui.

Não pode ser feito como você está tentando fazer, você precisará . Você pode encontrar uma introdução barebone a ela aqui .

Você terá que especificar, como uma regra ip que determina qual das duas tabelas de roteamento deve ser aplicada, uma que especifica que, se o pacote vier do endereço IP da VM1, use Tabela 1, caso contrário, use a tabela 2. É por isso que às vezes é chamado roteamento de origem , em vez de roteamento de política: porque qual tabela deve ser aplicada é escolhida com base no endereço IP de origem, não de o endereço de destino.

    
por 21.06.2016 / 16:33