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


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 do jeito manual, criando a ponte em /etc/network/interfaces (o modo 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 teria me incomodado tanto se eu pudesse encontrar um aplicativo para se conectar ao invés de NM. Mas, infelizmente, não consegui encontrar nada! Houve algum pacote chamado kvpnc, descrito como uma GUI para clientes VPN, mas continuou travando. Tanto quanto eu podia 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 ideia?

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


4
2018-03-21 20:02


origem


Por enquanto estou apenas usando pptpsetup na linha de comando para se conectar. A conexão cai a cada meia hora ou mais, eu tenho que matar o pppd e reconectar. É um grande PITA como eu tenho que usar a tela sobre as sessões SSH porque eles são perdidos após a conexão cai. - jjakob


Respostas:


Ok, é assim que eu tenho por aí o problema:

1. Remover o Gerenciador de Rede

sudo apt-get remove network-manager

observação: leia o final deste post para um aviso

2. Configure o pptp na linha de comando

Nós vamos usar uma ferramenta útil chamada pptpsetup que configura todos os arquivos de configuração necessários para nós.

Corre:
sudo pptpsetup --create $your-connection --server se.rv.er.ip --username $pptp-username --encrypt

substituir:
- $ sua conexão com o nome abreviado da nova conexão
- se.rv.er.ip com o IP do servidor ao qual você deseja se conectar
- $ pptp-username com o nome de usuário do usuário conectado 

Você será perguntado primeiro pela senha do sudo, então 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 para /etc/ppp/peers/$connection-name.

3. Iniciando e parando a conexão manualmente

sudo pon your-connection
para conectar e

sudo poff your-connection
desconectar.

4. Se você deseja adicionar e remover rotas personalizadas automaticamente:

Crie dois scripts, como este:
(coloque-os em algum lugar em 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 desktop

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 são executados gksudo /path/to/pptp-on.sh e gksudo /path/to/pptp-off.sh respectivamente. Eu usei Marian Lux-es Criar Lançador 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 aí. Você pode ter quantas conexões diferentes quiser, tudo ligado e desligado facilmente com lançadores. Basta fazer todos os passos novamente para cada conexão adicional.

Mas cuidado, como disse, 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 mudança para novo hardware.


4
2018-04-08 23:37



é imperativo remover o gerenciador de rede? - PepperoniPizza
A ponte de rede Ubuntu Vivid funciona agora, confirmada. E não, não parece necessário remover o NM. Apenas apague conexões com as quais você não está preocupado, e adicione-as manualmente a / etc / network / interfaces e amigos. Funciona bem. O NetworkManager os ignora. - dpb