(Migrado dehttps://serverfault.com/questions/895250/setting-up-ubuntu-linux-16-04-as-a-router-within-a-vm)
Quero configurar uma VM Ubuntu como um roteador em execuçãoatcdpara que eu possa fazer testes direcionados de um único dispositivo sob diversas condições de rede. Consegui fazer com que as peças funcionassem, mas não consegui fazer com que o gateway roteasse meus pacotes.
Síntese do que tentei:
- Crie uma VM Ubuntu 16.04 (
"router"
) em um host Ubuntu 16.04 ("laptop"
) - Criou duas NICs para a VM, ambas interligadas ao único adaptador WiFi do host
- Defina a primeira NIC (
enp0s3
) a ser configurada estaticamente para ser o gateway, em 192.168.0.199 - Defina a segunda NIC (
enp0s8
) para ser configurada automaticamente via DHCP, por exemplo, 192.168.0.100 - Usei as seguintes
iptables
regras (deaquieaqui) sobrerouter
:iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE iptables -A FORWARD -i enp0s8 -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT
- Dispositivo/host em teste (
"test-device"
) configurado para estar no IP estático 192.168.0.77, configurado para usar 192.168.0.199 como gateway.
Neste ponto, consigo acessar um servidor HTTP em execução router
por meio de 192.168.0.199 e 192.168.0.100 de outras máquinas na LAN que estão configuradas para ainda usar o roteador Wifi como gateway (192.168.0.1).
test-device
é capaz de executar ping em hosts na Internet, no entanto, não consegue configurar conexões TCP para eles (por exemplo, curl www.google.com
falha com "Destino inacessível".
Algumas outras coisas que valem a pena compartilhar:
iptables
configuração em router
:
root# iptables -L -v
Chain INPUT (policy ACCEPT 12012 packets, 5058K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- enp0s8 enp0s3 anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT all -- enp0s3 enp0s8 anywhere anywhere
Chain OUTPUT (policy ACCEPT 3220 packets, 271K bytes)
pkts bytes target prot opt in out source destination
ip route
entradas
root# ip route
default via 192.168.0.1 dev enp0s3 onlink
169.254.0.0/16 dev enp0s3 scope link metric 1000
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.199
192.168.0.0/24 dev enp0s8 proto kernel scope link src 192.168.0.121
Não sei o que fazer a seguir e preciso de ajuda!
Responder1
Vocênão ativou o encaminhamento de IPem sysctl...
Pararealizar roteamento IPno UbuntuLinux:
sudo nano sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.forwarding=1
sudo sysctl -p