Exemplo
Aqui está um exemplo de uma entrada em / 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
Uso
Então você usa apenas ifup work
e ifdown work
para conectar ou desconectar.
Instalação
Você precisará compilar o sstp-client e instalá-lo. Isso pode ser usado seguindo as instruções no link ou criando um pacote deb usando estas instruções:
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 .
Corrigir symlink
O diretório pppd lib é codificado para usar o 2.4.6, e não a versão instalada, e é por isso que o link simbólico é necessário. Este é um bug na descrição do build do debian para o sstp-client.
Problema de tempo limite de conexão típica
Se você usar a opção pppd pty
(que o exemplo usa), é vital que os parâmetros plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-uds-sock
sejam especificados. Se você não especificar, você acabará recebendo o famoso erro Conexão anulada, motivo desconhecido após aproximadamente 60 segundos, e a conexão não transmitirá pacotes.
Requisito de certificado de CA
Você também deve ter o certificado de autoridade de certificação do domínio do Active Directory do qual o servidor Microsoft SSTP VPN faz parte do arquivo local /path/to/example.com.ca.crt
. Isso geralmente pode ser encontrado no compartilhamento CertEnroll
SMB em um dos controladores de domínio. Exporte-o como um certificado X509 codificado em Base64 e renomeie conforme apropriado. Use certtool -i <example.com.ca.crt
para verificar se você possui o certificado correto com as informações corretas.