您订阅的产品有更新,请实时查阅
审查详情
宣布时间:2020-06-02
各人好,我是 “老狼”,一经也算文艺青年一枚。无奈,一入IT深似海,只是一个转身,就完成了从文艺青年到IT狗的华美变身。
言归正传,今天要和各人分享的内容是关于一个端口映射问题真实案例,我们知道端口映射不乐成问题经常遇到,这次为了正经且系统带引各人学习映射问题排查,我将通过引入身边一个真实案例对话,层层深入剖析映射问题症结,希望能给各人提供一些启示伎帐助。
Ok,话未几说,我们最先吧。
一、什么场景会用到端口映射——情景
为了讲清问题,我们有须要提前相识一下什么场景会用到端口映射及几个基础看法。
首先是NAT(Network Address Translation)全称网络地址转换。详细看法先容建议百度。简朴来讲就是在持有私网地址的主机想和公网的地址通讯的时间需要使用到的公网和私网的地址交流的手艺。我们都知道IPv4路由是区分公网地址和私网地址的,私网地址在公网是没有路由的,那这个时间拥有私网地址的主机想要和公网的主机通讯,这个手艺是必不可少的。
其次是端口映射
图(1)
如上图所示,PC位于外网,某服务器(如web服务器)位于内网。但由于IP地址已经耗尽的问题,整个网络只分派了一个外网IP地址。出口路由器属于内网,用于毗连外网。PC要会见到内网的服务器,需要在出口路由器上开启NAPT(端口映射)功效,即针对web服务提供的端口举行端口映射。
端口映射着实就是一种内网服务器对外开放的一种网络地址转换,着实转换的原理就是当会见公网某个地址的某个端口的时间由NAT装备将目的地址转换为要会见的内网服务器的地址,并转发给内网服务器,期待内网服务器报文返回到对应的接口的时间再凭证之前的会话转换回之前的报文。
二、迷失的映射报文
话说前些天五一小假期,小王好容易借着疫情常态化的契机出去踏个青,晚上回来累的不可,早早的洗洗就睡了。效果三更一点多睡的正香的时间就被好机油(小李)的电话吵醒了,于是有了下面临话……
图(2)
此时的小王睡意完全没了,你割接苦逼也就罢了,拉着我一起苦逼你就是犯法了。我这小暴性情啊。其时我就开喷了:咱俩谁跟谁啊,别客套。用的什么装备��?详细情形和我说下。
三、迷失的映射报文——还原现场
原来现场用一台EG做出口,对内就是焦点交流—汇聚—接入—服务器啦,中心还串了一台防火墙!不过清静战略全放通,直接用接口地址映射内网的服务器。
图(3)
好机油说这个映射设置一定是没问题,这种设置他配过许多遍,并且在内网测试过服务器营业,是正常的啊。内部的服务器也可以直接上公网,可是就是无法乐成通过公网地址会见到内部服务器。
就这啊,机油别怕,so easy ,来吧,让我们一步一步work it out!
“从公网ping映射的公网地址通吗”
“可以通啊”
“Ok,连通性扫除,服务器也没问题”
“修改映射的外网端口测试是否正常?”
“不可以!照旧没法会见”
“Ok,运营商封端口问题可以扫除!”
“焦点交流机利便流量统计或者镜像
抓包吗,看下有没有转换报文从防火
墙上焦点,看下问题究竟和防火墙有
没有关系?”
“抓过了,有报文!”
“OK,基本可以扫除防火墙问题。”
“现场有没有多出口情形?”
“有啊。联通一个,电信一个,两个出口。”
哈哈,听到这里,小王放纵的笑了
“问题应该找到了,是不是往返路径纷歧致导致的?
有没有包管映射的回程数据流还从对应的接口回去��?”
“你兴奋的太早了老铁,接口下开启了reverse-path(源进源出)这个情形应该会往返一致吧?!”
哎呦我去,这自信的,突然闪了老子的腰。险些装逼失败,没关系,next,老纸要放大招了。
“来,帮我收个NAT 转换的流信息
瞅瞅吧。先来看看NAT这步究竟有没
有什么问题。
先开启下登录软件的纪录会话,然后cli敲:
1. show ip fpm modules | i FLOW-AUDIT
2.show ip fpm pri filter x(x为第一办法网络索引号)0 x.x.x.x(会见外网ip) 32 0.0.0.0 32
2.show ip fpm flow filter 0 x.x.x.x(会见外网ip) 32 0.0.0.0 32
3.同时在EG端和服务器划分抓包
“好的,马上收好发给你。”
四、迷失的映射报文——破迷
下面我们对网络这几个信息详细解读下,看看他们作用是什么:
首先先稍微诠释下,网络两个下令作用:
1.先show ip fpm modules | i FLOW-AUDIT—用来审查流量审计的营业号(左侧第一列,如本案例为10)
2.show ip fpm pri filter 10 0 x.x.x.x(会见外网ip) 32 0.0.0.0 32—用来网络数据包选路路径是否准确(如从WAN口接口到数据包后是否从准确LAN口转发,往返转发路径是否准确)
3.show ip fpm flow filter 0 x.x.x.x(会见外网ip) 32 0.0.0.0 32—用来网络数据包流表信息是否正常做了端口转换及转换后数据收发是否正常(一样平常若是准确转换的话在流信息会有转换纪录)
Ok,那么我们接下来看看现场网络回来信息:
图(5)
图(6)
以上两点测试可以得出:EG的端口映射设置没有问题,服务器页面没有问题,EG上数据转发没有问题,征象是有点希奇,继续看看报文:
1、在服务器端抓包,能看到正常的http GET报文到抵达服务器:
图(7)
不过服务器端收到get报文之后,有收到一个rst的重置毗连报文,导致http毗连终止。
2、在EG端抓包,也能看到报文正常抵达EG,并且正常转换之后转发给内网服务器:
图(8)
从这里看RST报文都是会见服务器的终端提倡来的,若是是正常的交互历程不会有rst的报文。
从抓包效果:嫌疑是中心运营商装备抑制行为导致回应RST异常报文。
五、迷失的映射报文——解密
为了证实确实是运营商所为,给小李一个交接,小王赶忙从翻开电脑在外地电脑终端会见抓了个包,效果发明电脑提倡GET报文之后,又收到一个由映射的外网服务器发来的一个RST报文!哈哈,果真问题出在这里,赶忙给小李诠释了整个历程,建议联系运营商协助排查!
小李持着嫌疑的态度,又做了一个操作:将电脑模拟运营商情形,设置成外网网关地址,充当外网线路举行会见,是可以正常会见,至此基本确认是运营商抑制行为所致。小李赶忙联系运营商替换了个外网地址后,一试果真好了,连连和小王致谢,说这次不但问题解决了,还理清了映射问题的排查思绪,最后还非要请小王吃烧烤呢。
六、案例履历总结
对此类故障的排查除了关注设置,替换端口及确认现场网络情形以外,很主要是要先弄清晰数据转发路径,多思索数据的走向,可能遇到的问题,须要时间团结抓包定位剖析,一步步排查,从基本的最先,不放过一个可能的缘故原由。
通用排查思绪如下:
七、背后手艺原理
1、流表:
- EG/NPE装备底层的一张表,存储装备吸收以及转发的数据流信息。流表可以纪录数据流的源目的地址、源目的端口、发送和吸收的字节数、是否做了NAT、NAT前后IP、端口的转变等信息。
- 流表是EG/NPE装备中很是主要的一张表,数据处置惩罚时优先使用到这张表中已有的数据流信息,同时所有的数据转发的基本信息都会存储到这张表中。
下令:
show ip fpm flow filter 0(协议,0体现恣意) SrcAddr(源ip) 掩码 DstAddr (目的ip) 掩码(推荐用此种方法审查)
show ip fpm flow | include x.x.x.x(过滤的ip地址) -- 10.x/11.x通用(不推荐,流表太大可能会导致CPU高)
举例说明各个字段寄义:
如协议号:17 udp流
CLOSED 0 毗连处于关闭状态
STARTED 1 毗连提倡状态
CONNECTED 2 对方响应之后的状态
ESTABLISHED 3 在对方响应之后毗连提倡方又有发送报文
如协议号:1 icmp流
CLOSED 0 毗连处于关闭状态
STARTED 1 毗连提倡状态
CONNECTED 2 对方响应之后的状态
流表中srcif对应9,如show interface可以看到9代表TenGigabitEthernet 0/0,10.x无此功效, 接口显示“fff”代表装备自己发送的数据,或者是装备吸收并处置惩罚的数据或者是某个偏向上面未收到报文的初始值;
上面红色方框内的流设为流1和流2:
流1:装备自己发送给114.114.114.114的DNS剖析报文,因装备自己自动发送这个报文,装备以为源端口是自己,显示为“fff”
流2:10.112(实验室APM装备)向EG发送SNMP报文,因装备吸收此报文并直接处置惩罚,装备直接就处置惩罚这个数据,不需要再通过任何接口转发,目的端口显示为“fff”
关于流表上最前面两条流,属于组播数据,接口显示为“fff”也是体现本吸收或发送,如源接口是6、目的接口是fff,体现是数据从编号6接口收到,装备外地吸收;
- 除流表之外,EG/NPE底层还开发了部分空间,用于存储数据流处置惩罚历程中除流表外更详细的一些信息,如应用识别情形、流控匹配情形等。这部分空间现实上保存,但关于用户而言是透明的,因此被称为装备的私有空间。私有空间在装备中被分成若干块,每块纪录差别的数据处置惩罚内容,并通过私有空间ID举行区分;
- 在EG/NPE 10.x平台上,因产品限制,私有空间ID和现实存储的数据内容不是逐一对应,需要凭证版本举行区分;在EG 11.x平台上,所有私有空间ID是牢靠的。
下令:
示例1:审查数据选路方法
示例2:确定选路转发路径匹配情形(11.x)
说明:需要注重的是这里的module id是动态的,以现实show效果为准。
写在最后
现在遇到的外网无法会见映射服务器的故障,基本上这一套“组合拳”下来,大部分的映射问题都可以解决啦。伴着好机油的致谢和烧烤到手,原来这一波分享就竣事了,可是最后照旧友情馈赠下史上故障排查“杀手锏”:
