
Я использую vagrant для запуска виртуальных машин и создания моста для сетевого доступа к моей локальной машине. К сожалению, запуск exvery VM дает мне новый IP-адрес и MAC-адрес. У меня есть domain.local, который я использую, и в настоящее время мне приходится изменять файл hosts моего компьютера при каждом запуске, чтобы он соответствовал.
У меня есть доступ администратора ко всем машинам (локальным, виртуальной машине и маршрутизатору для интрасети). Как мне указать доменам .local разрешаться только локально, чтобы мне не пришлось изменять (или вообще настраивать) мой локальный файл hosts?
решение1
Я понимаю, что вам нужно разрешить динамически назначаемые адреса.
У меня была та же проблема, и я использовал DNSMASQ, это интегрированный DNS и DHCP сервер, который отлично работает на сервере Ubuntu. Большим преимуществом является то, что он почти не требует настройки.
Как я это настроил:
NAT - SRV01 - Внутренняя сеть - SRV02 / SRV03 / CLNT
Таким образом, SRV02 / SRV03 / CLNT подключены только к InternalNet, получая DHCP и поиск доменов от SRV01. SRV01 также является шлюзом для этих машин (используя переадресацию IP и маскировку iptables на SRV01).
Работает как по волшебству.
/dnsmasq
решение2
Вы можете использовать Zeroconf. Он транслирует имя хоста и делает его доступным для других хостов в локальной сети. Таким образом, вы можете получить доступ к своим хостам с помощью hostA.local
, hostB.local
и т. д.
В системах на базе Debian вам понадобится пакет libnss-mdns
для объявления имени хоста и avahi-daemon
разрешения имен.