dhcpd 意外地将另一个子网的无用路由分配为默认网关

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.

为什么会发生这种情况?我们该如何解决呢?

答案1

我的声誉点数不够,无法通过评论提出几个问题。查看您的整个 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 守护进程将监听所有网络接口,除非DHCPDARGSdhcpd.conf 中的声明另有规定,例如 -DHCPDARGS="eth0 eth1";

相关内容