Как настроить dhclient на CentOS для получения IP от определенного сервера DHCP

У меня есть ситуация, где я могу запустить изображения CentOS 6.6 на подсети, таким образом, что экземпляры VM получают свои IP-адреса от виртуального шлюза подсети. Теперь этот шлюз пошел wonky, и у меня нет доступа для фиксации его, таким образом, я настроил свой собственный сервер DHCP на этой подсети.

Таким образом, теперь существует 2 сервера DHCP на этой подсети, и мои VMs получают случайные IP-адреса, иногда с одного сервера DHCP и иногда с другого. Мой вопрос состоит в том что, как я могу настроить клиента DHCP на своем VMs так, чтобы они сделали запросы DHCP только к моему серверу DHCP, а не дефектному? man dhcp.conf не было очень полезно.

2
задан 28 July 2015 в 19:30
2 ответа

DHCP работает через многоадресный запрос IP-адреса. Которая получает IP-адрес от первого DHCP-сервера для ответа. Я не знаю способа заставить клиента получить DHCP-адрес с определенного сервера.

Фактически, запуск двух DHCP-серверов, которые не знают друг друга, спрашивает, с какой проблемой вы столкнулись. Вам необходимо отключить или отремонтировать неисправный.

4
ответ дан 3 December 2019 в 08:38

На CentOS 7 этого можно добиться, создав файл /etc/dhcp/dhclient.conf и добавив строку типа

reject 192.168.56.0/24;

для отклонения DHCP предложений с одного сервера или с другого (или, в данном примере, со всех DHCP серверов в определенной подсети).

Чтобы отфильтровать DHCP предложения только на определенном интерфейсе, поместите директиву reject внутри блока interface:

interface "eth0" {
    reject 192.168.56.0/24;
}

Обратите внимание, что имя интерфейса (здесь eth0) должно быть помещено в кавычки, в отличие от примера, показанного в man-странице для dhclient. conf.

Во всех случаях запустите systemctl restart network.service в качестве суперпользователя, чтобы изменения вступили в силу.


На CentOS 6.7 действуют те же самые инструкции, однако

  • Каждый интерфейс использует отдельный файл конфигурации для dhclient. В приведенном выше примере, файл, в который будет добавлено правило reject будет /etc/dhcp/dhclient-eth0.conf (и, очевидно, нет необходимости использовать блок interface).
  • Командой для повторной инициализации сетевых интерфейсов системы является перезапуск служебной сети , которая снова должна быть вызвана в качестве суперпользователя.
7
ответ дан 3 December 2019 в 08:38

Теги

Похожие вопросы