在 Debian 上配置 SSTP 客户端

在 Debian 上配置 SSTP 客户端

我需要将 Debian(稳定)服务器连接到 Windows Server 2008R2 服务器,该服务器充当 SSTP VPN 服务器。我已经成功安装了sstp客户端在我的 Debian 服务器上,但我不知道如何配置连接以便可以在后台运行它。另外,整个配置过程还有很多不明白的地方。

根据我在互联网上找到的一些建议,我通过添加到noauth来禁用远程服务器的身份验证/etc/ppp/options。此外,我还添加了选项refuse-paprefuse-eaprefuse-chaprefuse-mschaprequire 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.

关于这一切我有几个问题:

  1. 如何设置/etc/ppp/peers/sstp-1以便我可以在后台连接/断开 VPN(在脚本中使用)?
  2. Windows 服务器使用自签名证书加密 VPN 流量。为什么使用上述连接配置,我不需要在客户端计算机上安装证书?流量是否已加密?

预先感谢您,Joel Lehikoinen

答案1

  1. 破坏配置的是在以 . 开头的行上提供--user和作为命令行选项。用户名已在下一行给出,密码应在 中提供。通过将该行更改为解决了问题--passwordpty/etc/ppp/chap-secrets

    pty "sstpc --ipparam sstp-1 --nolaunchpppd SERVER_IP"
    

    另外,不需要编辑/etc/ppp/options,因为配置参数已经在SSTP配置文件中给出/etc/ppp/peers/sstp-1

  2. 看来,至少使用该noauth选项,我认为该选项只会禁用 PPP、sstp-client 中的服务器身份验证接受自签名 SSL 服务器证书没有任何抱怨。

    作为一种解决方法,一种可能性似乎是创建自签名 CA 证书,用该证书签署服务器证书,并将其--ca-cert /path/to/snakeoil-ca.pem作为命令行选项提供给 sstp-client(即在文件的“pty”行上) ),它将服务器 SSL 证书限制为已知值。

相关内容