Automaticamente Conecte-se à VPN ao usar uma rede específica no Ubuntu GNOME 16.04

8

Em Unity, o Network Manger tem uma caixa de seleção disponível para cada conexão que configura o uso automático de uma VPN quando a conexão está ativa:

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 de conexão não tem essa opção:

    
por S.Mohsen sh 03.08.2016 / 08:50

2 respostas

11

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, em Terminal type nm-connection-editor . Depois de fazer isso, a janela que abrir terá as opções na primeira imagem do OP.

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

    
por Rsync 10.10.2017 / 01:29
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 de rede sempre que houver uma alteração no status da rede. Isso tem a vantagem (diferente de outra solução que eu vi) 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 eu presumo que você tenha, caso contrário, você não teria feito a pergunta.

  1. Primeiro passo: Segui o conselho desta página (em alemão) ( link ). Eu 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 [ "" = "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 só é conectada automaticamente 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 esta VPN sem a capacidade de desativá-la, você poderá escrever o script sem essa 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 definir este arquivo como root, então ele é de propriedade do 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; Eu usei o conselho daqui: link

Esse processo é executado pelo root, e o root ainda não tem acesso à senha que você usa para a 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 seu Network Manager. Terminal:

    systemctl restart NetworkManager
    

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

Eu fiz isso ontem e, até onde eu sei, funciona bem. Sem garantias!

    
por Xenon 14.04.2017 / 12:20