DNS não funciona no Bash (Ubuntu) no Windows usando VPN

DNS não funciona no Bash (Ubuntu) no Windows usando VPN

Acabei de começar a testar o "Bash no Ubuntu no Windows" e gostei!

Só que o problema é que preciso usar VPN para acessar nossos servidores back-end e de desenvolvedor. E ao tentar (por exemplo) ssh para nosso servidor de desenvolvimento com o shell do Windows Bash, ele não consegue resolver o nome do host.

Observe que sou capaz de fazer ssh usando o endereço IP, e esses nomes de host também funcionam bem em outros lugares do Windows. Como com putty, cmd normal, File Explorer etc.

Também verifiquei o /etc/resolv.conf e posso ver nosso servidor de nomes de trabalho listado lá.

A partir daqui, minhas habilidades de rede são insuficientes, especialmente com Linux, então, por favor, ajudem: D

Responder1

É um problema de roteamento, não um bug do WSL. É muito provável que sua sub-rede local seja igual à sub-rede remota. E presumo que você use a VPN em ponte.

Eu encontrei o mesmo problema. Eu uso o OpenVPN para conectar meu escritório (remoto) e minha casa (local). As duas sub-redes são 192.168.1.0, que é a mais comum encontrada em muitos roteadores.

Acabei resolvendo o problema com a seguinte configuração. Meu objetivo é usar o tun para reduzir a sobrecarga e redirecionar o tráfego apenas para onde o destino é o escritório. No entanto, isso também funcionaria com a VPN em ponte.

;make the dhcp-option works on Windows 10.
script-security 2
;do not accept any pushed route command.
route-nopull
;make sure the connection still go through my home router. This line may not be necessary. You can try to remove this line and see it the VPN works.
route 192.168.1.1 255.255.255.0 net_gateway
;redirect the traffic where the destination is within the 192.168.1.0 subnet to OpenVPN gateway.
route 192.168.1.128 255.255.255.128
route 192.168.1.0 255.255.255.128
;set the DNS server which is in the office
dhcp-option DNS 192.168.1.254
dhcp-option DNS 192.168.1.253
dhcp-option DOMAIN my.company.domain

Responder2

Isso não resolve o problema de o DNS não funcionar, mas é uma solução alternativa que faz parecer que está funcionando.

Você pode editar seu arquivo hosts (em /etc/hosts) e adicionar uma entrada para o nome do host que deseja usar.

Adicione uma entrada que tenha o endereço IP seguido por um espaço e o nome do host.

123.456.1.1 target.host.net

Observe que você precisará do sudoseu comando de edição.sudo vi /etc/hosts

Para mim, a edição permanece nas sessões do shell bash. Presumo que seja um bug que a Microsoft irá corrigir no futuro. Por enquanto, apenas uso esta solução alternativa.

Responder3

Eu tenho o mesmo problema. Editei temporariamente o /etc/resolv.conf com apenas um servidor de nomes e um domínio de pesquisa (para a rede VPN) e resolvi nomes de host nessa rede. Essa alteração não é persistente, portanto, sair e reiniciar o Bash no Ubuntu no Windows restaurará o /etc/resolv.conf para suas configurações padrão.

informação relacionada