目录
问题现象一 NAT Server故障排错思路
问题现象二 NAT Server问题
问题现象三 NAT Server问题
问题现象四 LAN-LAN映射
问题现象一 NAT Server故障排错思路
NAT Server故障排查思路(出现配置端口映射后外网设备无法访问本地内网中的服务器的故障)
1、检查服务器内网用户是否能够直接访问该服务(测试服务器是否正常提供服务,以及服务器内网IP地址正确)
2、检查服务器到网络出口设备是否能够正常通信(ping、telnet、wget)
3、检测外网发出来的流量是否能够到达客户端出口设备(通过在出口设备的外网口抓包测试—如果没有收到外网来的流量,可能是服务器没有在运营商备案—即将80端口给拦截了;此种情况可以将AF上的端口映射换为其它端口再尝试一下;如果该端口过来了,那就是运营商将该地址的80端口封锁掉了,需要去找运营商)
4、检测外网的数据包到达出口设备后有无匹配出口设备的映射规则,(在出口设备的WAN 和 LAN口分别抓包,如果LAN口没有报文,则说明可能端口映射配置错误),(也可能安全策略给过滤了,可以开启出口设备上的拦截日志—开启出口设备上的拦截日志后,会直接开启数据直通,即数据即使被过滤策略匹配了,还是可以通过出口设备,此时可以通过策略将其放通)
5、由于AF去访问服务器可以通;外部访问到达AF也完成了转换,但是无法到达服务器(两者不同的地方就是数据包的源IP不一样);此时可以查看中间设备是否将该数据包拦截-即该报文匹配上了过滤策略(在中间的安全设备上开启拦截日志—直通开启,再次进行测试);最后发现被AC设备上的防火墙规则丢包
6、也有可能服务器本身上的防火墙规则拦截掉了(如果客户不想要外部的IP地址访问该服务器,可以在出口设备上将源IP为外部IP地址 转为 私网IP地址---即进行双向NAT转换)
问题现象二 NAT Server问题
在出口做了一条Nat Server,把外网的80端口映射给内网的Web服务器 80端口,配置完成后网站无法访问(但是当出口设备开启抓包之后,网站就可以从外网访问了)
首先要了解抓包工具的原理
抓包是利用了网口的混杂模式(开启了抓包就是开启了网口的混杂模式)
默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢掉
混杂模式指的是设备接收所有经过网卡的数据包(包括不是发给本机的包—即便数据包的MAC地址不是自己也会去处理);简单来讲混杂模式就是指网卡能接收所有通过它的数据流
因此排查出故障的原因可能如下
可能对端外网发过来的请求包的目的MAC不是出口设备的WAN口的MAC
造成现象的原因:有可能是前端运营商设备在80端口的数据上面做了MAC绑定(有可能现在的出口设备替换了之前的网络出口设备,但是运营商MAC绑定的是之前的网络出口设备,没有更改)
解决方法
1、去运营商更新MAC地址绑定表
2、出口设备后台打开WAN口的混杂模式(有风险)
问题现象三 NAT Server问题
在出口设备做NAT Server,将WAN口的8090端口映射给WEB服务器的80端口;但是现在网站无法访问(客户怀疑是端口映射不成功)
进行抓包测试(通过外网测试PC访问网站,在外网PC和用户出口设备上进行抓包)
PC抓包得到的结果
PC与服务端建立了TCP三次握手,说明端口映射是成功的
PC发送GET请求得不到响应(可能是服务器拒绝响应或者服务存在问题、也有可能是该报文被AF拦截、或公网拦截)
PC收到了AF发来的RST报文
用户出口设备上抓包得到的结果
内网服务器与PC建立TCP三次握手
内网服务器收到GET请求,并回应的HTTP响应,但是从抓PC的 包来看PC没有收到(有可能是公网设备将此数据包拦截)
此时客户端网络出口设备上又收到了PC发来的RST报文(但是PC端没有抓到PC发起来的RST报文,说明该报文不是PC产生的,可能是有人伪造的该数据包---通过TTL发现该RST报文发来的TTL与其它报文相差太大也可以确定该数据包不是PC发到的)
判断结果
因此可以判断是公网上存在的问题(可能是公网上的设备做了内容过滤,服务器发送的HTTP响应报文可能匹配到了设备上的安全策略,然后伪造报文向服务器发送RST)
如果还不确定问题,还可以在出口设备的WAN口直接连接一台设备来访问web服务器,发现是否能够访问内网服务器,如果访问成功,则就确定了是运营商公网问题
问题现象四 LAN-LAN映射
客户需要内网用户通过公网IP访问内网的服务器(这样可以保证内网和外网的访问方向一致、并对内隐藏内网服务器的IP地址)
需要实现当PC输入服务器域名或服务器的公网IP地址(202.X.X.X)时能够访问HTTP服务器
如果出口设备上只配置目的地址转化(来回数据包不一致)
1、PC发出的数据包
SIP: 172.172.10.10:8888 DIP:202.X.X.X:80
2、在AF上配置目的IP地址转换,映射到HTTP Server(将202.X.X.X:80转为172.172.10.100:80);当数据包到达AF后,进行目的地址转换
SIP: 172.172.10.10:8888 DIP: 172.172.10.100:80
3、HTTP Server收到后回复(此时就直接发送到PC,造成来回数据包不一致,PC不会处理)
SIP: 172.172.10.100:80 DIP: 172.172.10.10:8888
如果出口设备上将源、目地址同时转换(先匹配目的地址映射,再匹配源地址映射),可以实现客户要求
1、PC发出的数据包
SIP: 172.172.10.10:8888 DIP:202.X.X.X:80
2、在AF上配置目的IP地址转换,映射到HTTP Server(将202.X.X.X:80转为172.172.10.100:80);在AF上配置源IP地址转换(将172.172.10.10:8888映射为172.172.10.1:8888);当数据包到达AF后,进行源、目的地址转换
SIP: 172.172.10.1:8888 DIP: 172.172.10.100:80
3、HTTP Server收到后回复(此时就直接发送到PC,造成来回数据包不一致,PC不会处理)
SIP: 172.172.10.100:80 DIP: 172.172.10.1:8888
4、AF收到后根据源目地址转换的映射表,将数据包还原
SIP:202.X.X.X:80 DIP: 172.172.10.10:8888
5、此时PC收到报文后,来回数据包一致