2024年3月17日发(作者:)

ros端口映射和回流详解

1、什么是端口映射

这里说的端口映射是路由器上的端口映射。一般情况下,网络中路由器都有防火墙功能,互

联网用户只能访问到你的路由器WAN口(接ADSL线口或是固定的外网IP地址),而访问不了局

域内部服务器或工作站。要想让外面用户访问到局域网的电脑,那么就要在路由器上做一个转发

设置,也就是端口映射设置,让用户的请求到了路由器后,能够转发到局域内部的机器上,例如

游戏服务器或WEB服务器。这就是端口映射。

在局域网中建建立一个CS服务器,IP地址为:192.168.0.235,端口为27015,此时在局域内

部,如果要在外网上访问服务器,就要把192.168.0.235这台机器的27015端口通过路由器映射

到外网。除了CS服务外,其它的服务例如FTP、远程桌面等服务都可以将不同的端口映射出去,

以便能在外网通过路由器来访问内网机器。一般的路由器都带有端口映射功能,以下对目前使较

多的ROS软路由的端口映射作一说明,并提出解决外网IP显示及回流设置。

2、ROS 2.96 的端口映射的设置

进入winbox,点击IP→ Firewall→Nat打开防火墙设置界面。点击左上角红色的“+”号,添加一

条dstnat规则,其中s 填写你要映射的外网IP,本例为(此处请填入您

的外网IP),然后选择protocol协议为6,即TCP协议,设置Dst. port(目标端口)为80。设置

完成后如图1所示。

单击“Action”选项卡,在Action框中,选择“dst-nat” ,在“s”框中填写内网提供服

务的IP地址,本例为192.168.1.3,在“”填写内网提供服务的IP端口,这样基本映射就完

成了,如图2所示,此时可以在外网中输入你的外网IP,即可看到内网192.168.1.3WEB服务器

上的网站了。以同样的方法可以设置FTP和远程桌面。注意这些服务的端口都是不一样的,例如

你有两台内网WEB服务器,80端口已经用掉了,第二台便来能映射到80上了,但可以映射到

其它没有使用过的端口上,例如81端口。例如可以将内网192.168.1.4:80映射到外网

:81端口上。这样就能在同一个外网IP访问两台内网WEB服务器了。

3、IP显示和回流问题解决

经过第二步的基本端口映射设置后,外部可以访问内网了,但存在一些不完善的地方,例如

所有的外网访客的地址都是路由器的内网网关,本例为192.168.1.1,如图3所示。这样就无法

统计访客的来源,还有许多的不便,例如WEB中的论坛就无法屏蔽一些会员的IP了,因为大家

都是192.168.1.1。