IP encaminhamento entre duas interfaces no Windows Server da caixa Linux

4

Eu tenho duas VMs, um Ubuntu Server e um Windows Server 2016. Em ambas as máquinas, tenho um comutador virtual com NAT (Hyper-V vSwitch no Windows) com contêineres Docker conectados a eles. No Linux, meu vswitch é 192.168.0.1/24 e no Windows meu vswitch é 192.168.1.1/24 . Gostaria de poder alcançar contêineres em várias máquinas usando uma combinação de roteamento estático e encaminhamento de IP. A rede externa à qual as VMs estão conectadas é 10.0.0.0/23 .

Eu tenho isso funcionando quando ping de contêineres Linux (na rede 192.168.0.1/24 ) da VM do Windows. Consegui isso adicionando uma rota estática na VM do Windows à VM do Linux (que está em 10.0.0.10 na rede externa):

New-NetRoute -DestinationPrefix "192.168.0.0/24" -InterfaceAlias "Ethernet" -NextHop 10.0.0.10

Em seguida, na caixa do Linux, habilitei o encaminhamento de IP e fiz algumas mágicas do iptables:

sysctl -w net.ipv4.ip_forward=1

iptables -t nat -A POSTROUTING -o cbr0 -j MASQUERADE # cbr0 is the vswitch NAT interface which the containers are connected to
iptables -A FORWARD -i cbr0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o cbr0 -j ACCEPT
iptables -A FORWARD -i cbr0 -o cbr0 -j ACCEPT

Enquanto isso tudo está funcionando, estou lutando para conseguir a mesma coisa na direção oposta (Linux - > Windows). Eu adicionei uma rota estática à minha caixa de Linux assim, para apontar a rede 192.168.1.1/24 para a caixa do Windows (em 10.0.0.11 ):

ip route add 192.168.1.0/24 via 10.0.0.11

Em seguida, habilito o encaminhamento de IP na caixa do Windows:

Get-NetAdapter | Set-NetIPInterface -Forwarding Enabled

Isso me permite executar o ping no gateway padrão do vSwitch na caixa do Windows a partir da caixa do Linux, que é 192.168.1.1 . No entanto, tentar pingar qualquer outra coisa nessa interface não funciona (por exemplo, 192.168.1.100 ). Eu imagino que preciso fazer o equivalente ao iptables no Windows, mas não consegui encontrar uma alternativa. Alguém tem alguma ideia?

Felicidades

    
por Jamie 25.04.2018 / 11:01

0 respostas