Tornar uma máquina um roteador NAT

0

Eu gostaria de criar a seguinte rede:

Internet ---- Máquina host ---- VM1 --- (rede local) - VM2

com o VM1 atuando como um roteador NAT. VM1 e VM2 executam o Ubuntu através do VirtualBox.

Para conseguir isso, criei uma rede local 192.168.46.x para VM1 (192.168.46.101) & amp; VM2 (192.168.46.102). Eu também defino o valor em / proc / sys / net / ipv4 / ip_forward para 1 (para VM1). Além disso, eu anexei a VM1 ao NAT.

Com essa configuração, posso fazer ping da VM1 a partir da VM2 e vice-versa, e também posso pingar google.com na VM1.

Pensei que, para conseguir pingar google.com a partir da VM2, bastaria adicionar a seguinte entrada à tabela de roteamento da VM2:

Dest      Gateway         Netmask        Iface
0.0.0.0   192.168.46.101  255.255.255.0  enp0s3

(onde enp0s3 é a única interface de rede da VM2).

Mas ainda assim, a VM2 recebe "host desconhecido google.com" ao executar ping.

Você poderia me ajudar a descobrir por quê?

ifconfig for VM1 , ifconfig for VM2 , route -n para VM1 , route -n para VM2

    
por manuchaud100 21.12.2017 / 04:51

1 resposta

1

Na verdade, eu estava faltando algumas entradas para o iptables, adicionadas da seguinte forma:

# iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
# iptables -A FORWARD -i enp0s8 -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT

com enp0s8 a interface para o mundo externo, e enp0s3 a interface para a rede interna.

Solicitações para a Internet da VM2 agora estão funcionando ...:)

    
por manuchaud100 22.12.2017 / 17:44