Importe arquivos de configuração VPN para o NetworkManager a partir da linha de comando

11

Pode-se importar .ovpn arquivos para o NetworkManager através da ferramenta GUI nm-connection-editor (clique com o botão direito em nm-applet e clique em Edit connections ): Add - > Import a saved VPN configuration... .

Meu objetivo é fazer a mesma coisa, mas via linha de comando usando ferramentas como nm-cli . É possível de alguma forma?

    
por petRUShka 01.07.2014 / 14:50

2 respostas

6

Estou usando o nmcli versão 1.2.6 e posso usá-lo para importar configurações openvpn.

nmcli connection import type openvpn file ~/myconfig.ovpn

De agora em diante, mesmo na interface do usuário do NetworkManager, minha VPN está visível.

Para configurar ainda mais a conexão, você pode usar o comando show para descobrir o nome da conexão e modify para alterar os valores de configuração.

nmcli connection show
nmcli connection modify myvpnconnectionname +vpn.data username=myusername
    
por 19.04.2017 / 13:36
5

Uma solução que uso para superar a falta de funcionalidade que vem com o nmcli em sistemas baseados no Debian é usar comandos para copiar um arquivo de configuração VPN existente na pasta / etc / NetworkManager / system-settings para um novo arquivo ( como root, é claro) na mesma pasta e fazer substituições de string para os valores permitidos de usuário, gateway, nome de usuário e senha na nova cópia. Então eu reinicio o gerenciador de rede para aplicar as alterações.

Por exemplo:

Um arquivo de configuração típico na pasta / etc / NetworkManager / system-settings pode ser assim:

[connection]
id=<<id>>
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
type=vpn
permissions=user:<<permissions_user>>:;
autoconnect=false

[vpn]
password-flags=0
service-type=org.freedesktop.NetworkManager.pptp
require-mppe-128=yes
mppe-stateful=yes
user=<<user>>
refuse-eap=yes
refuse-chap=yes
gateway=<<gateway>>
refuse-pap=yes

[vpn-secrets]
password=<<password>>

[ipv4]
method=auto

... então você pode criar um novo arquivo de configuração parecido com o acima ...

cd /etc/NetworkManager/system-settings
cp "existing-working-vpn-config-file" "new-vpn-config-file"

... em seguida, substitua o item "< < > > ' valores acima com suas próprias configurações de VPN, por exemplo:

sed -i "s/<<permissions_user>>/my_permissions_user/g" new-vpn-config-file
sed -i "s/<<user>>/my_user/g" new-vpn-config-file
sed -i "s/<<gateway>>/my_gateway/g" new-vpn-config-file
sed -i "s/<<password>>/my_password/g" new-vpn-config-file

... e, finalmente, reinicie o gerenciador de rede através do seguinte comando:

service network-manager restart

Observação: a configuração do UUID não parece importar, mesmo que não seja exclusiva. Não faço ideia do porquê. Coisas só funciona.

Além disso, se você estiver adicionando um novo arquivo em vez de copiá-lo, verifique se as permissões para o arquivo estão definidas como 600 (ler e gravar) e se o proprietário é raiz.

Dê uma chance e me diga o que você pensa. Funciona para mim, tudo via linha de comando.

    
por 22.10.2015 / 13:45