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

dhcpd неожиданно назначает бесполезный маршрут для другой подсети в качестве шлюза по умолчанию

Наш dhcpd.conf определяет две подсети, например,

subnet 192.168.0.0 netmask 255.255.255.0 {
  option routers 192.168.0.1; # internet gateway
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.10; # internal network gateway
}

Но клиент DHCP получает оба адреса шлюза в качестве шлюзов по умолчанию, например,

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1     192.168.0.78     35
          0.0.0.0          0.0.0.0     192.168.1.10     192.168.0.78     35 <-This is a bad one.

Почему это происходит? И как мы можем это исправить?

У меня недостаточно очков репутации, чтобы задать пару вопросов в комментариях. Это поможет увидеть весь ваш файл dhcpd.conf и конфигурацию сетевых интерфейсов, а также то, какой дистрибутив вы используете.

Исходя из предоставленной вами информации, я предполагаю, что у вас есть многосетевой DHCP-сервер с по крайней мере двумя интерфейсными картами, настроенными для обслуживаемых вами подсетей и подключенными к ним. Или вы настроили DHCP-ретранслятор для соответствующей подсети.

В таком случае объявления вашей подсети должны выглядеть примерно так:

subnet 192.168.0.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option routers 192.168.0.1;
    range 192.168.0.5 192.168.0.15;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option routers 192.168.1.10;
    range 192.168.1.5 192.168.1.15;
}

Демон DHCP будет прослушивать все сетевые интерфейсы, если иное не указано в DHCPDARGS объявление в dhcpd.conf ex. - DHCPDARGS="eth0 eth1";