Назад | Перейти на главную страницу

DHCP-сервер на мульти IP-интерфейсе

Моя система работает под управлением Ubuntu 17.04, моя сетевая топология:

У меня eth1 настроен с несколькими IP-адресами:

$ ip addr show eth1
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:80:c8:3d:19:94 brd ff:ff:ff:ff:ff:ff
    inet 169.254.123.52/16 brd 169.254.255.255 scope link eth1
       valid_lft forever preferred_lft forever
    inet 192.168.55.1/24 brd 192.168.55.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet 192.168.10.10/24 brd 192.168.10.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::280:c8ff:fe3d:1994/64 scope link 
       valid_lft forever preferred_lft forever

Я использую сеть на eth1 для разработки и тестирования своего оборудования, и у меня есть DHCP-сервер, настроенный следующим образом:

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;

subnet 192.168.55.0 netmask 255.255.255.0 {
  range 192.168.55.100 192.168.55.150;
}

Когда DUT, подключенный к eth1, запрашивает IP-адрес, DHCP-сервер отвечает и предлагает, но при обнюхивании с помощью Wireshark пакеты имеют исходный адрес 169.254.123.52:

Два вопроса:

  1. как сделать так, чтобы DHCP-сервер работал только на eth1?
  2. Как сделать так, чтобы пакет приходил с DHCP на eth1 с адресом источника 192.168.55.1?

Вы можете попробовать
server-identifier 192.168.55.1

Это не рекомендуется на странице руководства, ваша конфигурация - это именно тот вариант использования, который она описывает.

это (мой предыдущий ответ) приведет к привязке DHCPD к одному IP-адресу и, как вы заметили, нарушит широковещательные запросы:

local-address:

например

local-address 192.168.55.1