DHCP-Snooping特性使用不当造成PC机无法获取IP地址

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DHCP-Snooping特性使用不当造成PC机无法获取IP地址

DHCP-Snooping特性使用不当造成PC机无法获取IP地址

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,该协议采用

Client-Server模型,是基于UDP层的协议,兼容并扩充了BOOTP(BOOTstrap Protocol)协议。DHCP Client采用知名端口号68,DHCP Server采用知名端口号67。当网络中有DHCP Relay 设备时,DHCP的主要过程如下:

DHCP协议使用在PC机与DHCP Relay设备之间,当Client收到Relay设备转发的DHCP Ack 报文后,对报文中提供的配置参数进行检查,同时进行配置,完成DHCP过程;如果Client 收到Nak报文,则重新开始整个过程。

需要注意的是DHCP Relay设备回给Client的报文有可能是单播,也有可能是广播,这完全取决于Client是否将发出的 Discover报文里面的Bootp flags字段进行置位。如果该字段数值为1,则DHCP Relay将 Offer或者Ack/Nak报文广播给Client;反之,如果该字段数值为0,则DHCP Relay将 Offer或者Ack/Nak报文单播给Client。

以上,只是简单介绍客户端通过DHCP动态获取地址的过程,主要为了给DHCP-Snoooping

这个交换机新增的特性做铺垫。从字面上看,DHCP-Snooping和IGMP-Snooping完成的功能类似,都是对特定报文进行侦听。

当交换机开启了DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。信任端口可以正常接收并转发DHCP Offer 报文,而不信任端口会将接收到的DHCP Offer报文丢弃。这样,可以完成交换机对假冒DHCP Server的屏蔽作用,确保客户端从合法的DHCP Server获取IP地址。

下面通过一个故障实例,来介绍该功能的配置以及注意事项。

【故障现象及问题定位】

使用S3026G作为接入设备,接入设备汇聚到S3528P上,S3528P作为网络中的DHCP Relay 设备,而DHCP Server接在S3026G下面。要求各个VLAN的PC机可以自动获取IP地址,同时希望能够屏蔽网络中的假冒DHCP Server。

组网图:

首先,保证各个VLAN的PC机可以通过这台DHCP Server获取IP地址。然后,开启交换机的DHCP-Snooping功能,发现所有PC机均无法获取IP地址,说明DHCP-Snooping功能正常。为了让S3026G可以正常收发DHCP Offer报文,则在连接DHCP Server的端口0/23上配置dhcp-snooping trust,将该端口设置为信任端口,发现PC机还是无法获取IP地址。将PC 机换至其它VLAN,仍然无法获取IP地址。而关闭S3026G的DHCP-Snooping功能后,故障消失。可以肯定是DHCP-Snooping的配置导致该故障。

虽然PC机和DHCP Server连接在同一台S3026G上,但是在整个DHCP过程中,作为DHCP Relay 设备的S3528P对所有的DHCP报文都要进行一次转发。因此,采用分别对S3026G的上行端口的出、入方向进行镜像,并抓包分析原因。

通过抓包我们发现,S3026G的上行端口可以将DHCP Server发出的Offer报文透传给S3528P,也能收到S3528P所转发的Offer报文。但是,在0/1端口下的PC机上进行抓包时,却发现该PC机无法收到Offer报文,又由于Offer报文携带着Server分配的地址信息,因此造成PC机无法获取IP地址。

【解决方法】

将S3026G连接DHCP Relay的上行端口0/24也配置为信任端口,则S3026G可以正常收发从DS3528P转发来的DHCP Offer报文,保证客户端可以正常获取IP地址。

当与CAMS配合使用dot1x,并需要上传客户端动态获取的IP地址的时候,开启dot1x的交换机必须支持DHCP-Snooping特性。

1、VPN技术中的MTU问题

【问题简述】

在VPN技术中经常遇到隧道已经建立但是某些应用程序无法正常通讯的问题,一般所来是由于路径MTU不匹配的缘故,下面就其中的数据传输流程做一些分析,以说明遇到出现此类问题该如何解决。

【问题分析】

先从一个实验说起

实验拓扑如下:

PC1-------VPN网关1―――――VPN网关2--------PC2

在上述组网中,VPN网关1和2之间建立了一条GRE隧道,PC1与PC2通过该GRE隧道互访。

这时,我们会发现,PC1在ping 1448的报文时,在PC2上抓包发现没有被分片,而ping 1449时,PC2上会发现PC1过来的报文已经被分片了。为什么呢?

PC1出来的IP报文长度为1448+8(ICMP报头长)+20(IP报头长),到达VPN

网关1,VPN网关1发到GRE隧道口,封装GRE头(4字节),再加上外层IP头,到达VPN 网关外层以太口,这时IP报文的长度已经变为:1448+8+20+4+20=1500字节,刚好等于以太口的MTU,于是被顺利传送。而ping 1449时,到达外层以太口为1501字节,超出了1500的MTU,又因为报文DF位未置1,即可以分片,VPN网关于是将该报文分片发送出去。这就是我们所看到的现象。

在上述实验中,由于应用程序是ping,所以报文可以被分片,因此互通没有问题。但是如果是WEB访问等应用,则有些报文是不允许分片的,这样在外层以太口就会将超过1500的报文丢掉,导致无法通讯。

相关文档
最新文档