设备完成配置NAT66后
为什么 display nat66 session 始终为空?流量已到达防火墙并被安全策略放行,但似乎未进入NAT66处理流程。
该版本(Release 9660P58)是否存在NAT66功能的已知限制或缺陷?
是否有其他配置遗漏或需要调整的地方?(如是否需要全局开启某功能、ACL引用方式是否有差异等)
设备型号: H3C SecPath F1070
软件版本: H3C Comware Software, Version 7.1.064, Release 9660P58
组网拓扑:
内网终端(IPv6地址:2001:db8:1::100/128)→ 汇聚交换机(DHCPv6分配地址,默认路由下一跳指向F1070)→ F1070防火墙(内网接口 Vlan4000,地址:2001:db8:2::1/64)→ F1070公网接口 GE1/0/11(地址:2001:db8:3::2/64)→ 运营商网关(2001:db8:3::1)
外网接口NAT配置如下:
interface GigabitEthernet1/0/11 port link-mode route description To-ISP ip address 198.51.100.2 255.255.255.248 ip last-hop hold nat outbound ipv6 address 2001:db8:3::2/64 nat66 prefix source 2001:db8:1::100 128 2001:db8:4::100 128 pat proxy-nd enable local-proxy-nd enable
安全策略: 已放行 IPv6 any-any(有命中计数)
路由:
内网终端默认网关指向汇聚交换机,汇聚交换机有默认路由指向F1070的内网接口地址。
F1070有默认路由指向运营商网关 2001:db8:3::1。
现象:
内网终端(2001:db8:1::100)ping 公网 IPv6 地址(如 2001:4860:4860::8888),不通。
不配置 nat66 时,display ipv6 fast-forwarding cache 有快转表项,而且发现内网终端的源端口已经发生了转换;
配置 nat66 后,快转表项消失。
display nat66 session 始终为空(Total sessions found: 0)。
display security-policy statistics ipv6 显示 IPv6 策略有命中计数,说明流量已到达防火墙并被安全策略放行。
已尝试添加 pat 参数、开启 proxy-nd enable 和 local-proxy-nd enable,问题依旧。
补充信息: 搜索到MSR3620有类似案例,配置NAT66后无会话,最终通过 proxy-nd enable 解决。另有案例指出NAT66前缀与接口地址在同一网段时无法响应NS报文,但本场景中转换后地址与接口地址不属于同一/64前缀,故不适用。
请各位大神指点,谢谢!
已排查项目:
安全策略已放行(any-any,有命中计数)
路由可达(汇聚交换机有默认路由指向F1070,F1070有默认路由指向运营商网关)
接口IPv6地址配置正确,接口状态UP
转换前后前缀长度一致(均为/128)
转换后地址与接口地址不属于同一个/64前缀
已开启ND代理(proxy-nd enable + local-proxy-nd enable)
已尝试添加pat参数
最佳答案
您遇到的问题是典型的配置缺失导致的,而非软件版本缺陷。根本原因在于:H3C的nat66 prefix source命令必须与一个ACL(访问控制列表)配合使用,以明确指定哪些流量需要进行NAT66转换。
您目前仅配置了转换规则(将源地址A转换为B),但没有告诉设备“哪些流量要应用这个规则”。
问题根因详解
NAT66与NAT44的机制差异:
NAT44通常可以通过nat outbound(在接口下)或nat source(在策略中)直接调用ACL,或使用acl参数。
NAT66的nat66 prefix source命令本身是一个静态映射声明,它定义了“将地址X转换为地址Y”。但它不会自动匹配所有经过该接口的流量。设备需要知道“针对哪些流量执行这个映射”。
ACL的作用:
您需要在系统视图下创建一个IPv6 ACL,用于匹配您想要进行NAT66转换的源IP地址(即内网终端地址)。
然后,您需要将这个ACL与nat66 prefix source命令关联起来。在H3C的实现中,这通常是通过在接口下配置nat66 prefix source时,引用该ACL来实现的。
解决方案与配置修正
请按以下步骤操作,这应该是解决您问题的关键:
步骤1:创建IPv6 ACL
# 创建高级IPv6 ACL,匹配您想要转换的源地址
acl ipv6 advanced 3000
rule 0 permit ipv6 source 2001:db8:1::100 128
quit
注意:如果您想对所有内网网段进行NAT66,可以将source改为 2001:db8:1:: 64 或其他合适的范围。
步骤2:修改接口下的NAT66配置,引用ACL
interface GigabitEthernet1/0/11
# 删除原来的配置
undo nat66 prefix source 2001:db8:1::100 128 2001:db8:4::100 128 pat
# 重新配置,并引用ACL
nat66 prefix source acl ipv6 number 3000 2001:db8:4::100 128 pat
quit
解释:acl ipv6 number 3000 这部分是关键。它告诉设备:“只有匹配ACL 3000的流量,才执行后面的NAT66转换”。
步骤3:验证配置
display this interface GigabitEthernet 1/0/11
display nat66 session verbose
display nat66 all
其他排查建议(即使上述步骤解决后,也请检查)
确认NAT66全局开关:虽然通常不需要,但可以确认一下是否有关联的全局命令。在H3C设备上,nat66功能通常在接口配置后即生效,但您可以检查是否有 nat66 enable 之类的全局命令(通常没有,但值得确认)。
检查路由对称性:确保回程流量也能正确到达F1070。您的配置中,转换后的地址是 2001:db8:4::100,这个地址的路由必须在F1070上存在,并且指向内网。F1070收到回包后,需要能解NAT,找到原始地址 2001:db8:1::100。您需要在F1070上有一条指向内网接口的路由,例如 ipv6 route-static 2001:db8:4::100 128 Vlan-interface4000,以确保回包能正确转发给内网终端。
检查ND代理的必要性:您已经开启了 proxy-nd 和 local-proxy-nd,这通常是正确的。但请注意,如果内网终端和F1070之间没有二层隔离需求,理论上可以不配。您当前的配置是正确的,无需改动。
关于您提到的“不配置nat66时,内网终端的源端口已经发生了转换”:这个现象很奇怪。如果不配NAT66,不应该有端口转换。请您再次确认当时的状态,是否是其他策略(如NAT44)导致的?或者您看到的是IPv6的临时地址转换?这一点不影响当前问题,但值得留意。
关于版本缺陷的回应
Release 9660P58 是一个相对成熟的版本,对于基础NAT66功能(如您所配置的prefix source)的支持是完善的。
MSR3620的案例:那个案例中,问题在于NAT66转换后的地址与接口地址在同一网段,导致ARP/ND解析失败。您的情况不符合此条件,所以不适用。
结论:强烈建议您优先检查并修正ACL配置。在完成上述配置前,不要轻易归结为版本缺陷。如果修正后问题依旧,再考虑联系H3C技术支持并提供完整的debug信息(如 debug nat66 packet 的输出)。
总结操作清单
创建IPv6 ACL 3000,匹配源地址 2001:db8:1::100/128。
修改接口GE1/0/11的NAT66配置,加入 acl ipv6 number 3000。
添加回程路由:ipv6 route-static 2001:db8:4::100 128 Vlan-interface4000。
清理并重建会话:清除原有会话 reset nat66 session,然后重新发起测试。
请按照以上步骤操作,大概率可以解决问题。祝您顺利!
nat66 prefix‑source属于无状态 NPTv6 转换,不会生成 nat66 session 表项,display nat66 session 永远为空,不能以此判断是否生效;查看 display nat66 statistics 转换计数是否增长。
2、故障诱因:GE1/0/11 接口同时配置nat outbound ipv6和nat66 prefix source,R9660P58 版本出现规则冲突,报文无法匹配 prefix‑source,ipv6 快转表消失;同时nat66 prefix source后带 pat 参数在该版本 F1070 存在缺陷。
修复:删除接口下nat outbound ipv6,去掉 pat 参数。interface GigabitEthernet1/0/11
undo nat outbound ipv6 address 2001:db8:3::2/64
undo nat66 prefix source 2001:db8:1::100 128 2001:db8:4::100 128 pat
nat66 prefix source 2001:db8:1::100 128 2001:db8:4::100 128
save force
display nat66 source确认规则 Active;display nat66 statistics观察 source‑prefix‑translate 计数是否上涨。
5、版本建议:R9660P58 接口 NPTv6 存在上述限制;需要大规模 NPTv6 场景建议升级 R9660P60。
感谢以上两位大神回答,但是

1.nat66 prefix source命令后面没有acl参数可选,只能直接配置IPv6
2.
接口的配置并没有nat outbound ipv6 命令
已经确认运营商写有ipv6业务网段的回程路由。
已经确认运营商写有ipv6业务网段的回程路由。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明