Conectar-se automaticamente à VPN ao usar uma rede específica no Ubuntu GNOME 16.04


12

No Unity, o Network Manger tem uma caixa de seleção disponível para todas as conexões que configuram o uso automático de uma VPN quando a conexão está ativa:

Imagem da configuração de Conexão no ubuntu 16.06 Unity

Existe uma maneira de obter uma opção como esta no Ubuntu GNOME 16.04? (que usa o GNOME 3.18). Como a página de configuração da conexão não possui esta opção: insira a descrição da imagem aqui


Bem-vindo ao Ask Ubuntu! Esta resposta sugere que ambos compartilhem o mesmo NetworkManager. Você poderia verificar duas vezes? Caso sejam diferentes, você também pode incluir uma captura de tela do NetworkManager no Ubuntu GNOME?
Andrea Lazzarotto


@AndreaLazzarotto thanks! Eu forneci a captura de tela. Vou tentar vpnautoconnect que foi sugerido nesta pergunta para ver se funciona. Mas gostaria de saber se a configuração poderia ser ativada no próprio Network Manger, pois, como você disse, é o mesmo Network Manger nos dois tipos.
S.Mohsen sh 07/08/16

Esse recurso ainda parece estar ausente no Ubuntu 17.04. Não sei por que ele teria sido removido. Depois de procurar uma solução e encontrar muito pouco, parece estranho que mais pessoas não usem VPNs e prefiram o recurso de conexão automática.
Rsync

Desde que seu sistema tenha um /etc/NetworkManager/system-connectionsdiretório preenchido com perfis de conexão e você não se importe em editar configurações, vale a pena conferir a resposta que eu publiquei em outro lugar sobre o tópico de conexão automática a uma VPN para uma determinada interface de rede.
S0AndS0 20/05/19

Respostas:


22

Eu encontrei a resposta para isso. Estranhamente, você precisa abrir o Network Manager manualmente (em vez de usar o painel ou Configurações.

Então no Terminaltipo nm-connection-editor. Depois disso, a janela que se abre terá as opções na primeira imagem do OP.

Isso funciona para mim em 16.04 e 17.04. Felizmente, eles integrarão os vários gerenciadores de rede nas próximas versões do GNOME.


Isso funciona para mim também em 18.04 - obrigado! Não ficou claro imediatamente onde estavam essas configurações.
JohnnyCoder 25/05

Funciona também para o Debian 9 Stretch. Obrigado!
Christian Toffolo

1

Eu resolvi o problema com um script em

/etc/NetworkManager/dispatcher.d

Esta pasta contém scripts que são chamados em ordem alfabética pelo gerente da rede sempre que houver uma alteração no status da rede. Isso tem a vantagem (diferente de outra solução que eu vi) de que sua VPN não é apenas ativada na inicialização / inicialização, mas também no currículo após a suspensão / suspensão.

Para que isso funcione, você precisa de uma conexão VPN que já esteja configurada no seu Network Manager, o que suponho que você tenha, caso contrário, você não faria a pergunta.

  1. Primeiro passo: Segui o conselho desta página (em alemão) ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Abri e nomeei um novo script 02VPN1

    sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
    

e escreveu:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    if [ "$2" = "up" ]; then
       sleep "3s"
       nmcli con up id "${VPN_CONNECTION_NAME}"
    fi

O NAME_OF_YOUR_VPN_CONNECTION é o nome do arquivo de conexão NAME_OF_YOUR_VPN_CONNECTION.conf que você usou para configurar a conexão à qual deseja se conectar automaticamente.

A condição se ["$ 2" = "up"] significa que a conexão VPN é conectada automaticamente somente quando você inicia a conexão de rede (sua conexão com a Internet); Depois que o serviço VPN for executado, você poderá desativá-lo ou escolher outra VPN.

Se você quiser executar sempre essa VPN sem a capacidade de desabilitá-la, poderá escrever o script sem esta condição If:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    sleep "3s"
    nmcli con up id "${VPN_CONNECTION_NAME}"

Você só pode configurar esse arquivo como root, portanto ele pertence ao root sem que você faça nada além disso. É assim que deve ser.

Finalmente: torne este arquivo executável, caso contrário, o script não será executado. No terminal:

    sudo chmod +x  /etc/NetworkManager/dispatcher.d/02VPN1
  1. Segundo passo (DIFERENTE das instruções no link acima; usei o conselho aqui: https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193

Esse processo é executado pelo root e o root ainda não tem acesso à senha que você usa para sua VPN. Faça o seguinte: Abra o arquivo NAME_OF_YOUR_VPN_CONNECTION em / etc / NetworkManager / system-connections como root. Abra um terminal e faça:

    sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION

a) Mude a linha

    password-flags=1 

para

    password-flags=0

b) Na parte inferior, adicione

    [vpn-secrets]
    password=PASSWORDOFYOURCONNECTION

Salve e feche o arquivo.

  1. Agora reinicie o seu Network Manager. Terminal:

    systemctl restart NetworkManager
    

para inicializar as novas configurações. Você deveria terminar.

Eu fiz isso ontem e, tanto quanto posso ver, funciona bem. Sem garantias!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.