简而言之
在同一个VPN连接上,Android可以连接到SSH服务器,但Macbook却不能。
细节
网络配置如下图:
Macbook 和 Android 想要连接到 SSH 服务器。由于服务器位于校园防火墙后面,因此 L2TP/IPsec 服务器与 SSH 服务器在同一台机器上运行。
两者都可以连接到 VPN 服务器。
但是只有Android可以连接到SSH服务器。 Macbook不能。ssh -v <ssh server>
在Macbook上给出:
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data ~/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to <ssh server> [<ssh server>] port 22.
debug1: connect to address <ssh server> port 22: Operation timed out
ssh: connect to host <ssh server> port 22: Operation timed out
在 SSH 服务器上,sudo netstat -peanut | grep ssh
提供:
tcp 0 0 0.0.0.0::22 0.0.0.0:* LISTEN 0 1986196 6194/sshd
真奇怪。
最后我nmap -p 22 <ssh server>
在 Macbook 和 Android 上都进行了测试(使用了 Android 应用 Termux):
苹果笔记本
Host is up (0.018s latency). PORT STATE SERVICE 22/tcp filtered ssh
安卓
Host is up (0.026s latency). PORT STATE SERVICE 22/tcp open ssh
VPN 和 SSH 服务器由我管理,我没有在服务器上阻止 Macbook(我甚至不知道该怎么做)
在这种情况下,我可以测试什么来进一步调试?或者是否存在类似的已知问题?
答案1
您没有告知 ISEC 隧道在客户端的终止位置,也没有告知它是如何设置的,而这些知识对于提供更精确的答案是必需的。
您遇到的问题可能是连接问题 - Macbook 无法连接到服务器。这可能是因为 IPSEC 隧道配置不正确,或者它向 MAC 和 Android 设备分发相同的资源(IP 地址)并将流量路由到 Android 设备。