本教程用途:
有IPV4公网IP的企业需要把内网网站,CRM,ERP等服务器能在公网访问。
那么什么是端口映射(Port-Forwarding),那么就是要了解一下NAT和NAPT。
NAT是网络地址转换。
NAPT是网络地址端口转换。
NAT是用于地址对地址的转换,如内网地址对公网地址转换。,后来发现这个没卵用,数量上远远不够用。然后我们摸索了TCP/IP协议,借助其16bit的端口容量,创新使用了NAPT技术,将一个IP可以扩展为65535个端口,终于又撑过了一轮设备数量的大爆发。
那么端口映射和这个有什么关系呢?
我们用电脑上网的时候,就是基于端口去访问,端口可以重复使用,简称端口复用。
如我们使用65162端口去访问服务器的443端口,路由器帮我们记录这条信息(NAPT映射表)并NAPT后送出去外网。外网服务器也会通过443将数据传回给我们65162端口,路由器再帮NAPT我们送回电脑,这样我们就能通讯了。
路由器的NAPT表:
但是这个端口是临时的,我们刷新页面后,本地的端口就会刷新,换成不同的端口,原先这个65162端口,可能等着再次被使用。如此,路由器就这样孜孜不倦的帮我们换来换去,我们就能有足够的端口去访问网络。
换一个方向,我们作为服务器,服务器的程序会监听特定的端口,用客户上门。那么我们就需要把这个特定端口永久分给服务器,保证客户通过这个地址和端口就能找到服务器。这就是端口映射。
那么RouterOS的端口映射是如何实现?
有请拓扑:
网站内网IP:192.168.11.252,网站端口是80
路由器公网IP:100.1.1.121
Win7电脑IP: 100.1.1.254
此时我们WIN7电脑需要访问我们的内网服务器,是怎样实现?
首先我们需要通过NAPT开放我们的80端口到外网去。
在RouterOS里面,点击IP>Firewall,选择NAT,新建一条规则:
然后在Action(动作)里面,
这个时候,我们就把公网的80端口永久分配给内网网站的80端口,
测试效果如下:
为什么没显示端口呢?因为这是HTTP协议默认就是80端口。所以浏览器不会显示你的80端口,但是如果你将映射的公网地址端口修改成8888,这时候就可以显示你的端口。
另外要注意的一点就是,国内的ISP环境,如果你没有去申请备案的话,80端口,8080端口和443端口都是没办法使用的,因为在运营商的网络里面,你没有像通管局申请备案,这些端口是关闭的,这时候我们就要用别的端口来去代替。
以上,就是ROS的端口映射教程,通过这样的操作,我们还可以去映射远程桌面,映射其他的服务等,不过建议大家映射公网端口时候注意,一定要选一些高位端口来映射,为什么?以后在安全篇再说。