Answers:
也许sstp-client可以做到吗?而这里是它的网络管理器的支持。
现在有用于最新发行版的Ubuntu软件包,因此您应该能够为其添加PPAeivnaes/network-manager-sstp
并安装这些软件包:
$ sudo add-apt-repository ppa:eivnaes/network-manager-sstp
...
$ sudo apt-get update
$ sudo apt-get install sstp-client
$ sudo apt-get install network-manager-sstp-gnome # NM configuration GUI
这是/ etc / network / interfaces中条目的示例:
auto work
iface work inet ppp
provider work
options pty "sstpc vpn.example.com --ca-cert /path/to/example.com.ca.crt --nolaunchpppd" \
plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-uds-sock \
lock nodefaultroute noipdefault noauth user myusername \
refuse-pap refuse-chap refuse-eap nobsdcomp nodeflate novj \
nomultilink \
persist maxfail 0 \
debug logfd 2
pre-up touch /etc/ppp/peers/work
然后,您只需使用ifup work
和ifdown work
连接或断开连接。
您需要编译sstp-client并安装它。可以通过按照http://sstp-client.sourceforge.net/上的说明或使用以下说明构建deb软件包来使用它:
apt-get install build-essential dpkg-dev debhelper ppp-dev libevent-dev libssl-dev
mkdir sstp-client.build && cd sstp-client.build
wget -o sstp-client-1.0.10.tar.gz http://sourceforge.net/projects/sstp-client/files/sstp-client/1.0.10/sstp-client-1.0.10.tar.gz/download
tar xzvf sstp-client-1.0.10
cd sstp-client-1.0.10
dpkg-buildpackage -b -us -uc
cd ..
dpkg -i sstp-client_1.0.10-0ubuntu2_amd64.deb \
libsstp-client0_1.0.10-0ubuntu2_amd64.deb \
libsstp-client-dev_1.0.10-0ubuntu2_amd64.deb
cd /usr/lib/pppd/2.4.5 && ln -s ../2.4.6/sstp-pppd-plugin.so .
pppd lib目录被硬编码为使用2.4.6,而不是已安装的版本,这就是为什么需要符号链接的原因。这是sstp-client的debian构建说明中的错误。
如果使用pppd pty
选项(该示例使用该选项),则plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-uds-sock
必须指定参数。如果不指定这些名称,最终将导致著名的Connection异常终止,大约60秒后原因不明的错误,并且该连接将不会传输数据包。
您还必须具有Microsoft SSTP VPN服务器所在的Active Directory域的CA证书,该证书在本地文件中/path/to/example.com.ca.crt
。通常可以CertEnroll
在一个域控制器上的SMB共享中找到此文件。将其导出为Base64编码的X509证书,并根据需要进行重命名。使用certtool -i <example.com.ca.crt
来验证你有正确的信息,正确的证书。