客人在我所供职的酒店上网的时候,经常会弹出一个对话框,显示一些提示,如上网的注意事项和消费标准等信息;并且有自己的电影和歌曲服务器,DHCP-server也是其中的一台服务器,宾馆、酒店就是用这台机器,为客户分配IP地址提供上网功能,即客户把自己的计算机连上网线,网卡配置自动获取IP地址,就会从动态主机配置协议(DHCP)服务器分配到一个IP地址;采用DHCP server可以自动为用户设置网络IP地址、掩码、网关、DNS、Wins 等网络参数,简化了用户网络设置,提高了管理效率。 
  那么我们的问题也出现了:常见的,很多用户抱怨用这种方法上不了网,但不是所有客户都上不了网。经过调查发现,住宾馆、酒店的人绝大多数是商务人员和工程师,他们携带的手提电脑一般安装的是Windows server版本,server版本默认启动了DHCP server功能,当一台这样的计算机连入网络,在他之后的计算机就会把他当成DHCP服务器,并被分配了不正确的IP地址,从而上不了网。

  DHCP服务器地址分配方式

  DHCP是一种用于简化主机IP配置管理的协议标准。通过采用DHCP标准,可以使用DHCP服务器为网络上所有启用了DHCP的客户端分配、配置、跟踪和更改(必要时)所有TCP/IP设置。此外,DHCP还可以确保不使用重复地址、重新分配未使用的地址,并且可以自动为主机连接的子网分配适当的IP地址。当一个网络中,有2个或2个以上的DHCP服务器时,提醒切勿将DHCP地址池定义的过大,以免多个地址池之间出现"包含于"的关系,或者是部分客户端手工指定的IP地址包含于DHCP服务器的地址池中,从而造成DHCP的一些异常故障。

  针对不同的需求,DHCP服务器有三种机制分配IP地址:

  自动分配 DHCP服务器给首次连接到网络的某些客户端分配固定IP地址,该地址由用户长期使用;

  动态分配 DHCP服务器给客户端分配有时间限制的IP地址,使用期限到期后,客户端需要重新申请地址,客户端也可以主动释放该地址。绝大多数客户端主机得到的是这种动态分配的地址;

  手动分配 由网络管理员为客户端指定固定的IP地址。

  三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。

  每项技术都是有利有弊的,DHCP也不例外,由于DHCP有着配置简单,管理方便的优点,问题也随之产生,由于DHCP的运作机制,通常服务器和客户端没有认证机制,如果网络上存在多台DHCP服务器将会给网络造成混乱。由于用户不小心配置了DHCP服务器引起的网络混乱非常常见,足可见此问题的普遍性。

  本人在从事网络工作的几年里,遇到过很多问题,其中有关DHCP-server冲突的不在少数,在解决问题的同时也总结了一些经验,在这里简单介绍一下,与大家分享,希望给在解决此类问题的同行一些帮助,也希望广大高手指出其中的不足和需要改进的地方。

  DHCP服务器冲突的解决方法

  使用DHCP snooping技术来解决

  针对这种DHCP服务器冲突的解决方法有很多,最直接的方法就是贴告示,让入住的客户在上网时关闭Windows的DHCP网络服务,这个选项在‘控制面板',‘管理工具'里的‘DHCP网络服务',进入关闭即可。这里要注意的是,非server版的Windows不用关闭,并且不要把‘控制面板',‘管理工具',‘服务'中的DHCP client给停止了,这样是分配不到地址的。

  当然上面的方法比较被动也不合常理,更不便于我们网络的管理,所以还是应该从我们网络本身出发来解决问题。

  既然是DHCP的问题,那么我们就用DHCP的技术来解决问题,比较有代表的就是DHCP snooping技术。DHCP snooping技术是DHCP安全特性,通过建立和维护DHCP snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。DHCP snooping绑定表包含不信任区域的用户mac地址、IP地址、租用期、vlan-id接口等信息。

  首先定义交换机上的信任端口和不信任端口,其中信任端口连接DHCP服务器或其他交换机的端口;不信任端口连接用户或网络。不信任端口将接收到的DHCP服务器响应的DHCP ack 和DHCP off报文丢弃;而信任端口将此DHCP报文正常转发,从而保证了用户获取正确的IP地址。具体配置如下:
配置中的命令都是以CISCO的设备为基础,但不管是哪个公司的设备,总体设计思想是一致的,不同的可能在命令格式上略有差异,工作人员应该根据具体的实际情况来解决相应的问题。

  在全局模式下启动DHCP snooping功能,这个默认是关闭的,而且不是所有设备都支持这个功能,最好先看使用说明。

  switch(config)#ip dhcp-snooping

  如果有vlan就使用下面的命令来监测具体的vlan

  switch(config)#ip dhcp-snooping vlan vlan-id

  然后定义可信任的端口,默认情况交换机的端口均为不信任端口,通常网络设备接口, TRUNK 接口和连接DHCP服务器的端口定义为可信任端口。

  switch(config)#int f0/x

  switch(config-if)#ip dhcp snooping trust

  使用PVLAN技术来解决

  有很多二层的技术可以防止DHCP-server冲突的,PVLAN就是其中一个运用比较广的技术。

  PVLAN私有局域网(private vlan),在PVLAN的概念里,端口有3种类型:Isolated port,Community port, Promiscuous port;它们分别对应不同的vlan类型:Isolated port属于Isolated PVLAN,Community port属于Community PVLAN,而代表一个Private vlan整体的是Primary vlan,前面两类vlan需要和它绑定在一起,同时它还包括Promiscuous port。在Isolated PVLAN中,Isolated port只能和Promiscuous port,彼此之间不能访问;在Community PVLAN中,vlan与vlan之间都不能访问,同一Community vlan的接口可以互相访问,并且所有Community vlan的接口都可以与Promiscuous port进行通信。利用这项技术,我们可以把上连或连接DHCP服务器的接口定义为Promiscuous port,其他接口分配到Isolated vlan里,这样所有接口都只能与上连或DHCP服务器进行通信,即使有一台机器设为DHCP服务器,其他机器也不会与它产生流量,把它做为服务器。

  利用这个技术解决DHCP-server冲突的方法有很多,也很灵活,下面介绍一种比较简单的方法,也是用的比较多的:

  首先把交换机配置成transparents模式:

  switch(config)#vtp mode transparent

  顺便可以打开端口的保护功能,它的意思是打开端口保护的端口之间不能访问,但打开保护的端口可以与没有开启此项功能的端口通信,可以根据自己的需求来打开保护功能:

  switch(config)#int range f0/124

  switch(config-if-range)#switchitchport protected

  建立isolated vlan和primary vlan,把isolated vlan定义为primary lan的附属vlan,因为要与primary互相访问:

  switch(config)#vlan 14

  switch(config-vlan)private-vlan isolated

  switch(config)#vlan 44

  switch(config-vlan)#private-vlan primary

  switch(config-vlan)#private-vlan association 14

IP冲突解决方案的更多相关文章

  1. Alwayson的IP冲突

    Alwayson的IP冲突 https://social.technet.microsoft.com/Forums/office/en-US/4d50cb1c-eef7-4dcc-b937-3c8eb ...

  2. Atitit 类库冲突解决方案  httpclient-4.5.2.jar

    Atitit 类库冲突解决方案  httpclient-4.5.2.jar 错误提示如下1 版本如下(client and selenium)2 解决流程2 挂载源码 (SSLConnectionSo ...

  3. SVN代码提交冲突解决方案

    SVN代码提交冲突解决方案 1.若你的代码被其他人修改并提交过了,期间你自己也修改过该文件,UPDATE的时候自己代码被覆盖. 右键——>显示日志 查看该文件的更新记录 找到需恢复的版本 右键— ...

  4. Git冲突解决方案

    Git冲突解决方案 1.  在代码提交时,先更新,若有冲突.先解决冲突.若提交之后在review时才发现无法合并代码时有冲突,需要abandon此次提交的代码. 2.  解决冲突的基本做法,保存本地代 ...

  5. 局域网内IP冲突怎么办

      对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯.但IP地址冲突会造成网络客户不能正常工作,只 ...

  6. PC端的软件端口和adb 5037端口冲突解决方案

    引用https://www.aliyun.com/jiaocheng/32552.html 阿里云 >  教程中心   >  android教程 >  PC端的软件端口和adb 50 ...

  7. Atitit 类库冲突 解决方案

    Atitit 类库冲突 解决方案 表现情况,找到不某些方法 类等,一个情况是真的找不到,一个情况是加载了错误的jar,导致正确的jar无法加载.. 1.1. 查找现在ide正在使用的jar1 1.2. ...

  8. 李氏滑动事件冲突解决方案 之 处理子ViewGroup的超棒方案

    父ViewGroup(CurView) 和 子 ViewGroup(ParentView) 滑动事件冲突解决方案 之 处理子ViewGroup的超棒方案: 子ViewGroup 以 SlipRelat ...

  9. 日志冲突解决方案(基于gradle)

    日志冲突解决方案 前提:我使用gradle管理项目 最近在项目中需要用curator客户端操作zookeeper,在maven仓库拉取的jar包导致日志冲突,会报以下的错误: 经常会有如上图2处红色框 ...

随机推荐

  1. Android使用AsyncTask异步线程网络通信获取数据(get json)

    摘要: android 4.0以上强制要求不能在主线程执行耗时的网络操作,网络操作需要使用Thead+Handler或AsyncTask,本文将介绍AsyncTask的使用方法. 内容: 1.添加Ht ...

  2. jsp----标签编程(JSTL)

    标签编程简介 JSP的开发是在HTML代码中嵌入了大量的Java代码,但是这样一来会使得JSP页面中充满了Java程序,修改或维护起来非常的不方便, 定义一个简单的标签----空标签 要想实现一个标签 ...

  3. 联通GWH-01路由猫超级用户登录方法

    . . . . . 今天回老家,家里用的是联通GWH-01路由猫,上海贝尔的.用路由器背面说明上面写的user用户登录之后,发现只能查看却无法设置.为了开启无线路由功能,只好在网上查找超级用户,是cu ...

  4. Spring WebSocket初探2 (Spring WebSocket入门教程)<转>

    See more: Spring WebSocket reference整个例子属于WiseMenuFrameWork的一部分,可以将整个项目Clone下来,如果朋友们有需求,我可以整理一个独立的de ...

  5. Python 实现多元线性回归预测

    一.二元输入特征线性回归 测试数据为:ex1data2.txt ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ...

  6. 大型机、小型机、x86服务器的区别

    原文:http://servers.pconline.com.cn/gc/1202/2679853_1.html 大型机.小型机.x86服务器的区别 首先来讲x86服务器,与平常人们所接触的台式机笔记 ...

  7. 数据库ACID属性

    A:Atomicity,原子性.即是事务要么全部完成,要么不完成. C:Consistency,一致性.即是事务如果是并发的,系统也必须如同串行一样. I:Isolation,隔离性.即是使得每个事务 ...

  8. 25个最常用的iptables策略

    1.清空存在的策略当你开始创建新的策略,你可能想清除所有的默认策略,和存在的策略,可以这么做:iptables -F  或者iptables --flush2,设置默认策略默认链策略是ACCEPT,改 ...

  9. Hbase 学习(二)补充 自定义filter

    本来这个内容是不单独讲的,但是因为上一个页面太大,导致Live Writer死机了,不能继续编辑了,所以就放弃了 这里要讲的是自定义filter,从FilterBase继承 public class ...

  10. 将url参数转为json对象

    /** * 将url参数转为json对象 * * @param str * @returns {{}} */ function parseQueryString(str){ arr = [], len ...