我拥有这个路由器已经几个星期了,我需要为某些游戏和/或游戏服务(例如 Steam)进行端口转发。
现在正常情况下配置这个对我来说不是问题,但令我困惑的是,我的路由器要求触发端口。
现在这个触发端口到底是什么,我如何确定哪个端口,例如由 Steam 提供,是进入那里的吗?
答案1
当使用经典端口转发时,您会遇到一个特定问题:传入端口和转发到的 LAN 成员之间存在 1:1 的关系。
例如,您可以指定端口 12345(坏主意;永远不要使用该端口!)上的传入流量到计算机 192.168.2.2。但是,如果您在多台计算机上玩该游戏,则每次切换计算机时都必须更改转发。
端口触发是解决这些缺点的一种有趣方法:
- 该端口不一定一直开放(取决于你的LAN IP是否变化)。
- 该端口将始终转发至正确的机器。
如果您想同时使用多台机器,或者想要被动地监听端口(例如 Web 服务器),您仍然会遇到问题,但那是不同的事情。
那么它是如何工作的呢?非常简单。
假设您想玩一些需要举办单场比赛的游戏。如果您的游戏将一直连接到某个身份验证服务器,则可以使用该服务器正在使用的端口作为触发端口。假设它是端口 5000。
要主持游戏,其他玩家必须能够通过端口 5001 访问您的电脑。因此,您可以使用以下参数创建一个新的动态端口激活:
- 触发端口:5000
- 触发协议:(取决于游戏,最有可能的是 TCP,用于非时间敏感的东西,如身份验证)
- 要打开的端口:5001 到 5001(大多数游戏通常为 UDP)
就是这样。
现在,无论何时您启动游戏并尝试进行身份验证/登录,游戏都会在端口 5000 上创建到其身份验证服务器的传出连接。
路由器会注意到这一点,因为它是“触发端口”,并启用/重新路由到建立该连接的计算机的端口转发。
端口转发现已激活,您可以玩游戏和主持比赛等。
还要注意,并非所有路由器都提供此功能。有些路由器使用不同的策略在不断变化的环境中重新路由端口。例如,AVM 路由器通常有一个选项,即始终将端口转发分配给同一台机器,即使其 IP 因 DHCP 而发生变化。虽然这对于没有传出连接(通常是专用服务器)的设备非常方便,但它不允许您动态切换机器并在不重新配置端口转发的情况下使用相同的端口。
答案2
这维基百科文章关于端口触发(您的路由器似乎称之为“动态端口激活”)有一个很好的概述。
本质上,使用你指定的设置,从你的计算机到端口 4380 上的服务器的任何传出连接都将自动转发指定的传入端口范围(“要打开的端口”)到您的计算机。如果您没有固定 IP 地址(静态配置的 IP 或“静态 DHCP”,大多数较新的路由器都支持这种配置),这将特别有用。
这是可能但这不是您真正想要的。从 Steam 页面无法清楚看出初始传出连接将使用哪个端口。您可能希望查看“端口转移和端口转发”并在那里转发所需的端口范围。