我有一个带有两个接口的 Slackware Linux 13.0 盒子,eth0和eth1。我已将此盒子设置为 192.168.1.0/24 网络,子网掩码为 255.255.255.0。
我正在尝试在此盒子上运行 dhcpd 服务器来为上面的两个接口提供服务,因此我将 192.168.1.0/24 网络划分为两个子网。
- 为了eth0192.168.1.1,子网掩码255.255.255.128,广播掩码192.168.1.127。
- 为了eth1192.168.1.129,子网掩码255.255.255.128,广播掩码192.168.1.255。
两个接口都是手动分配的。
eth0 链路封装:以太网 HWaddr 00:00:00:00:00:00 inet 地址:192.168.1.1 Bcast:192.168.1.127 掩码:255.255.255.128 上行广播运行多播 MTU:1500 度量:1 RX 数据包:0 错误:0 丢弃:0 溢出:0 帧:0 TX 数据包:39 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节:0 (0.0 B) TX 字节:1404 (1.3 KiB) 中断:11 基址:0x8000 内存:faffc000-faffcfff eth1 链路封装:以太网 HWaddr 00:00:00:00:00:00 inet 地址:192.168.1.128 Bcast:192.168.1.255 掩码:255.255.255.128 上行广播运行多播 MTU:1500 度量:1 RX 数据包:10003 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:13286 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节:1589229(1.5 MiB)TX 字节:9900005(9.4 MiB) 中断:11
这里是dhcpd配置文件设置
权威性; ddns 更新样式临时; 忽略客户端更新; 子网 192.168.1.0 网络掩码 255.255.255.128 { 范围 192.168.1.2 192.168.1.126; 默认租用时间 86400; 最大租赁时间 86400; 选项路由器192.168.1.1; 选项 ip-forwarding 关闭; 选项域名服务器 208.67.222.222, 208.67.220.220; 选项广播地址192.168.1.127; 选项子网掩码 255.255.255.128; } 子网 192.168.1.128 网络掩码 255.255.255.128 { 范围 192.168.1.129 192.168.1.254; 默认租用时间 86400; 最大租赁时间 86400; 选项路由器192.168.1.1; 选项 ip-forwarding 关闭; 选项域名服务器 208.67.222.222, 208.67.220.220; 选项广播地址192.168.1.255; 选项子网掩码 255.255.255.128; }
这是日志中显示的内容
4 月 10 日 18:09:58 inspiron8600 dhcpd: DHCPDISCOVER 来自 00:00:00:00:00:00 (inspiron8600) 通过 eth1 4 月 10 日 18:09:58 inspiron8600 dhcpd:192.168.1.131 上的 DHCPOFFER 通过 eth1 发送至 00:00:00:00:00:00 (inspiron8600) 4月10日 18:10:01 inspiron8600 dhcpcd[3832]: eth1: 添加 IP 地址 169.254.153.6/16
这是无稽之谈,日志中充满了无意义的内容。应该注意的是,“inspiron8600”是运行 dhcpd 服务器的 Linux 机器。所以我的问题是:
我该如何阻止这种情况发生?它为什么要给自己一个租约?
我确信我错过了一些东西,但却看不到它,并希望社区能用一双眼睛来发现这个明显的缺陷!
值得一提的是,MAC 已被过滤掉并替换为 0,以保护有罪者!!!
答案1
其行为十分奇怪。
- 这不是答案,但是 HWaddr 00:00:00:00:00:00 看起来很奇怪!
- DHCP 服务器为自托管主机提供地址并不奇怪。它为每个询问的人提供地址。奇怪为什么 DHCP 客户端询问!
- 如果 dhcp clien 功能不需要,则可以停止并禁用 dhcpcd (DHCP 客户端守护进程)。
答案2
我希望这不是一个愚蠢的问题,但是您是否检查过以确保系统中没有运行 dhclient 或 dhcpcd(我不知道 Slackware 使用哪一个)?在 Slackware 中,您可能仍必须手动禁用 DHCP 客户端守护程序,具体取决于您如何分配系统的静态 IP 地址。
以下命令显示任何正在运行的内容吗?
ps -C dhcpcd,dhclient