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

Linux: / sbin / dhclient для привязки к определенному интерфейсу?

Я запускаю 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.