Я запускаю RHEL5.5 и имею несколько сетевых интерфейсов (eth0, eth1, eth2) на машине. Я хочу, чтобы / sbin / dhclient привязал свой UDP-порт 68 к определенным интерфейсам (eth0 и eth2), но когда я делаю netstat -anp | grep 68 'Я вижу:
udp 0 0 0.0.0.0:68 0.0.0.0:* 6109/dhclient
который мешает другому программному демону, запускающему собственный DHCP-клиент, который хочет работать на определенном интерфейсе (eth1), не обслуживаемом / sbin / dhclient
Могу ли я заставить / sbin / dhclient не связываться с UDP-портом 0.0.0.0:68?
Я настроил /etc/dhclient.conf для обслуживания только тех интерфейсов, которые мне нужны (в данном случае eth0 и eth2), но он по-прежнему привязан к 0.0.0.0:68, что не позволяет настраиваемому DHCP-клиенту работать на eth1.
Любая помощь приветствуется, спасибо.
DHCP по определению работает клиентом, используя широковещательный адрес для поиска всех отвечающих DHCP-серверов. Затем он выбирает один из них (на основе алгоритма, и AFAIK это в основном связано со временем отклика) и запрашивает адрес. Затем этот адрес привязывается к настраиваемому интерфейсу.
Опять же, по определению, широковещательные рассылки отправляются на все сетевые интерфейсы. Так что, если вы не хотите написать свой собственный DHCP-клиент (источники находятся в свободном доступе), вы мало что можете с этим поделать.
Однако вы можете использовать другой порт. Подробности читайте на странице руководства dhclient. Тогда для этого также потребуется DHCP-сервер, который прослушивает этот порт. Стандартный DHCP-сервер ISC поддерживает это с параметром -p. Опять же, прочтите страницу руководства по dhcpd.
у вас есть доступ к переключателям? вы можете легко сделать это, используя VLAN
также вы можете сделать это, используя маркировку из iptables.