Настроить: У меня есть два сервера A и B. Сервер A запускает dnsmasq и должен назначить статический IP-адрес B (используя имя хоста "vm03"). Этот IP установлен в /etc/dnsmasq.conf (выдержка ниже):
domain-needed
local=/my-private-domain/
interface=eth0
interface=eth1
interface=tun0
dhcp-range=192.168.100.100,192.168.100.130
dhcp-host=vm03,192.168.100.103
Проблема: Раньше это работало нормально, но после того, как я обновил сервер B с openSUSE 13.1 до 42.1, он больше не работает = серверу B больше не назначается 192.168.100.103, но что-то другое, например 192.160.100.124 (которое все еще остается в общем диапазоне IP, который я определил выше).
На сервере A я вижу, что dnsmasq сам по себе понимает, что что-то не так (так как я также установил IP для vm03 в / etc / hosts файл сервера A):
dnsmasq-dhcp: не дает имя vm03 для аренды DHCP 192.168.100.124, потому что имя существует в / etc / hosts с адресом 192.168.100.103
TcpDump: Я сравнил вывод "tcpdump -i eth1 -vvv -s 0 загрузочных портов"с сервера B против вывода с сервера C (по-прежнему работает старый openSUSE 13.1 и получает правильный IP от dnsmasq).
Старый сервер C общается с A [обнаружение, предложение, запрос ACK]. Полная трассировка Вот:
lsm1:~ # tcpdump -i eth1 port 67 or port 68 -e -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:31:51.106018 52:54:00:bd:8a:6e > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 52:54:00:bd:8a:6e, length 300
13:31:51.106369 52:54:00:a3:7c:db > 52:54:00:bd:8a:6e, ethertype IPv4 (0x0800), length 342: 192.168.100.1.67 > 192.168.100.102.68: BOOTP/DHCP, Reply, length 300
13:31:51.106752 52:54:00:bd:8a:6e > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 354: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 52:54:00:bd:8a:6e, length 312
13:31:51.263232 52:54:00:a3:7c:db > 52:54:00:bd:8a:6e, ethertype IPv4 (0x0800), length 346: 192.168.100.1.67 > 192.168.100.102.68: BOOTP/DHCP, Reply, length 304
Связь нового сервера B с A [запрос, NACK, обнаружение, предложение, запрос, ACK]. Полная трассировка Вот:
lsm1:~ # tcpdump -i eth1 port 67 or port 68 -e -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:31:59.743740 52:54:00:be:0b:ab > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 52:54:00:be:0b:ab, length 300
13:31:59.744122 52:54:00:a3:7c:db > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 192.168.100.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 300
13:32:00.744866 52:54:00:be:0b:ab > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 52:54:00:be:0b:ab, length 300
13:32:00.745244 52:54:00:a3:7c:db > 52:54:00:be:0b:ab, ethertype IPv4 (0x0800), length 342: 192.168.100.1.67 > 192.168.100.124.68: BOOTP/DHCP, Reply, length 300
13:32:00.745711 52:54:00:be:0b:ab > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 351: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 52:54:00:be:0b:ab, length 309
13:32:00.813972 52:54:00:a3:7c:db > 52:54:00:be:0b:ab, ethertype IPv4 (0x0800), length 346: 192.168.100.1.67 > 192.168.100.124.68: BOOTP/DHCP, Reply, length 304
Понятия не имею, почему поведение изменилось. Это правильно или проблема с злой? Есть идеи / вещи для тестирования?
Вещи я уже проверил / попробовал:
Чтобы выбрать правильный IP-адрес, необходимо настроить MAC-адрес в dnsmasq.conf
также.
dhcp-host=11:22:33:44:55:66,fvm03,192.168.100.103