Como especificar uma rota entre três interfaces em um roteador

1

Eu tenho esta configuração:

                                       10.5.128.150
Ubuntu                              Ubuntu eth2 <------>   server (10.5.128.154)
client  eth1     <---->    eth1     Router eth3 <------>
    10.5.129.179       10.5.129.39       10.5.130.201

Assim, o roteador do Ubuntu está gerenciando três domínios:

  • 10.5.129.0/24: aqui é onde o cliente mora
  • 10.5.128.0/24: governado pela eth2 e conectado ao servidor.
  • 10.5.130.0/24: governado pela eth3

Seguindo a resposta aqui: link , configurei o cliente para usar o roteador como o gateway para 10.5. Tráfego 128,0 / 24.

Aqui está a tabela de rotas no roteador:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
....
10.5.128.0      *               255.255.255.0   U     0      0        0 eth2
10.5.129.0      *               255.255.255.0   U     0      0        0 eth1
10.5.130.0      *               255.255.255.0   U     0      0        0 eth3

Tudo isso parece ótimo para mim, mas quando tento pingar esse servidor pelo cliente, não obtenho resposta:

# ping -n -I eth1 10.5.128.154                                                                                                                                  
PING 10.5.128.154 (10.5.128.154) from 10.5.129.179 eth1: 56(84) bytes of data.

O roteador mostra corretamente o tráfego do ping na eth1 do roteador:

# tcpdump -n -i eth1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
15:20:17.428153 IP 10.5.129.179 > 10.5.128.154: ICMP echo request, id 909, seq 170, length 64
15:20:17.618104 IP 10.5.129.179 > 10.5.128.154: ICMP echo request, id 874, seq 2534, length 64
15:20:18.427959 IP 10.5.129.179 > 10.5.128.154: ICMP echo request, id 909, seq 171, length 64

Mas os buracos de ping no roteador. Nunca sai da interface eth2 como eu esperava:

# tcpdump -n -i eth2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 262144 bytes

(está vazio.)

Na verdade, não vai a lugar nenhum:

# tcpdump -n -i any icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
15:31:53.138046 IP 10.5.129.179 > 10.5.128.154: ICMP echo request, id 874, seq 3224, length 64
15:31:54.145980 IP 10.5.129.179 > 10.5.128.154: ICMP echo request, id 874, seq 3225, length 64
15:31:55.154033 IP 10.5.129.179 > 10.5.128.154: ICMP echo request, id 874, seq 3226, length 64

Os pedidos do ping não devem sair na eth2 por sua tabela de rotas? Ou há algo mais que eu preciso configurar no roteador Ubuntu para fazer com que os pacotes saiam da eth2?

    
por firebush 02.10.2018 / 01:06

1 resposta

1

Você ativou o encaminhamento ?

Use

/sbin/sysctl -w net.ipv4.conf.all.forwarding=1

para torná-lo permanente.

    
por 02.10.2018 / 19:06