关于限制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的感觉。
关于限制DHCP服务器广播的另类方法的更多相关文章
- Windows Server 2016-三种方法备份还原DHCP服务器
方法一:图形化备份还原DHCP: 备份操作: 1.DHCP控制台,属性选择"备份"选项: 2.指定备份路径,默认是C:\Windows\System32\dhcp\ 3.备份完成后 ...
- DHCP服务器的搭建
dhcp笔记整理:http://services.linuxpanda.tech/DHCP/index.html 1 dhcp简介 DHCP原理 动态主机配置协议(Dynamic Host Confi ...
- Linux常见服务器——DHCP服务器的搭建
一.基础知识: 1.DHCP简介: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP ...
- Windows DHCP服务器
DHCP服务器 编辑 动态主机配置协议是一个局域网的网络协议.指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码.首先, DHCP服务器必须是一台安装有 ...
- Ubuntu Linux 学习篇 配置DHCP服务器
isc-dhcp-server 动态主机配置协议是一个局域网的网络协议.指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码.首先, DHCP服务器必须是 ...
- 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)
环境如下: (参考之前,保证二个子网可以互相ping通) 虚拟机vm1 192.168.170.3 VMnet8 (NAT模式) 虚拟 ...
- DHCP服务器原理
DHCP服务器 port:67 DHCP 这个服务可以自动的分配 IP 与相关的网络参数给客户端, 来提供客户端自动以服务器提供的参数来设定他们的网络 12.1 DHCP 运作的原理 ...
- [渣译文] SignalR 2.0 系列:SignalR的服务器广播
英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET SignalR 2.0系列的翻译,这里是第八篇:SignalR的服务器广 ...
- DHCP服务器的开始方式
方法一:采用DHCP服务器接口开启的方式 [Huawei]dhcp enable [Huawei]int g0/0/0[Huawei-GigabitEthernet0/0/0]ip add 192.1 ...
随机推荐
- 201521123087 《Java程序设计》第1周学习总结
1.学习总结 初步了解面对对象编程思想 学会安装JDK和设置JAVA_HOME,PATH,CLASSPATH环境变量 简单了解java 2.书面作业 1.为什么java程序可以跨平台运行?执行java ...
- JAVA课设---五子棋
1.团队博客链接 JAVA课设-五子棋-团队博客 2.个人负责模块: ①对鼠标事件的处理 , 此模块需处理五子棋的放置问题.颜色转换问题.以及当五子连线时弹出窗口显示结果. ②对MainFrame中主 ...
- 201521123121 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前 ...
- 内置open()函数对外部文件的操作
>>> file=open('c://333.csv','r') 一些基本打开关闭操作 >>> s=file.read() >>> print s ...
- JPA关系映射之one-to-one
一对一关联有两种实现方式:一种是共享的主键关联,另一种是一对一的外键关联 1.共享的主键关联:让两个对象具有共同的主键值,以表明他们之间的一一对应关系. Person.java类 public cla ...
- Python shelve模块的使用方法
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' import shelve,time #写 x = shelve. ...
- 利用angularJs自定义指令(directive)实现在页面某一部分内滑块随着滚动条上下滑动
最近老大让我一个效果实现在页面某一部分内滑块随着滚动条上下滑动,说明一下我们项目使用技术angularJs.大家都知道,使用jquery很好实现. 那么angular如何实现呢,我用的是自定义指令(d ...
- BigDecimal的加减乘除及比较大小
import java.math.BigDecimal; import static java.lang.System.out; public class BaseClass { public sta ...
- Ubuntu16.04.1安装JDK1.8.0
今天在安装Zookeeper的时候需要安装JDK,对于.Neter来说还是有点陌生,下面我就把安装JDK的步骤记录一下,分享给大家. 一.下载JDK安装包:http://www.oracle.com/ ...
- angular学习-01,使用第三方库(jquery...)
开发环境(window) 1.安装node https://nodejs.org/en/ 2.安装angular-cli npm install -g @angular/cli 3.使用ng new ...