SecPath F1000-C-G V5版 没有hairpin 怎么配置双向NAT,谢谢
(0)
最佳答案
https://zhiliao.h3c.com/Theme/details/8149
(0)
提示没有访问该案例的权限
客户想通过MSR的公网IP地址来访问内网服务器,MSR上内网口配置NAT server以及NAT outbound来实现,但是配置完成之后无法正常访问。 拓扑如下: 交换机为二层交换机,内网的网关设置在MSR Ethernet0/0接口,接口上配置了NAT server以及NAT outbound。 接口配置: interface Ethernet0/0 port link-mode route nat outbound 3100 nat server protocol tcp global 101.231.109.18 88 inside 192.168.1.241 www ip address 192.168.1.1 255.255.255.0 配置无误,但是内网PC无法通过101.231.109.18:88访问到192.168.1.241:80端口。 排查过程: 在MSR上debug nat packet结果如下: (Ethernet0/0-in :)Pro : TCP is to NAT server ( 192.168.1.230:62113 - 101.231.109.18: 88) ------> ( 192.168.1.230:62113 - 192.168.1.241: 80) //接口收到来自PC的192.168.1.230:62113 - >101.231.109.18的数据包,将目的IP以及端口转换成功 *Jul 5 11:31:45:254 2016 H3C NAT/7/debug: (Ethernet0/0-out :)Pro : TCP 》 ( 192.168.1.230:62113 - 192.168.1.241: 80) ------> ( 192.168.1.1:12326 - 192.168.1.241: 80) //接口发送192.168.1.230:62113 – >192.168.1.241:80的数据包,将源IP以及端口转换成功 *Jul 5 11:31:45:256 2016 H3C NAT/7/debug: (Ethernet0/0-in :)Pro : TCP ( 192.168.1.241: 80 - 192.168.1.1:12326) ------> ( 192.168.1.241: 80 - 192.168.1.230:62113) //接受收到来自server的192.168.1.241: 80 -192.168.1.1:12326 的回应数据包,将源IP以及端口转换成功 *Jul 5 11:31:45:256 2016 H3C NAT/7/debug: (Ethernet0/0-out :)Pro : TCP is from NAT server ( 192.168.1.241: 80 - 192.168.1.230:62113) ------> ( 101.231.109.18: 88 - 192.168.1.230:62113) //接口发送101.231.109.18:88 - >192.168.1.230:62113的数据包,将源IP以及端口转换成功 到此tcp三次握手的前两个数据包成功NAT转换,下面应该是第三个由PC发往server的数据包。但是之后的debug显示信息如下: (Ethernet0/0-in :)Pro : TCP is to NAT server ( 192.168.1.230:62133 - 101.231.109.18: 88) ------> ( 192.168.1.230:62133 - 192.168.1.241: 80) *Jul 5 11:32:15:679 2016 H3C NAT/7/debug: (Ethernet0/0-out :)Pro : TCP ( 192.168.1.230:62133 - 192.168.1.241: 80) ------> ( 192.168.1.1:12327 - 192.168.1.241: 80) debug显示确实收到了来自PC发往server的数据包,但是注意此时的端口从62113变成了62133,已经不再是原来的tcp连接,并没有看到预期的第三个tcp的flag为ack的数据包。 那么是设备没有接受到第三个tcp的flag为ack的数据包还是终端没有发送这个数据包呢?之后再访问时PC和server同时抓包。 PC端抓包: PC上可以看到服务器对于TCP三次握手的SYN的回应,但是PC发送的TCP三次握手ACK之后没有收到来自服务器的后续报文。 服务器端可以看到用户的报文已经被转换目的地址,并且源地址也被转换成为网关接口IP,但是一直没有收到TCP三次握手的最后一个ACK报文,一直重发SYN,ACK。 现在可以确定数据包已经发送到MSR,但是MSR却没有正确NAT处理,看来问题还是MSR。最后排查发现,这和MSR的快转机制有关,MSR在建立快转表象时只能关联一条NAT session,而在这种情况下,数据包转发时需要被进行2次NAT转换,一次NAT server转换目的IP和端口,一次NAT outbound转换源IP和端口,也就是需要匹配2次NAT session,一次匹配导致数据包NAT转换之后目的IP变成设备上接口IP,数据包终结在设备自身而没有转发出去,导致tcp三次握手无法建立,访问失败。 在接口下关闭快速转发:undo ip fast-forwarding
NAT outbound命令无效是什么问题呢
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
NAT outbound命令无效是什么问题呢