一级路由无法直接访问二级路由下的终端设备
废话不多说先上个简单拓扑图:
当然简单介绍下情景要是必要的:公司原先用的是中控的刷卡方式的考勤机,最近BOSS突然说要更换考勤机,改用指纹的。还要从原先的5个考勤点增加到10个考勤点,让我整理个方案和报价。后来一问才知道,估计是员工代打卡的现象太普遍了,以至于被BOSS发现了,好像还发现了好几回。。。
那整就整吧,鉴于要多增加5个考勤点,按原先考勤的TCP/IP有线传输来的话,新增的五个点我都得布网线,影响美观还费时费力,不如直接上WIFI传输的机型呗,另外加几个无线路由器,费用一写,往上一报,同意了!接下来就是确定安装地点了呗,然后这时候就遇到问题了:
公司整个的网络拓扑图我就不放了,因为新的考勤机是用WIFI连接的,公司总路由(可以理解为一级路由)是关闭了DHCP的,PC机都是静态IP,各个办公室的无线路由器(可以理解为二级路由)是在Wlan口是设置静态IP,在LAN口上通过DHCP错开网段分配IP给移动终端、或者是通过有线连接在二级路由上的终端设备。就像上面这个拓扑图一样。
那么现在的问题是,这样的网络结构平时上上网什么的是没什么问题的。但是如果考勤机要连接的话是要连接在二级路由上面的,这样就会导致考勤机可以找一级路由下的服务器,但是服务器却找不到二级路由下的考勤机。
就像上面的拓扑图中的PC2是可以PING通PC1和ROUTER1以及其他设备,但是PC1是无法PING通PC2的。原因为目前大多数的路由器都是通过NAT原理的,当然你的路由器比较高级一点可以在WLAN口配置为路由模式的话,那就不存在这个问题。但其实目前市面上大部份家用路由器都是没有这个功能的。
其实这个在TP_LINK的网站上面就有对应的说明,这边来贴一下,这个图其实跟我上面的拓扑图基本上一样,以下内容来自TP官网说明:
介绍分别接在两个路由器LAN口上的PC A和PC B之间是否可以相互访问。
问题分析:
对于NAT原理的路由器,默认情况下LAN到WAN方向的访问是不受限制的,但是WAN口设备无法主动发起连接访问LAN口的设备。也就是说图中PC B主动访问PC A是没有问题的,但是PC A无法主动发起连接访问PC B。
这其实已经说得很清楚了,那么解决方案呢,别急,肯定有:
解决方法:
- PC A和PC B完全的互访:如果需要实现PC A和PC B之间完全的互访,可以在router2上将PC B设置为DMZ主机。
- PC A访问PCB上的某一特殊应用:如果仅是需要访问router2下的某一个特殊应用,比如说某一服务器。可以在router2上设置虚拟服务器,将此应用对应端口开放给WAN口网络即可。
- router1和router2下所有电脑之间的完全互访:如果需要实现router1和router2下所有电脑之间的完全互访,在这个网络拓扑结构下,并没有很好的方法可以实现,只能考虑调整网络结构。可以将LAN-WAN级联的方式调整为LAN-LAN级联,也就是说把router2当成交换机来用。
因为要访问中控的考勤机只需要开放一个端口就可以了,所以不需要把考勤机设置为DMZ主机完全开放,所以第一个方法不符合。然后我们是关闭了DHCP的,但是无线终端不可能去一个个设置固定IP的,所以第3个方法也不符合。所以最终我按照第二种方法中来设置,幸好大多路由器基本上都是有虚拟主机或者是端口转发的功能的。
BTW:早上在家里测试的时候成功了,说明这个方法是可行的!这里贴出来记录一下。
最后再唠叨一下,有人说:你可以设置静态路由阿,没错,我当然也想到过啦,但是没用!为啥?这里我再引用一句51CTO论坛版主(天月来了)的话:家用小路由器的WAN口是固化NAT转换的,单向,只向上转,只能LAN口下的设备向上访问WAN口前的设备,无法将WAN口来的访问转向LAN口下面。不支持WAN口前面的任何静态路由跳转。
是的,就是这么简单粗暴!
Tags : 无线路由
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
已有 9 条评论