Problema de roteamento com IP Forwarding no Ubuntu 14.04 e VirtualBox

0

Eu tenho um problema de roteamento com o encaminhamento de IP no meu servidor ubuntu.

No meu servidor Ubuntu (um laptop antigo) eu tenho VirtualBox instalado com um número de máquinas virtuais. Cada VM tem seu NIC virtual conectado ao adaptador wlan0 físico no servidor e, se estiver configurado para usar o DHCP, ficará feliz em obter um endereço IP do meu roteador sem fio doméstico. Então, a ponte parece estar funcionando bem.

O roteador sem fio opera na sub-rede 172.17.17.0/24.

Algumas VMs têm IPs estáticos configurados em sub-redes diferentes que são difíceis de alterar devido aos aplicativos executados nelas. Eu tenho duas sub-redes de VM:

172.17.40.0/24 192.168.195.0/24

Eu achei que poderia fazer com que todos conversassem alegremente dando ao meu laptop host um endereço IP em cada sub-rede, apontando as VMs para o IP apropriado como seu gateway e ativando o encaminhamento de IP no host. Então, o host tem os seguintes IPs atribuídos a wlan0:

172.17.17.100 172.19.40.1 192.168.195.1

Com essa configuração, as VMs da sub-rede 172.19.40.0 podem executar ping na sub-rede 192.168.195.0 e vice-versa. O anfitrião feliz IP encaminha entre essas duas sub-redes. As VMs nessas sub-redes também podem executar ping no servidor em 172.17.17.100.

No entanto, nenhuma das VMs na sub-rede 172.19.40.0 ou 192.168.195.0 pode fazer ping no roteador sem fio em 172.17.17.254.

Acho que falta alguma configuração no host, mas não consigo ver qual é a diferença entre as VMs em cada sub-rede que fazem o ping umas das outras e as VMs na sub-rede fazendo o ping no roteador em uma terceira sub-rede - além disso, um dispositivo físico - ainda estou solicitando ao host que transmita IP de uma sub-rede para outra. Qual a diferença que eu sinto falta?!

Aprecie qualquer ajuda oferecida.

Ken

Editar - diagrama abaixo para maior clareza. Ele mostra tentativas de pings entre máquinas virtuais, o host e o roteador.

    
por Ken Knowles 10.03.2016 / 15:27

1 resposta

0

Você precisa ter o rp_filter para que um host de bridging aceite a saída de pacotes que não são próprios de seu próprio intervalo de endereços IP locais IP.

net.ipv4.conf.all.rp_filter=0

Quanto ao roteamento, o problema é que o roteador não conhece a rede 172.19.40.xe, enquanto o pacote chega ao roteador, a resposta passa pelo gateway padrão (ou seja, uma rede desconhecida, em vez de voltar) .

Você precisa definir no roteador a rota (por exemplo,

172.19.40.0 255.255.255.0 gw 172.17.17.100

Fazendo isso, a resposta retornará ao seu host.

Pensando bem, esta pode não ser a resposta certa e, ao entrar em ponte, você terá que fornecer ao roteador um IP secundário da rede 172.19.40.0.

    
por 11.03.2016 / 12:40