Conecte / desconecte da VPN na linha de comando

110

Eu tenho duas VPNs configuradas na minha máquina Ubuntu, uma usando vpnc e outra usando PPTP. Ambos foram configurados usando a interface do gerenciador de rede do GNOME e funcionam muito bem. No entanto, ocasionalmente, preciso acessar essa máquina remotamente - existe uma maneira de conectar ou desconectar essas VPNs da linha de comando?

    
por Tim Fountain 16.08.2011 / 17:15

2 respostas

159

Se você quiser interagir com o NetworkManager a partir da linha de comando, você pode usar o comando "nmcli".

liste todas as conexões NM: nmcli con

iniciar conexão (wifi, vpn, etc): nmcli con up id ConnectionName

down connection: nmcli con down id ConnectionName

(mais comandos nmcli na página do nmcli ).

Observe também que os usuários comuns geralmente não têm permissão para controlar a rede. Usar os comandos acima com sudo deve funcionar para a maioria das conexões, mas a VPN especificamente pode falhar com "Erro: a ativação da conexão falhou: não há segredos de VPN válidos."

Se isso acontecer com você, é provável que a senha da VPN esteja armazenada no gnome-keyring do usuário, o que a torna inacessível ao usuário root. Este comentário explica porquê.

Para corrigir isso, edite / etc / NetworkManager / system-connections / ConnectionName e, em [vpn] , altere o senha flags linha para:

password-flags=0

Se houver uma linha começando com Xauth password-flags , altere-a.

Em seguida, adicione o seguinte abaixo do bloco [vpn] :

[vpn-secrets]
password=YourPassword

(Se na etapa anterior você alterou a linha Xauth password-flags , adicione Xauth password=... ).

Agora reinicie o gerenciador de rede por:

sudo service network-manager restart

Em seguida, iniciar a conexão VPN com sudo nmcli con up id ConnectionName deve funcionar sem problemas.

    
por ihashacks 17.08.2011 / 05:44
4

A resposta de ihashacks com os comentários de Matt funcionou para mim ... quase. Tive que ajustar uma linha.

minha linha de sinalizador de senha realmente dizia: "Xauth password-flag". A resposta aceita não funcionaria para mim até que eu mudei para o seguinte

[vpn]
...
Xauth password-flag=0
IPSec secret-flags=0

[vpn-secrets]
Xauth password=<my pw> ## This is the one I changed.
IPSec secret=<group pw>

Não sei por que minhas conexões vpn têm "Xauth" antes de cada menção de senha.

(Desculpe, esta é uma nova resposta, ainda não é possível fazer comentários.)

    
por John 23.03.2015 / 06:03