Iptable e roteamento em um laboratório de virtualbox

2

Eu configurei um laboratório de caixas virtuais, com a seguinte configuração:

Para fazer o laboratório funcionar, criei com um script as seguintes interfaces, permitindo o encaminhamento de porta para a máquina do servidor, a fim de ter acesso à Internet.

Estes comandos são acionados a partir da máquina HOST

tunctl -t tap0 -u myuser
ip link set up dev tap0
brctl addbr br0
brctl addif br0 tap0
ip link set up dev br0
ip addr add 10.1.1.1/24 dev br0
ip route add 10.1.1.0/24 dev br0
tunctl -t tap1 -u myuser
tunctl -t tap2 -u myuser
tunctl -t tap3 -u myuser
ip link set up dev tap1
ip link set up dev tap2
ip link set up dev tap3
brctl addbr br1
brctl addif br1 tap1
brctl addif br1 tap2
brctl addif br1 tap3
ip link set up dev br1
ip addr add 10.1.2.1/24 dev br1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -A FORWARD -i eth0 -o br0 -j ACCEPT
iptables -A FORWARD -i br0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Usando o virtualbox gui, eu configurei as seguintes interfaces para servir e clientes:

servidor - > tap0, tap1 [rede em ponte]

client1 - > tap2 [rede em ponte]

client2 - > tap3 [rede em ponte]

Em seguida, edite / etc / network / interfaces e resolv.conf

SERVIDOR

*# cat /etc/network/interfaces*
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.1.1.2
netmask 255.255.255.0
up route add default gw 10.1.1.1 dev eth0
auto eth1
iface eth1 inet static
address 10.1.2.2
netmask 255.255.255.0

*# cat /etc/resolv.conf*
domain 
search 
nameserver 192.168.2.194

CLIENTE 1

*# cat /etc/network/interfaces*
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.1.2.3
netmask 255.255.255.0
up route add default gw 10.1.2.2 dev eth0

*# cat /etc/resolv.conf*
domain 
search 
nameserver 10.1.2.2

CLIENTE 2

*# cat /etc/network/interfaces*
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.1.2.4
netmask 255.255.255.0
up route add default gw 10.1.2.2 dev eth0

*# cat /etc/resolv.conf*
domain 
search 
nameserver 10.1.2.2

Com a seguinte configuração:

Eu posso acessar a internet com a máquina do servidor

Eu posso acessar via ssh para qualquer máquina na rede

Não consigo acessar a Internet com a máquina client1 e client2 ...

Você pode me ajudar a configurar alguma regra de roteamento para me livrar desse problema?

    
por Michele C. 17.11.2015 / 11:15

1 resposta

0

And, on which machine are you running the first set of instructions, the one that begins with tunctl? On the host?

yes of course, i omitted to say cause i thought it was obvious....

Não necessariamente: a regra importantíssima do iptables

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

qual deve estar no servidor, ele deve ser encontrado no host (inútil). Idem para

echo 1 > /proc/sys/net/ipv4/ip_forward

Por último, (mas independente do acima), a declaração

nameserver 10.1.2.2

em ambos os clientes é um pouco suspeito: você configurou um servidor DNS no servidor? Até você, é melhor usar

nameserver 8.8.8.8

ou algo desse tipo.

Não posso afirmar que estes são os erros somente da sua configuração. Há tanto que é inútil (uma bridge feita apenas de uma interface virtual ??? Uma bridge no Host? VBox cuidará disso! Uma declaração como

nameserver 192.168.2,194

com uma vírgula em vez de um ponto), que só posso afirmar que os pontos que fiz acima devem ser corrigidos, mas provavelmente uma rodada extra de depuração será necessária. Quando você fizer isso, certifique-se de usar tcpdump para verificar onde o fluxo de pacotes está quebrado, porque isso torna a depuração de rede muito mais fácil do que eu posso ir daqui para lá, mas não de ... .

    
por 17.11.2015 / 14:14