Использование DHCP-сервера Dnsmasq в Proxmox для IP виртуальных машин
Dnsmasq — это простой в настройке и легкий DHCP-сервер и DNS-сервер пересылки. Dnsmasq предназначен в первую очередь для предоставления службы DNS и, опционально, DHCP в небольшой сети. DHCP-сервер в Dnsmasq легко интегрируется с DNS-сервером. Машины с IP-адресами, выделенными DHCP-сервером, появляются в DNS с именами, настроенными либо на каждом хосте, либо в центральном файле конфигурации.
Dnsmasq поддерживает динамическую и статическую аренду DHCP. Помимо заявленных функций, он поддерживает BOOTP / TFTP, который может использоваться для сетевой загрузки бездисковых машин. Dnsmasq можно использовать в платформе виртуализации Proxmox для динамического или статического назначения IP-адресов, а также для управления DNS. Мы запустим Dnsmasq в одном гипервизоре Proxmox, при этом служба будет привязана к определенному сетевому интерфейсу / мосту.
Шаг 1: Установите dnsmasq на Proxmox VE 6.x
Я установлю dnsmasq в один гипервизор Proxmox из исходных репозиториев по умолчанию.
sudo apt update
sudo apt install dnsmasq
Приступите к установке dnsmasq на Proxmox VE 6.x
Reading state information... Done
The following additional packages will be installed:
dns-root-data dnsmasq-base
Suggested packages:
resolvconf
The following NEW packages will be installed:
dns-root-data dnsmasq dnsmasq-base
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 463 kB of archives.
After this operation, 1,027 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Также установите пакет dnsutils , который предоставляет команду dig :
sudo apt install dnsutils -y
Проверьте свою установку:
dig infoit.com.ua @localhost
nslookup infoit.com.ua localhost
Функция DNS в Dnsmasq настроена для пересылки всех запросов к настройкам DNS вашей системы по умолчанию, как указано в файле /etc/resolv.conf .
Шаг 2. Настройте DHCP-сервер с помощью Dnsmasq.
После успешной установки Dnsmasq на вашем сервере Proxmox вы можете приступить к настройке службы DHCP.
sudo vim /etc/dnsmasq.conf
Установить домен для dnsmasq:
domain=example.com
Сообщите dnsmasq, какой интерфейс Ethernet он будет использовать для прослушивания запросов DHCP:
#Around line 106
interface=vmbr1
# Or which to listen on by address (remember to include 127.0.0.1 if you use this.)
#listen-address=
Установите диапазон IP-адресов DHCP-сервера для раздачи.
#around line 159
dhcp-range=192.168.50.50,192.168.50.200,12h
Установите маршрут по умолчанию, предоставленный dnsmasq:
#around line 337
dhcp-option=vmbr1,3,192.168.50.1
#dhcp-option=eth0,3,192.168.50.1
Предоставьте восходящие DNS-серверы:
#line 66
# You can use Google's open DNS servers
server=8.8.8.8
server=8.8.4.4
Задайте путь к файлу для базы данных аренды DHCP:
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
Проверьте свои конфигурации:
$ sudo dnsmasq --test
dnsmasq: syntax check OK.
Перезапустите службу dnsmasq:
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq
Шаг 3. Создайте виртуальную машину в сети с помощью службы DHCP.
Создайте новую виртуальную машину из веб-консоли Proxmox.
Дадим ему имя и выберем узел, на котором он будет работать.
Выберите установочный диск ОС.
Выберите правильную сеть (она должна быть такой же, как та, которая используется в конфигурациях DHCP dnsmasq )
Установите операционную систему и после завершения перезагрузитесь и проверьте IP-адрес, если от DHCP.
Если интерфейс не получил IP-адрес, назначенный DHCP-сервером автоматически, вы можете попробовать запрос вручную:
sudo dhclient interface
На этом наша статья заканчивается. Не стесняйтесь делиться своими настройками и результатами тестирования в разделе комментариев.