关于限制DHCP服务器广播的另类方法
0. 引言
如图,家里有两台计算机,分别处于不同房间。其中一台PC1能够与光猫直连;另外一台PC2较远,考虑到光猫有WLAN功能,便使用了一个路由器无线桥接到光猫,然后有线连接到PC2(均与光猫处于同一网段)。
该路由器由于使用无线桥接,路由器的DHCP服务被关闭,无线连接至路由器无问题,但是却不能对有线连接的PC2进行DHCP中继。
由于PC1与PC2要使用WOL(网络唤醒),光猫的DHCP设置中很顺利地将PC1的MAC与IP绑定,另外也发现:光猫是支持直接设置DHCP中继地址的。
而路由器的MAC绑定功能又是建立在其DHCP服务上的,又不得不开启DHCP服务,这便产生了一些问题。
当然了,在配置路由器DHCP服务时,路由器和光猫的DHCP地址池没有交集。
1. 现象
开启了路由器的DHCP服务后,由于DHCP是以UDP广播进行的,PC1发出DHCP DISCOVER广播后,光猫和路由器收到后都会发出DHCP OFFER广播。虽然从经验来说,光猫应该比路由器更先到达PC1,所以PC1应该“听光猫的话”。
但是实际测试时的结果很奇怪:由于地址池没有交集,PC1获取的IP一会儿在光猫的地址池,一会儿在路由器的地址池,也就是说两个DHCP OFFER广播的到达次序其实是不确定的。
问题只出现在光猫LAN侧,PC2是没有问题的。
2. 解决
1) 不要用WOL
WOL的需求还是比较迫切的,由于经常在外,人机合一是少不了的事情。
2) 想办法让设备支持DHCP Snooping
估计只有换设备一条路,算了吧。
(不过在光猫上发现了端口过滤,想到能不能用光猫把路由器的两个DHCP的端口67和68过滤掉就好,虽然还没有尝试过,也不想尝试)
3) 让光猫处于DHCP中继模式
让光猫处于DHCP中继模式,路由器作为真正的DHCP服务提供者,感觉这样做不太好,一方面路由器有时会关掉,这样PC1就没法绑IP了。
4) 限制路由器DHCP地址池
试着将路由器的DHCP地址池就限制成一个地址,PC2的地址。
这样的话应该就不会再DHCP OFFER广播了,实验后符合我的猜想。
之后我将笔记本连到路由器后,获取不到地址了;无线端由于可以自动DHCP中继,也没有大问题。
这样一切都可以正常的工作了,虽然感觉方法有点tricky的感觉。