锐捷作为dhcp中继有状态ipv6获取不到地址排查SOP

一、故障现象

18k交换机作为终端网关,dhcpv6有专门的dhcp服务器分配地址,终端无法获取到ipv6地址。

二、组网拓扑

拓扑描述: 终端PC连接到接入交换机的二层口g 0/1,接入的上联口agg 1为trunk口,连接到核心的下联口agg 5,核心agg 5口也为trunk口,核心通过g 3/10二层口连接到dhcp服务器。

三、可能原因

1、核心上dhcpv6相关配置有问题;
2、核心下联端口开启了认证,认证模式为严格模式;
3、网络中存在环路等环境问题导致dhcpv6报文转发异常; 4、对应终端为安卓手机,安卓本身不支持有状态;

四、故障排查步骤

步骤一:排查配置层面的因素

1、检查核心交换机dhcpv6相关配置

标准参考配置如下,以下均为必配项,若缺少需要补充,未缺少则下一步排查
interface vlan 20
ipv6 address 2001:1::1/64
ipv6 enable
ipv6 dhcp relay destination 2002::2 ----->配置DHCPv6中继服务器地址//需要确保服务器地址可达,通过ping测试确认,若不可达,需要先检查连通性情况,解决完进行下一步
no ipv6 nd suppress-ra ----->开启路由通告功能
ipv6 nd managed-config-flag ----->设置RA通告的M位
exit

2、检查核心下联口认证配置情况

通过命令show run int agg 5查看下联口的配置,若接口下开启了认证,通过命令show run | in address-bind查看ipv6认证模式是严格模式还是兼容模式(默认为严格模式),若不为兼容模式需要修改为兼容模式,具体认证模式说明如下
兼容模式(compatible): IPv4未认证通过,IPv6无法转发,IPv4认证通过,IPv6也可以转发;
严格模式(strict):无论IPv4认证通过与否,IPv6都无法转发;
宽松模式(loose):无法IPv4认证通过与否,IPv6都可以转发;

3、检查核心acl配置情况

通过show access-group查看全局或者对应svi 口以及物理接口是否有调用acl,若没有调用acl则下一步进行排查,若有调用acl则检查是否有放通对应dhcpv6报文,没放通的话需要放通一下,放通了的话则下一步排查;

步骤二:排查环境层面的因素

1、检查终端是否为安卓手机,若是安卓手机获取不到ivp6地址则属于正常,因为安卓本身不支持有状态,若想让安卓手机获取需要修改架构为本地dhcpv6且无状态的方式;

2、检查是否存在环路

检查网络环境是否存在环路,可参考环路排查手册环路排查SOP ,若存在环路先解决环路再进行下一步,无环路则直接进行下一步

步骤三:排查产品层面的因素

1、通过show cpu-protect summary查看cpp里dhcpv6是否有丢包,若有丢包则可能存在攻击,需要进一步排查解决完再进行下一步,若无丢包则直接进行下一步

2、show ipv6 dhcp relay statistics查看dhcpv6报文的收发情况,若是某一行报文没有统计数值,按下图判断是终端,交换机还是服务器的问题之后进一步排查对应原因,若是终端问题则检查终端侧是否有发出,有发出的话检测中间链路情况,若是服务器问题则联系服务器侧协助排查,若是交换机问题则下一步排查

注:当前统计信息无法看到交换机和服务器交互的具体报文类型数量。

3、通过dhcpv6 debug查看dhcpv6报文交互情况

debug syslog limit reset debug syslog limit numbers 1000 debug ipv6 dhcp filter mac H.H.H(故障终端mac)
debug ipv6 dhcp relay
正常交互如下:

3、终端侧安装wireshark抓包查看dhcpv6交互情况

五、故障信息收集

terminal length 0
terminal monitor
show clock
show version
show version slots
show version detail
show logging
show coredump files
show run
show cpu
show mem
show memory history
show int st
show int st | in up
show interface
show interfaces status err-disabled
show int counter rate //间隔3S,执行3次
clear counters
show int counter summary //间隔3S,执行3次
show cpu-protect //间隔3S,执行3次
show cpu-protect device x slot x //机框VSU场景收集,核查对应线卡CPP,间隔3S,执行3次
show span sum
show cpu-protect type arp
show nfpp log summary
show nfpp log buffer
show mac-address-table aging-time
show mac-address-table count
show route-map
show of flowtable
show access-lists
show access-group
show ipv6 nei
show ipv6 nei | in H.H.H
show run | in ipv6-mode
show ipv6 dhcp conflict
show ipv6 dhcp pool
show ipv6 dhcp binding
show ipv6 dhcp binding | in H.H.H
show ipv6 dhcp relay statistics
show ipv6 dhcp interface
show ipv6 nd
debug syslog limit reset
debug syslog limit numbers 1000
debug ipv6 dhcp filter mac H.H.H(故障终端mac)
debug ipv6 dhcp relay
//等一分钟,终端侧触发获取地址
show ipv6 dhcp relay statistics
undebug all
terminal no length
terminal no monitor

六、总结与建议

ipv6有状态获取不到地址的问题,需要注意以下几点: 1.安卓手机本身不支持有状态,获取不到是正常的,需要使用无状态; 2.dhcpv6相关配置一定要确保正确; 3.需要注意环境是否存在环路异常;
阅读剩余
THE END