DNS ne fonctionne pas dans Bash (Ubuntu) sous Windows à l'aide d'un VPN

10

Je viens de commencer à tester "Bash sur Ubuntu sur Windows", et j'aime ça!

Juste, le problème est que je dois utiliser un VPN pour accéder à nos serveurs back-end et développeurs. Et lorsque vous essayez (par exemple) ssh sur notre serveur de développement avec le shell Windows Bash, il ne peut pas résoudre le nom d'hôte.

Notez que je suis capable de ssh en utilisant l'adresse IP, et que ces noms d'hôtes fonctionnent très bien ailleurs dans Windows. Comme avec mastic, cmd normal, Explorateur de fichiers, etc.

J'ai également vérifié le fichier /etc/resolv.conf et je peux voir notre serveur de noms de travail répertorié ici.

À partir de là, mes compétences en réseau sont insuffisantes, en particulier avec Linux, alors aidez-moi: D

Aleksander Akerø
la source
Je viens de frapper sur le même problème. Avez-vous réussi à résoudre le problème ailleurs?
Hugh

Réponses:

1

C'est un problème de routage, pas un bogue de WSL. Il est très probable que votre sous-réseau local soit le même que le sous-réseau distant. Et je suppose que vous utilisez le VPN ponté.

J'ai rencontré le même problème. J'utilise OpenVPN pour connecter mon bureau (distant) et mon domicile (local). Les deux sous-réseaux sont tous les deux 192.168.1.0, qui est le plus courant que vous trouverez sur de nombreux routeurs.

J'ai finalement résolu le problème avec la configuration suivante. Mon objectif est d'utiliser tun afin de réduire les frais généraux et de rediriger uniquement le trafic vers la destination au bureau. Cependant, cela fonctionnerait également avec le VPN ponté.

;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
Jason Chueh
la source
0

Cela ne résout pas le problème avec le DNS qui ne fonctionne pas, mais c'est une solution de contournement qui donne l'impression que cela fonctionne.

Vous pouvez modifier votre fichier d'hôtes (dans / etc / hosts) et ajouter une entrée pour le nom d'hôte que vous souhaitez utiliser.

Ajoutez une entrée qui a l'adresse IP suivie d'un espace et du nom d'hôte.

123.456.1.1 target.host.net

Remarque, vous aurez besoin de sudovotre commande d'édition.sudo vi /etc/hosts

Pour moi, la modification se poursuit à travers les sessions shell bash. Je suppose que c'est un bogue que Microsoft corrigera, espérons-le, à l'avenir. Pour l'instant, j'utilise simplement cette solution de contournement.

Steve M
la source
-1

J'ai le même problème. J'ai temporairement modifié /etc/resolv.conf avec un seul serveur de noms et un seul domaine de recherche (pour le réseau VPN) et il a résolu les noms d'hôte sur ce réseau. Ce changement n'est pas persistant, donc la fermeture et le redémarrage de Bash sur Ubuntu sous Windows restaurera /etc/resolv.conf à ses paramètres par défaut.

Paul
la source
1
"mais j'aimerais vraiment savoir comment configurer correctement les interfaces réseau pour Bash sur Ubuntu sous Windows afin que l'établissement d'une connexion VPN dans Windows configure automatiquement DNS." - Vous devez supprimer ce commentaire de votre réponse.
Ramhound