Обычно, когда я делаю такие вещи (и я делаю это много), я склонен использовать виртуальную машину, действующую как сетевой сервер, который выполняет такие вещи, как DHCP, DNS - и кеширование для всего мира, и локальное подделывание fake.tld
- и т.д.
Самый простой способ - выполнить базовую, чистую установку Debian с помощью образа netinstall - выберите ни одну из групп пакетов, кроме опции ssh-сервера и, возможно, "стандартных утилит".
Как только он будет запущен и запущен, чтобы превратить его в DHCP-сервер для вашей внутренней сети виртуальных машин, установите пакет isc-dhcp-server
. Затем отредактируйте /etc/dhcp/dhcpd.conf
Вот простой пример из моего. Это устанавливает короткое время аренды (5 минут), устанавливает клиентский поисковый домен и т.д. На «fake.tld», указывает их DNS-запросы на 192.168.1.2 и выдает адреса в диапазоне 10.99.98.80-100 с 24 биты сетевой маски. Обратите внимание, что для этой виртуальной машины должен быть настроен адаптер с IP-адресом в подсети 10.99.98.0/24.
В дополнение к общему пулу я даю устройству с MAC-адресом 80:c1:6e:2b:b6:cd
явно определенную аренду (а также любую другую option
например, использование DNS-сервера, шлюза и т.д.) Для .110
ip. Любая такая "статическая аренда" должна быть для адресов вне вашего динамического диапазона, но внутри подсети, настроенной как в файле конфигурации, так и на сетевом адаптере машины, на которой размещается служба.
Когда вы добавляете новый хост и хотите, чтобы у него был определенный IP, просто добавьте другой раздел хоста - имя хоста не должно совпадать с тем, что отправляет клиент, но оно должно быть уникальным в файле. После добавления перезапустите сервисную service isc-dhcp-server restart
ddns-update-style none;
option domain-name "fake.tld";
option domain-name-servers 192.168.1.2;
option domain-search "fake.tld";
default-lease-time 600;
max-lease-time 720;
authoritative;
log-facility local7;
subnet 10.99.98.0 netmask 255.255.255.0{
range 10.99.98.80 10.99.98.100;
option routers 10.99.98.1;
}
host lr-tv {
hardware ethernet 80:c1:6e:2b:b6:cd;
fixed-address 10.99.98.110;
option routers 10.99.98.1;
option domain-name-servers 192.168.1.2;
}