我能够设置一个带有服务器和两个客户端的小型 PPTP VPN。所有机器都运行 Ubuntu 14.04。
连接运行良好且可靠。我可以从任何地方 ping 所有机器。此外,通过浏览器进行 HTTP 访问也运行正常。
但是我无法从任何机器通过 SSH 连接到任何其他机器。
我没有安装任何自定义防火墙规则,因为整个设置都在外部防火墙后面。
我将非常感激任何关于如何通过 PPTP 启用 SSH 的提示。
谢谢!
更新
我通过调用在客户端上启用了日志记录,并通过在服务器上更改以下两行来启用日志记录:ssh -v [email protected]
/etc/ssh/sshd_config
# Logging
SyslogFacility DAEMON
LogLevel DEBUG
我可以在日志文件中看到可以建立连接。但是,这个过程总是在某个地方卡住:
客户端日志
debug1: Connecting to 10.0.0.1 [10.0.0.1] port 22.
debug1: Connection established.
...
debug1: SSH2_MSG_KEXINIT sent
服务器日志
Aug 28 02:21:53 lemaker sshd[2130]: Connection from 10.0.0.11 port 60666 on 10.0.0.1 port 22
...
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
此时连接会卡住一分钟左右,然后断开。
答案1
我终于解决了这个问题。我必须将 PPTP 连接的 MTU 从 1492 减少到 1392。
为了找到正确的 MTU 大小,请通过执行ifconfig ppp0 mtu 1200
(或任何其他值/接口)直接在 shell 中尝试不同的值。
为了使更改永久生效,请将以下行添加到/etc/ppp/pptpd-options
:
mtu 1392
mru 1392
然后重启服务sudo service pptpd restart
并使用“ifconfig”验证mtu是否已减少。
至少就我而言,我现在终于可以打开 SSH 会话了。