在 Debian 上配置 SSTP 客户端

Joe*_*nen 11 debian vpn

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

按照我在 Internet 上找到的一些建议,我通过添加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
Run Code Online (Sandbox Code Playgroud)

然后从命令行运行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.
Run Code Online (Sandbox Code Playgroud)

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

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

提前谢谢你,乔尔·莱希科伊宁

ose*_*kar 4

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

    pty "sstpc --ipparam sstp-1 --nolaunchpppd SERVER_IP"
    
    Run Code Online (Sandbox Code Playgroud)

    另外,不需要编辑/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 证书限制为已知值。