5

Я использую Windows для своих целей разработки, и я получаю доступ к ресурсам моей компании с помощью VPN, которая установлена на моем компьютере. Я в основном использую его для доступа к частным git-репозиториям компании.

Недавно я начал использовать Bash в Ubuntu для Windows в целях разработки, и у меня возникли проблемы с доступом к репозиториям.

Например, когда я подключен к VPN и использую Git Bash в Windows для клонирования репозитория, он работает отлично. Но когда я использую git в Bash на Ubuntu в Windows, он выдает ошибку:

fatal: unable to access 'https://link.to.the.repository.net/Project/Repository/': Could not resolve host: link.to.the.repository.net 

Есть ли способ позволить Bash на Ubuntu в Windows получить доступ к такому ресурсу?

3 ответа3

1

Автоматизированные шаги: https://gist.github.com/matthiassb/9c8162d2564777a70e3ae3cbee7d2e95

Первый запуск на powershell:

Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object -ExpandPropert ServerAddresses

Затем запустите bash в Windows с помощью команд ubuntu или bash (в зависимости от вашей установки)

Отредактируйте /etc/resolv.conf и замените весь nameserver {ip} на тот, который сгенерирован верхним сервером.

Вы должны иметь Интернет и интранет обратно сейчас. Удалите первую строку, чтобы сделать ее постоянной, но помните, что если вы измените сеть, она больше не будет обновляться. (возможно, сначала это подкрепить?)

1

Для меня проблема была в том, что в моем VPN были внутренние серверы имен. Эти серверы имен присутствовали на машине с Windows, но не попали в подсистему Linux. Шаги, чтобы исправить:

  1. Запустите ipconfig /all в Windows. Для вашего VPN-соединения должен быть блок, содержащий один или несколько DNS-серверов.
  2. Откройте bash и откройте /etc/resolv.conf
  3. Если ваша ситуация похожа на мою, вы увидите серверы имен для вашего основного интернет-адаптера, но НЕ серверы имен из VPN-адаптера выше. Просто добавьте DNS-имена VPN в дополнение к тому, что там есть (я добавил свои выше существующих записей, если это имеет значение), сохраните файл и попробуйте снова получить доступ к репо.
1

Кажется, что нет никаких серверов имен для разрешения имени хоста. В Ubuntu bash отредактируйте файл /etc/resolv.conf так, чтобы он содержал:

nameserver X.Y.Z.W

Я предполагаю, что вы используете IPv4. Приведенный выше адрес является лишь примером. Вам нужно будет узнать свой фактический DNS-адрес, который использует ваш провайдер, или выбрать общедоступный DNS-сервер. Вы можете использовать несколько серверов имен, если хотите.

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