在我公司的局域网中,我们使用 Putty 来远程控制我们的服务器(Linux)。效果很好。
现在我们有一些外部员工,他们需要将服务器从外部(例如他们的家等)远程控制。
现在我主要做三件事:
- 在他们的电脑上安装 Putty。
- 打开服务器的 22 端口。为了确保 22 端口已打开,我输入:
netstat -ano | grep 22
在我的服务器中我收到以下消息:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
off (0.00/0/0)
tcp 0 64 192.168.178.18:22 192.168.178.63:10093 ESTABLISHED
on (0.25/0/0)
tcp6 0 0 :::22 :::* LISTEN
off (0.00/0/0)
可以看到,有三条信息,第二条信息是从我公司的电脑发过来的,也就是说,这证明局域网内的Putty是可以用的。
- 端口转发。我进入公司的路由器并进行端口转发:
MyServer TCP 22(From) Servername 22(To)
现在我打电话给我的同事,让他们在家尝试,但他们无法远程访问服务器。他们总是收到此错误:Timeout
。
有人能帮助我吗?
答案1
在不知道您所在局域网的详细信息的情况下,听起来您有多个防火墙。
您提到配置“Fritz Box 7490”以允许端口 22。如果外部无法到达 LAN 中的内部目的地,请检查以下内容:
- 假设 LAN 内的 NAT IP 地址,您需要配置 FritzBox 以适当地将传入 22 端口转发到“远程服务器”
- 确保 FritzBox 之外的任何防火墙允许传入 22,并在需要时适当进行端口转发。
- 确保没有本地防火墙/iptables 阻止服务器本身的连接。
您的问题属于上述之一,或全部三个。分阶段进行诊断。首先让您的远程客户端连接到 FritzBox - 可能通过端口 80 上的 http,然后移动到网络内部。