Como usar o Windows WSL para configurar o roteamento? Isso é possível?

2

Percebi que o encaminhamento de IP parece estar ativado no WSL (Windows 10pro 1709), de acordo com o sysctl. Eu estou esperando que eu possa usar isso para fazer um roteador de software no WSL - para jogar com o tráfego de VM do Hyper-V no mesmo host físico. A VM e o host podem se comunicar por meio de uma sub-rede compartilhada / 24 ipv4.

Idealmente, eu gostaria de usar o WSL para configurar regras do tipo iptables, ou ter algum tipo de programa de roteador de software usando soquetes RAW que poderiam reescrever o tráfego.

# on the WSL bash
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Meu host do Windows e a VM estão ambos em 192.168.4.X. 192.168.4.215 é o host. 192.168.4.228 é a VM.

Adicionei uma regra ao firewall do Windows para permitir todas as portas TCP de entrada nessa sub-rede e testei a conectividade transferindo páginas da Web fornecidas pelo host WSL e baixadas pela VM. (por exemplo, correu python -m SimpleHTTPServer em wsl e usou curl http://192.168.2.215 na vm)

Eu adicionei o host do Windows como o gateway padrão dentro da VM:

# route add default gw 192.168.4.215
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.4.215   0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.4.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Mas minhas conexões TCP iniciadas na VM não estão sendo roteadas pelo Windows (por exemplo, curl http://<publicip> .). Não é possível conectar-se

O que mais eu preciso desbloquear no Windows?

Editar

Eu já desisti disso. Como tudo o que eu queria fazer com o tráfego da VM era o NAT sobre o túnel VPN do host, acabei usando uma interface NAT especial com o powershell:

link

    
por init_js 10.05.2018 / 08:45

0 respostas