virtualbox: в чем разница между --natdnsproxy1 и --natdnshostresolver1? - PullRequest
0 голосов
/ 27 июня 2018

Документация по виртуальной коробке не объяснила это ясно

https://www.virtualbox.org/manual/ch09.html

9.11.5. Включение прокси-сервера DNS в режиме NAT Механизм NAT по умолчанию предлагает гостевым серверам те же DNS-серверы, которые настроены на хост. В некоторых случаях может быть желательно скрыть DNS-сервер IP-адреса от гостя, например, когда эта информация может измениться на хост из-за истечения срока аренды DHCP. В этом случае вы можете сказать Механизм NAT для работы в качестве DNS-прокси с помощью следующей команды:

VBoxManage modifyvm "Имя виртуальной машины" --natdnsproxy1 в

9.11.6. Использование распознавателя хоста в качестве прокси-сервера DNS в режиме NAT Для разрешения имен сети сервер DHCP механизма NAT предлагает список зарегистрированных DNS-серверов хоста. Если по какой-то причине вы нужно скрыть этот список DNS-серверов и использовать распознаватель хоста настройки, тем самым заставляя механизм VirtualBox NAT перехватывать DNS запросы и перенаправить их в резолвер хоста, используйте Команда:

VBoxManage modifyvm "Имя виртуальной машины" --natdnshostresolver1 on Обратите внимание, что это настройка аналогична режиму DNS-прокси, в то время как прокси режим просто перенаправляет DNS-запросы на соответствующие серверы, Режим распознавания будет интерпретировать запросы DNS и использовать DNS хоста. API для запроса информации и возврата ее гостю.

Может кто-нибудь действительно понять разницу?

РЕДАКТИРОВАТЬ: нужен фактический пример.

1 Ответ

0 голосов
/ 29 мая 2019

Если опция natdnsproxy сетевого адаптера с типом NAT включена, NAT-шлюз VirtualBox будет принимать DNS-трафик от гостя и перенаправлять его на распознаватель, используемый хостом. Он будет действовать исключительно как прокси сетевого уровня. Перенаправляется только трафик DNS, отправленный на IP-адрес шлюза, он не будет перехватывать трафик DNS, отправленный на другие IP-адреса. Убедитесь, что ваш гость использует ваш IP-адрес шлюза (например, 10.0.2.2) в качестве распознавателя (это должно работать сразу после установки, если ваш гость использует DHCP).

Параметр natdnshostresolver аналогичен - он заставит шлюз NAT также принимать DNS-трафик - но шлюз будет считывать (то есть анализировать) запрос и использовать API-интерфейсы операционной системы хоста для его разрешения. В Linux это будет getaddrinfo(). Это предпочтительный вариант ИМХО.

Число (1) относится к сетевому адаптеру и является взаимозаменяемым. --natdnshostresolver2 on включит параметр для второго интерфейса данной виртуальной машины.

...