使用 NETGEAR Genie 设置端口转发时,我可以为每个转发指定最多 4 个不同的端口:
- 外部启动端口
- 外部端口
- 内部起始端口
- 内部端口
如果您只能指定两个端口(例如外部和内部),我会假设路由器会检查数据包中指定的端口是否与外部端口匹配,如果是,它会使用内部端口重写数据包并将其发送到指定的本地 IP 地址。
这些分别是什么意思?哪些是条件,哪些是重写规则?
答案1
让我们首先了解外部端口和内部端口之间的区别。
根据本文:
“外部端口范围”:通常,外部端口范围与内部端口范围相匹配。但出于安全考虑,我们可能希望更改外部端口值。
“内部端口范围”:内部 IP 主机上运行的服务的端口值。将要提供的服务及其相关端口号为 FTP 21、IIS 80 和 RDP 3389。
如果您正在运行使用端口 12345 的游戏服务器,则在内部 IP 地址为 123.123.123.123 的计算机上,并且您的路由器的外部 IP 地址为 12.12.12.12
通常情况下,您可以设置端口转发,以便对于任何到 12.12.12.12 且端口值为 12345 的流量,路由器都会将它们定向到您的计算机 123.123.123.123
当您的朋友想要加入时,他们输入您的 IP 地址 12.12.12.12 和端口值 12345,然后他们就能够连接到您的服务器。
但是,如果您不想让其他人知道您实际运行的游戏服务器,该怎么办?如果端口 12345 足够知名,那么每个人都会在看到端口号 12345 时知道正在运行什么服务,这种情况就会发生。这就是内部和外部端口派上用场的地方。
路由器指定一个内部端口,在我们的例子中是 12345,它将流量导向我们的计算机。此外,它还指定一个外部端口,您可以任意选择,例如 11111。在这种情况下,任何想要加入您的游戏的人都必须输入您的 IP 地址和外部端口 11111,当路由器收到请求时,它会理解这是对端口 12345 的请求。本质上,您伪装了原始端口。
这样做的好处是,那些偶然发现你的路由器并看到打开的 11111 端口的人将无法知道实际正在运行什么服务。
至于起点和终点,它允许您输入一系列的端口号,而无需单独输入它们。