Como usar a VPN para configurar manualmente a ponte de rede (com a interface principal não gerenciada pelo NetworkManager)?

4

Eu configurei uma ponte de rede que estou usando para conectar máquinas virtuais KVM no meu desktop à minha rede doméstica; Eu faço isso da maneira manual, criando a ponte em /etc/network/interfaces (a maneira como é feito pelo livro para melhor desempenho de rede, e estamos usando nos servidores de virtualização da nossa empresa).

Isso, no entanto, significa que o NetworkManager não está mais gerenciando a interface eth0 e está se recusando a configurar conexões VPN.

Isso não me incomodaria muito se eu pudesse encontrar um aplicativo para se conectar ao invés de NM. Mas, infelizmente, não consegui encontrar nada! Havia um pacote chamado kvpnc , descrito como uma GUI para clientes VPN, mas continuava travando. Até onde eu pude ver, não havia nenhuma alternativa trabalhando GUI VPN.

Outras pessoas estão tendo problemas semelhantes: ponte de rede - sem destruir o gerenciador de rede mas esse cara acabou voltando para o NM e configurando o roteamento em vez de uma ponte, em vez de encontrar um cliente VPN alternativo.

Alguma idéia?

Editar: esqueci de mencionar que estou usando o PPTP no momento e talvez precise do OpenVPN no futuro.

    
por jjakob 21.03.2013 / 21:02

1 resposta

4

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.

    
por jjakob 09.04.2013 / 01:37