我已经为网络设置了端口转发功能,以便能够从网络外部ssh进入服务器(假设外部port 10122
映射为内部映射port 22
为192.168.1.101
)。
假设我的计算机具有IP 192.168.1.102
,服务器具有192.168.1.101
我可以做到ssh root@192.168.1.101
,而且会成功。我可以做到,ssh -p 10122 root@<public IP>
并且只有在未连接到本地网络的情况下,它才可以工作
为什么我不能ssh -p 10122 root@<public IP>
从网络内部调用?
我四处搜寻,只获得有关如何进行端口转发或用于iptables
打开端口的信息(但这已经在起作用)。
编辑:我不需要使用外部IP来访问内部计算机,我已经多次遇到此问题,并且想了解更多并且能够解释为什么有人问我。
“为什么不能在网络内调用ssh -p 10122 root @ <public IP>?” 网络硬件的限制
—
Ramhound17年
@Ramhound:您能解释一下为什么会有限制吗?如果端口转发策略到位,并且路由器可以从网络外部处理内部ssh以及外部ssh,在我看来,它应该已经能够使用来自网络内部的外部IP来处理ssh。知道其分配的IP,它只需处理网络层中的额外步骤即可本地路由。
—
PGT
无论如何,为什么要使用公共IP地址而不是本地Intranet IP地址?至于原因:en.m.wikipedia.org/wiki/Network_address_translation
—
Ramhound