有人有将 Ubuntu 10.10 机器连接到 SSTP VPN 服务器的经验吗?我还没有找到关于如何操作的太多信息。
答案1
现在有适用于最新发行版的 Ubuntu 软件包,因此你应该能够添加电力购买协议eivnaes/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
答案2
例子
以下是 /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 构建描述中的一个错误。
典型的连接超时问题
如果你使用 pppdpty
选项(本例中使用的选项),那么plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-uds-sock
指定参数就至关重要了。如果你不指定这些参数,你最终会得到著名的连接中止,原因不明大约 60 秒后会出现错误,并且连接将不会传输数据包。
CA 证书要求
您还必须在本地文件中拥有 Microsoft SSTP VPN 服务器所属的 Active Directory 域的 CA 证书/path/to/example.com.ca.crt
。这通常可以在其中一个域控制器上的 SMB 共享中找到CertEnroll
。将其导出为 Base64 编码的 X509 证书并根据需要重命名。用于certtool -i <example.com.ca.crt
验证您是否拥有包含正确信息的正确证书。