我正在绞尽脑汁尝试让 SSH 通过我的路由器/防火墙,如果我遗漏了什么请告诉我...
全新安装 Ubuntu Server 16.04,保留 SSH 配置,并创建密钥。能够通过 SSH 连接到本地网络内的服务器,一切正常。在我的路由器上设置端口转发 (22->22)(任意->本地 ip 地址),无法连接。在另一台 Windows 10 计算机上启动 TCP 端口侦听器并将随机端口转发给它,从外部看一切正常。返回 Ubuntu 计算机,尝试使用 netcat 在随机端口上打开 TCP 侦听器,将该端口转发给它,但失败了。我对 Ubuntu 还很陌生,我想一定是遗漏了什么。UFW 已关闭。
答案1
当我检查其他本地机器的 ARP 表时,我发现了一个非常有趣的情况。我让服务器通过我放在车库里的 WiFi 扩展器临时连接到 WiFi。当发出 ARP 请求询问谁拥有我的服务器的 IP 地址时,WiFi 扩展器会用它自己的 MAC 地址进行回答。任何其他主机的 ARP 表都将扩展器的 MAC 地址与服务器的 IP 地址相关联。这通常不会造成问题,即使在扩展器后面连接了多个设备,但显然我路由器上的 NAT 正在将帧转发到扩展器,而它只是因为目前尚不清楚的原因而丢弃了它们。
很明显的是,我对范围扩展器的理解可能没有我想象的那么深刻......即使在设置过程中也不要通过 Wifi/范围扩展器运行服务器。
谢谢 Doug 的提示!