DNS не работает в Bash (Ubuntu) в Windows, используя VPN


10

Я только начал тестировать "Bash на Ubuntu для Windows", и мне это нравится!

Просто проблема в том, что мне нужно использовать VPN для доступа к нашим серверным серверам и серверам разработки. И при попытке (например) ssh на наш dev-сервер с оболочкой Windows Bash он не может разрешить имя хоста.

Обратите внимание, что я могу ssh, используя IP-адрес, а также эти имена хостов прекрасно работают в других местах Windows. Как с putty, обычный cmd, проводник и т. Д.

Я также проверил /etc/resolv.conf и вижу там наш рабочий сервер имен.

С этого момента мои навыки работы с сетями теряют свою актуальность, особенно в Linux, поэтому, пожалуйста, помогите: D


Я только что столкнулся с той же проблемой. Вам удалось решить проблему в другом месте?
Хью

Ответы:


1

Это проблема маршрутизации, а не ошибка WSL. Весьма вероятно, что ваша локальная подсеть такая же, как и удаленная. И я предполагаю, что вы используете мостовой VPN.

Я столкнулся с той же проблемой. Я использую OpenVPN для соединения своего офиса (удаленного) и моего дома (локального). Обе подсети - это 192.168.1.0, которая является наиболее распространенной из тех, которые вы найдете на многих маршрутизаторах.

В конце концов я решил проблему с помощью следующего конфига. Моя цель - использовать tun, чтобы уменьшить накладные расходы и перенаправлять трафик только туда, где находится офис. Однако это также будет работать с мостовым VPN.

;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

0

Это не решает проблему с неработающим DNS, но это обходной путь, который создает впечатление, что он работает.

Вы можете отредактировать файл hosts (в / etc / hosts) и добавить запись для имени хоста, которое вы хотите использовать.

Добавьте запись с IP-адресом, затем пробелом и именем хоста.

123.456.1.1 target.host.net

Обратите внимание, вам понадобится sudoваша команда редактирования.sudo vi /etc/hosts

Для меня редактирование происходит в сеансах оболочки bash. Я предполагаю, что это ошибка, которую Microsoft, надеюсь, исправит в будущем. Пока я просто использую этот обходной путь.


-1

У меня такая же проблема. Я временно отредактировал /etc/resolv.conf только с одним сервером имен и одним поисковым доменом (для сети VPN), и он разрешил имена хостов в этой сети. Это изменение не является постоянным, поэтому при выходе и перезапуске Bash в Ubuntu в Windows восстановится файл /etc/resolv.conf по умолчанию.


1
«но очень хотелось бы узнать, как правильно настроить сетевые интерфейсы для Bash в Ubuntu в Windows, чтобы при установке VPN-подключения в Windows автоматически настраивалась DNS». - Вы должны удалить этот комментарий из вашего ответа.
Ramhound
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.