![在 Debian 上配置 SSTP 客户端](https://linux22.com/image/41091/%E5%9C%A8%20Debian%20%E4%B8%8A%E9%85%8D%E7%BD%AE%20SSTP%20%E5%AE%A2%E6%88%B7%E7%AB%AF.png)
我需要将 Debian(稳定)服务器连接到 Windows Server 2008R2 服务器,该服务器充当 SSTP VPN 服务器。我已经成功安装了sstp客户端在我的 Debian 服务器上,但我不知道如何配置连接以便可以在后台运行它。另外,整个配置过程还有很多不明白的地方。
根据我在互联网上找到的一些建议,我通过添加到noauth
来禁用远程服务器的身份验证/etc/ppp/options
。此外,我还添加了选项refuse-pap
、refuse-eap
、refuse-chap
和refuse-mschap
来require mppe
强制 MS-CHAP-v2 身份验证(Windows 服务器配置为接受该选项,而不接受其他选项)。
如果我从终端运行
sstpc --log-level 4 --log-stderr --user USERNAME --password PASSWORD SERVER_IP
连接正常,打开另一个终端,我可以访问只能通过 VPN 访问的网页。
我尝试创建etc/ppp/peers/sstp-1
包含内容的文件
remotename sstp-1
linkname sstp-1
ipparam sstp-1
pty "sstpc --ipparam sstp-1 --log-level 4 --save-server-route --nolaunchpppd --user USERNAME --password PASSWORD SERVER_IP"
name USERNAME
plugin sstp-pppd-plugin.so
sstp-sock /var/run/sstpc/sstpc-sstp-1
usepeerdns
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
require-mppe
noauth
然后从命令行运行sudo pon sstp-1
。连接失败,并sudo plog
显示
pppd[4813]: Plugin sstp-pppd-plugin.so loaded.
pppd[4814]: pppd 2.4.5 started by root, uid 0
pppd[4814]: Using interface ppp0
pppd[4814]: Connect: ppp0 <--> /dev/pts/1
pppd[4814]: Could not connect to sstp-client (/var/run/sstpc/sstpc-sstp-1), Connection refused (111)
pppd[4814]: Exit.
关于这一切我有几个问题:
- 如何设置
/etc/ppp/peers/sstp-1
以便我可以在后台连接/断开 VPN(在脚本中使用)? - Windows 服务器使用自签名证书加密 VPN 流量。为什么使用上述连接配置,我不需要在客户端计算机上安装证书?流量是否已加密?
预先感谢您,Joel Lehikoinen
答案1
破坏配置的是在以 . 开头的行上提供
--user
和作为命令行选项。用户名已在下一行给出,密码应在 中提供。通过将该行更改为解决了问题--password
pty
/etc/ppp/chap-secrets
pty "sstpc --ipparam sstp-1 --nolaunchpppd SERVER_IP"
另外,不需要编辑
/etc/ppp/options
,因为配置参数已经在SSTP配置文件中给出/etc/ppp/peers/sstp-1
看来,至少使用该
noauth
选项,我认为该选项只会禁用 PPP、sstp-client 中的服务器身份验证接受自签名 SSL 服务器证书没有任何抱怨。作为一种解决方法,一种可能性似乎是创建自签名 CA 证书,用该证书签署服务器证书,并将其
--ca-cert /path/to/snakeoil-ca.pem
作为命令行选项提供给 sstp-client(即在文件的“pty”行上) ),它将服务器 SSL 证书限制为已知值。