Рейтинг:0

21.04: Не удалось разрешить .local имя хоста из виртуальной машины (VMware Workstation).

флаг in

TL;DR: Что мне нужно настроить, чтобы я мог разрешить .местный имя хоста на моей гостевой виртуальной машине, как если бы я разрешал его на своем хосте виртуальной машины.

Длинная версия: Я запускаю виртуальную машину с Ubuntu 21.04 в Windows 10 с помощью VMware Workstation (16.1.1 build-17801498). Сама Ubuntu почти ванильная, я почти ничего не изменил в самой OS/env (на самом деле сейчас ничего не приходит на ум). Может быть, стоит отметить, что я обновился с предыдущей версии Ubuntu, я думаю, это была 20.04.

На хосте я могу разрешить foo.bar.local просто отлично используя нслукап:

> nslookup foo.bar.local
Сервер: <...>
Адрес: 10.73.1.9

Имя: <...>
Адрес: 10.132.0.30
Псевдонимы: foo.bar.local

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

> хост foo.bar.local
Хост foo.bar.local не найден: 2 (SERVFAIL)

но я могу решить имя, если я скажу хозяин использовать тот же DNS-сервер, который ранее ответил на хосте (VM):

> хост ordermanagement-migration.comventure.local 10.73.1.9
Использование доменного сервера:
Имя: 10.73.1.9
Адрес: 10.73.1.9#53
Псевдонимы: 

foo.bar.local — это псевдоним для hello.world.local.
hello.world.local имеет адрес 10.132.0.30

Поэтому я подумал: «Почему бы просто не использовать этот сервер всегда?» и попытался настроить его через графический интерфейс диспетчера сети: откройте настройки сети, перейдите на вкладку IPv4, отключите «автоматически» и введите IP в поле. Поскольку моя виртуальная машина имеет два настроенных интерфейса (сеть только для хоста и обычный NAT для общедоступного доступа к Интернету), и на всякий случай я сделал это для обоих интерфейсов. К моему удивлению, никакое время ожидания после подтверждения этих изменений не привело к заметным изменениям в выводе systemd-разрешение --статус: Для обоих интерфейсов он просто сохранил соответствующие a.b.c.1 адрес в качестве DNS-сервера. Вместо этого мне пришлось сначала отключить интерфейсы, после чего появился IP-адрес сервера:

Глобальный
       Протоколы: -LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается
Режим resolv.conf: заглушка

Ссылка 2 (ens33)
    Текущие области: DNS
         Протоколы: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается
Текущий DNS-сервер: 10.73.1.9
       DNS-серверы: 10.73.1.9

Ссылка 3 (ens38)
Текущие области применения: нет
     Протоколы: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается

Ссылка 4 (докер0)
Текущие области применения: нет
     Протоколы: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается

Я не понял, почему для ens38 (общедоступный инет-доступ), DNS-сервер больше не показывался. В этот момент все стало еще более запутанным, потому что включение интерфейса (в сетевом менеджере), на котором я ранее отключил «автоматический» для DNS, внезапно показало «автоматический» как включенный, но также перечислил IP-адрес DNS вручную и systemd-разрешение --статус но я все еще не мог решить foo.bar.local.

Я также пытался установить 10.73.1.9 в качестве основного DNS-сервера прямо в настройках NAT/DNS рабочей станции VMware, но безрезультатно.

Итак, как я могу получить foo.bar.local быть разрешимым на моем (VM) госте по умолчанию, другими словами, без необходимости указывать 10.73.1.9 как сервер имен для использования - что я не могу сделать в контексте приложения, где мне нужно foo.bar.local разрешимый.

дополнение: на моем узле виртуальной машины задействована VPN на случай, если это может иметь значение. Я всегда держу его включенным и подключенным при использовании хоста (VM).

флаг ru
Добавление настройки VPN переопределит DNS-серверы, если удаленный VPN-сервер скажет «Использовать вместо этого DNS-серверы». Вероятно, это мешает вашему разрешению DNS.
Amnu avatar
флаг in
Вы имеете в виду, что настройка VPN указывает VMware переопределить собственные настройки DNS? Есть ли способ отключить это?
флаг ru
Он указывает *Ubuntu* изменить настройки DNS, обычно это происходит, когда у вас «корпоративная» среда и вы хотите использовать разделенный DNS и тому подобное. Отключение может быть выполнено только на удаленной стороне VPN, где они меняют настройки или что-то подобное на сервере (так что это не вариант для вас). Единственный другой способ переопределить это — после активации VPN запустить отдельный скрипт для самостоятельной настройки DNS. В качестве альтернативы, измените `/etc/systemd/resolved.conf` и установите `DNS=` на свой основной DNS-сервер, который вы хотите, конечно, раскомментировав строку, а затем перезагрузите компьютер.

Ответить или комментировать

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