Como configurar corretamente a tabela de roteamento com conexão ponto a ponto em múltiplas interfaces?

2

Eu tenho 2 servidores, cada um deles tem 3 interfaces de rede. 1 interface ("eno") é usada para conexão de internet via gateway e 2 interfaces ("ens0", "ens1") são usadas para conectar os dois servidores diretamente ponto a ponto. Parece:

    |
   gw
 |    |
S1 == S2

Eu preciso enviar dados de "ens0" para "ens0" e de "ens1" para "ens1" independentemente. Quando estou tentando fazer isso no servidor S2, descobri que todo o tráfego passa por ens0 apesar de eu ligar 2 soquetes (C ++) a interfaces diferentes. Quando faço isso no S1, funciona bem. Então eu verifiquei "tabelas ip". Eles são:

S1 (funciona corretamente):

default via 192.168.1.4 dev eno1 
192.168.1.0/24 dev eno1 proto kernel scope link src 192.168.1.3 
192.168.2.0/24 dev ens3f0 proto kernel scope link src 192.168.2.1 
192.168.2.0/24 dev ens3f1 proto kernel scope link src 192.168.2.2 

S2 (funciona errado):

default via 192.168.1.4 dev eno2 proto static metric 100 
default via 192.168.1.4 dev ens3f0 proto static metric 101 
default via 192.168.1.4 dev ens3f1 proto static metric 102 
192.168.1.0/24 dev eno2 proto kernel scope link src 192.168.1.2 metric 100 
192.168.1.4 dev ens3f0 proto static scope link metric 100 
192.168.1.4 dev ens3f1 proto static scope link metric 101 
192.168.2.0/24 dev ens3f0 proto kernel scope link src 192.168.2.3 metric 100 
192.168.2.0/24 dev ens3f1 proto kernel scope link src 192.168.2.4 metric 101 

A tabela para S2 foi gerada pelo sistema operacional.

Para consertar o problema, tentei alterar a tabela S2 ip para S1. Eu mudei para o estado:

default via 192.168.1.4 dev eno2 proto static
192.168.1.0/24 dev eno2 proto kernel scope link src 192.168.1.2
192.168.2.0/24 dev ens3f0 proto kernel scope link src 192.168.2.3

Então, quando estou tentando fazer

sudo ip route add 192.168.2.0/24 dev ens3f1 src 192.168.2.4

Eu recebi o erro

RTNETLINK answers: File exists


net.ipv4.ip_forward = 0 for both servers.

Minhas perguntas são:

1) Por que não posso adicionar a última entidade no S2 quando está no S1?

2) Como configurar corretamente as tabelas ip para ambas as interfaces poderia operar independentemente e o encaminhamento de tráfego para elas era impossível? (Eu quero ter certeza se eu enviar tráfego para uma interface específica - ele nunca passará por outro).

    
por floatJoe 22.02.2018 / 15:57

0 respostas