说实话,这个问题当时确实搞的我非常的费解,具体如何且听我慢慢道来!
起初的故障原因为:台湾老总无法通过互联网访问苏州厂区的DVR(3台)。
起初解决方法:检查是否能到达公网路由并更换映射端口.(公网为联通)
尝试了以上的解决办法之后发现,路由是可达的,端口映射的设置方法是对的,也没有调动过路由,怎麽会突然出现不能使用呢?继而我使用站长之家的端口扫描工具扫描发现端口全是关闭状态,但我路由确实已经开启了这几个端口了,为什么测试还是关闭呢?为排除站长之家工具的问题,我测试了一个能正常访问的http服务的ip测试,发现提示80端口开启,这证明工具没有问题,依旧是我这边的问题。
或许可以换一种思维模式来检查故障的出错点,我尝试将端口映射全部更换到电信线路上面,然后进行测试,发现完全可以正常使用。但为什么联通线路不可以呢?我开始使用以下办法来尝试解决故障。
二次解决办法:将其中一台(192.168.16.113)DVR直接一对一NAT出去。
设置完毕后,开始对其进行测试,却发现问题依旧。到这里,使我想到了最近比较流行的2014净网行动的内容(封端口)。所以立即拿起电话拨通了客户经理的电话,寻求帮助。可当查询过之后发现,我的这个公网 IP连80和8080端口都没有封。这下,我有点无奈了。平常之下,再怎么不济一对一NAT也是能绝对出去的,可为什么这个就这么特殊呢?无奈之下继续需求联通的支持,当下和联通的工程师尝试了以下两种方法:
1、更换一台主机/端口/服务器映射
2、更换一个可用但没有人用的公网IP
或许,我不说,你就懂,问题依旧!这下实在是该静下来想想问题到底出在那里了!
大约过了20分钟,联通工程师打来电话让我测试需要映射主机的公网IP,当我看到公网IP(电信的公网IP)的时候,我一下子恍然大悟。问题的原因如此简单,只因为我的粗心大意给忽略掉了,我甚至忘记掉了我的路由是双WAN的!
原因呢其实很简单的,因为我的路由是双WAN双ISP所以,在没有任何其他路由策略(静态路由、策略路由等)的情况下,会将WAN1设置为默认出口(我没有使用智能负载均衡)。这也就是说,默认情况下,所有的数据包会经过WAN1出去,除非你手动指定静态或策略路由。
最终确定问题故障:映射的公网IP是联通,但是默认数据包经过电信出口出,所以导致无法到达!
解决方法:指定策略路由将3台DVR主机使用WAN2(联通出两口)作为默认出口,并映射端口!
总结:故障原因只能说是so easy的,主要原因是因为粗心大意,加之前一段时间添加静态路由而忽略了这个问题,导致这次故障的发生。
感慨:粗心大意害死人呀!
<说明:本文内容为本人工作中实际操作所得,文中的某些观点或者某些技术问题解说如有错误,望请各位指正!>