8

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

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

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

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

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

3 ответа3

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
1

Это не решает проблему с неработающим 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 по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .