我最近从 ISP 那里得到了一个新路由器(因为旧路由器不支持当前速度),并决定对其进行配置,以便将相同的端口转发到相同的设备。但我遇到了一个问题。
让我们从我想。为简单起见,我将重点介绍 SSH。假设我有一个在端口 22(默认)上运行 ssh 的设备,其内部 IP 为“A”。我希望能够同时执行ssh EX
(为简洁起见,我将外部 IP 称为“EX”)和(当在内部网络上的设备上时)ssh A
通过 ssh 连接到该设备。假设我无法控制该设备,并且它被锁定为使用仅有的端口 22,因为我想在路由器级别解决我的问题,而不是运行两个 SSHD。
我的问题使用新路由器时,当我将端口 22 转发到设备时,则:
- 如果我有此端口转发规则,那么正如人们所期望的
ssh EX
那样,但由于某种原因ssh A
(再次,来自内部网络上的设备)不起作用。任何其他端口似乎都可以(如果我在另一个端口上运行 sshd),并且能ping A
正常工作。在我的旧路由器(来自同一 ISP)上,外部 IP 和(当在内部网络中的设备上时)内部 IP 都可以在这种情况下工作。 - 如果我没有任何端口转发,那么正如人们所预料的那样,它
ssh EX
不起作用,而ssh A
在内部网络中的机器上使用时则可以工作。一切正如人们所料。
所以我的问题是,是什么原因导致了这个问题,我该如何解决它?我应该在(非常图形化且令人困惑的)GUI 中查找哪些设置?我是否可以以某种方式编辑端口转发规则的“外部主机”字段(当前为纯通配符External Host: *
),以使规则不会杀死内部主机?还有其他想法吗?
我已经联系了技术支持,但他们无法真正帮助我。当我描述我的问题时,我得到的只是“NAT-Loopback 无法与 port-forw 配合使用”,而没有真正帮助解决问题。