我可以使用家庭网络(端口 22)上的 PuTTy 控制服务器命令行。我也可以远程执行此操作(端口 22)。现在的问题是,当我在学校时,路由器上的端口 22 被阻止,因此我无法在学校访问服务器。
我想知道是否有办法让 PuTTy 使用不同的端口(443、80 等),以便我在学校时可以控制我的服务器命令行。我可以让 Putty 在学校使用端口 443(传出连接),然后连接到我家路由器上的端口 22 吗?
答案1
我认为它可以简单到将您的路由器端口 443 转发到您的计算机端口 22....然后您配置 PuTTy 以通过端口 443 连接到您的 IP/您的服务器名称....除非我遗漏了其他东西。
答案2
在您的家用路由器上进行端口转发,例如将路由器(公共 IPcurl ifconfig.me
获取它)端口 2222(只要它没有被阻止)映射到您的服务器 LAN IP 的端口 22。
注意:如果您以前使用过 VirtualBox,则与 VirtualBox NAT 端口转发规则类似。
然后在学校,您可以使用ssh -p 2222 user@ROUTER_PUBLIC_IP
或 putty(具体来说是 2222 而不是 22)并 ssh 到您的家庭服务器。
注意:避免使用 8080、443 等常用端口,因为这些端口可能已被路由器使用。
答案3
Nmap 扫描不一定能 100% 准确地显示防火墙上哪些端口被阻止。您不能简单地扫描防火墙的网络接口来辨别规则。您需要让流量穿过防火墙才能做到这一点。因此,您可以将 Nmap 与 Internet 上的主机一起使用,然后扫描该主机的 IP,这反过来会通过防火墙发送流量并执行任何端口阻止规则。但您需要在另一端使用类似 wireshark 的程序来确认数据包是否到达那里,因为仅仅获得 SYN/ACK 并不能 100% 证明一切。
测试出站端口是否被阻塞的最简单方法是使用我的端口被阻塞。
您可以手动测试,这将导致流量通过每个指定的端口从 IsMyPortBlocked Java 小程序(下载到您的 PC)发送到服务器。