Ok, é assim que eu tenho o problema:
1. Remover o Gerenciador de Rede
sudo apt-get remove network-manager
nota: leia o final deste post para um aviso de isenção
2. Configure o pptp na linha de comando
Usaremos uma ferramenta útil chamada pptpsetup
, que configura todos os arquivos de configuração necessários para nós.
Executar: sudo pptpsetup --create $your-connection --server se.rv.er.ip --username $pptp-username --encrypt
replace:
- $ sua-conexão com o nome abreviado da nova conexão
- se.rv.er.ip com o IP do servidor que você deseja conectar a
- $ pptp-username com o nome de usuário do usuário conectado
Primeiro você será perguntado pela senha sudo, então pptpsetup lhe pedirá a senha para a conexão PPTP. Digite-o e pressione enter. Tome cuidado, não misture.
Isso terá criado todos os arquivos de configuração necessários. Se você não quiser usar a rota padrão enviada pelo servidor, adicione uma linha dizendo nodefaultroute
to /etc/ppp/peers/$connection-name
.
3. Iniciando e interrompendo a conexão manualmente
sudo pon your-connection
para conectar e
sudo poff your-connection
para desconectar.
4. Se você quiser adicionar e remover rotas personalizadas automaticamente:
Crie dois scripts, como este:
(coloque-os em algum lugar da sua pasta pessoal, / root também é ok se você não esquecer de fazer backup)
pptp-on.sh:
#!/bin/bash
# This script connects us using pre-configured PPTP VPN,
# and then adds all the routes we specify here.
pon your-connection
a=$?
sleep 5
# add routes
if [ $a == 0 ]; then
# whatever routes you need
route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
echo "Connected"
fi
exit $a
pptp-off.sh:
#!/bin/bash
poff your-connection
a=$?
# delete routes
if [ $a == 0 ]; then
#specify whatever routes you have here
route del -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
echo "Disconnected"
fi
exit $a
Eles precisam ser de propriedade do root: sudo chown root:root pptp-on.sh pptp-off.sh
. Torne-os executáveis: sudo chmod +x pptp-on.sh pptp-off.sh
Diga-lhes o que mais lhe convier, para que você saiba para que servem.
5. Criando lançadores de área de trabalho
Eu queria ter lançadores de área de trabalho em que eu pudesse clicar em vez de executar os scripts manualmente toda vez que eu conectasse e desconectasse. Para fazer isso, criei dois lançadores de área de trabalho que executam gksudo /path/to/pptp-on.sh
e gksudo /path/to/pptp-off.sh
, respectivamente. Eu usei Marian Lux-es Create Launcher disponível no Centro de Software do Ubuntu. Google para como fazer isso, eu não vou escrever isso aqui (porque eu sou preguiçoso).
É isso. Você pode ter quantas conexões diferentes quiser, tudo ligado e desligado facilmente com lançadores. Basta executar todas as etapas novamente para cada conexão adicional.
Mas cuidado, como dito, isso não é uma solução, mas uma solução. A correção será quando NM chegar suporte embutido para pontes de rede, que é, se eu tiver lido corretamente, já feito em 13.04. Isso é destinado apenas para pessoas como eu, que planejam manter 12.04 o máximo que puderem (tentei 12.10, mas tive grandes problemas, como incompatibilidade com minha placa gráfica ATI, muitos bugs, etc.), ou menos até o próximo lançamento LTS ou se movendo para um novo hardware.