Linux DHCP-сервер - интерфейсная ассоциация
У меня есть вопрос о сервере DHCP на Linux
В основном мой сервер имеет 2 интерфейсные карты
- eth0: 192.168.2.201/255.255.255.0
- eth1: 192.168.4.1/255.255.255.0
- eth1: 0: 10.1.1.0/24
На этом сервере я запускаю демон dhcpd для выдачи аренды в подсети 192.168.4.0/24.
- eth0: подключен к моему домашнему роутеру для доступа в интернет
- eth1: подключен к коммутатору cisco (только с vlan по умолчанию) через порт 1 с IP-адресом 10.1.1.10 - этот интерфейс используется для связи с коммутатором для управления через telnet
Теперь, когда я подключаю другой компьютер к любому порту коммутатора, я вижу следующее
- компьютер получает 169.254 самостоятельно назначенного IP
- я вижу, что DHCP-сервер выдал аренду (файл /var/lib/dhcpd/dhcpd.leases)
- в состоянии Ethernet на клиентском компьютере я вижу байтов отправлено, но 0 получено
Теперь мой вопрос
С каким интерфейсом на сервере linux связан демон dhcpd? Так как я вижу, что аренда назначается, она, очевидно, получает запрос dhcp, но аренда, которую она отправляет, не достигает клиента.
Любая помощь приветствуется!
спасибо, анкит
2 ответа
Вы не можете использовать 10.1.1.0 в качестве IP-адреса сетевой карты, это сетевой идентификатор. DHCPd должен связываться со всеми интерфейсами, для которых у него есть определения подсетей. Таким образом, если он имеет только определения для подсети 192.168.4/24, то он должен связываться только с eth1. Какой вывод у DHCPd при запуске? Следует упомянуть, какие интерфейсы он слушает.
Не указано, какой DHCP-сервер используется. В случаеisc-dhcp-server
, ассоциация интерфейса выполняется автоматически на основе конфигурации диапазона адресов в егоdhcpd.conf
файл, т. е. если IP-адрес интерфейса относится к некоторому настроенному диапазону адресов DHCP, то сервер будет привязан к нему. Если указан диапазон, в котором содержится IP-адрес интерфейса, но нет доступного адреса или он не содержится в конфигурации диапазонов адресов, то сервер не будет привязан к нему.