Secara otomatis terhubung ke VPN saat menggunakan jaringan tertentu di Ubuntu GNOME 16.04

12

Di bawah Unity, Network Manger memiliki kotak centang yang tersedia untuk setiap koneksi yang mengonfigurasi penggunaan VPN secara otomatis ketika koneksi aktif:

Gambar pengaturan Koneksi di ubuntu 16.06 Unity

Apakah ada cara untuk mendapatkan opsi seperti ini di Ubuntu GNOME 16.04? (yang menggunakan GNOME 3.18). Karena halaman pengaturan koneksi tidak memiliki opsi ini: masukkan deskripsi gambar di sini

S.Mohsen sh
sumber
Selamat Datang di Tanya Ubuntu! Jawaban ini menunjukkan bahwa mereka berdua berbagi NetworkManager yang sama. Bisakah Anda periksa ulang? Jika mereka berbeda, dapatkah Anda juga menyertakan tangkapan layar NetworkManager di bawah GNOME Ubuntu?
Andrea Lazzarotto
@AndreaLazzarotto terima kasih! Saya memberikan tangkapan layar. Saya akan mencoba vpnautoconnect yang disarankan dalam Pertanyaan ini untuk melihat apakah itu berfungsi. Tapi saya ingin tahu apakah pengaturan dapat diaktifkan di Network Manger itu sendiri karena seperti yang Anda katakan itu adalah Network Manger yang sama dalam kedua rasa.
S.Mohsen sh
Kemampuan ini tampaknya masih hilang di Ubuntu 17.04. Saya tidak jelas mengapa itu harus dihapus. Setelah mencari solusi dan menemukan sangat sedikit, tampaknya aneh bahwa lebih banyak orang tidak menggunakan VPN dan lebih memilih fitur autoconnect.
Rsync
Asalkan sistem Anda memiliki /etc/NetworkManager/system-connectionsdirektori yang diisi dengan profil koneksi dan ya tidak masalah mengedit konfigurasi, maka mungkin ada baiknya memeriksa jawaban yang saya posting di tempat lain pada topik menghubungkan otomatis ke VPN untuk antarmuka jaringan yang diberikan.
S0AndS0

Jawaban:

22

Saya menemukan jawabannya. Anehnya, Anda harus membuka Network Manager secara manual (bukan menggunakan panel atau Pengaturan.

Jadi dalam Terminaljenis nm-connection-editor. Setelah melakukannya, jendela yang terbuka akan memiliki opsi di gambar OP pertama.

Ini berfungsi untuk saya dalam 16.04 dan 17.04. Semoga, mereka akan mengintegrasikan berbagai manajer jaringan dalam versi GNOME yang akan datang.

Rsync
sumber
Ini bekerja untuk saya di 18,04 juga - terima kasih! Tidak segera jelas di mana pengaturan itu berada.
JohnnyCoder
Juga berfungsi untuk Debian 9 Stretch. Terima kasih!
Christian Toffolo
1

Saya memecahkan masalah dengan skrip di

/etc/NetworkManager/dispatcher.d

Folder ini berisi skrip yang dipanggil dalam urutan abjad oleh manajer jaringan setiap kali ada perubahan dalam status Jaringan. Ini memiliki keuntungan (berbeda dari solusi lain yang saya lihat) bahwa VPN Anda tidak hanya diaktifkan saat boot / startup, tetapi juga pada resume setelah ditunda / tidur.

Agar ini berfungsi, Anda memerlukan koneksi VPN yang sudah diatur di Network Manager Anda, yang saya anggap sudah Anda miliki, jika tidak, Anda tidak akan mengajukan pertanyaan.

  1. Langkah Pertama: Saya mengikuti saran dari halaman (Jerman) ini ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Saya membuka dan menamai skrip baru 02VPN1

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

dan menulis:

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

NAME_OF_YOUR_VPN_CONNECTION adalah nama file koneksi NAME_OF_YOUR_VPN_CONNECTION.conf yang Anda gunakan untuk mengatur koneksi yang ingin Anda sambungkan secara otomatis.

Kondisi jika ["$ 2" = "naik"] berarti bahwa koneksi VPN hanya terhubung secara otomatis ketika Anda memulai koneksi jaringan (Koneksi Internet Anda); begitu layanan VPN berjalan, Anda dapat menonaktifkannya atau memilih VPN lain.

Jika Anda hanya dan setiap kali ingin menjalankan VPN ini tanpa kemampuan untuk menonaktifkannya, Anda dapat menulis skrip tanpa syarat jika ini:

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

Anda hanya dapat mengatur file ini sebagai root, sehingga file tersebut dimiliki oleh root tanpa Anda melakukan apa pun sebagai tambahan. Begitulah seharusnya.

Akhirnya: Buat file ini dapat dieksekusi, jika tidak skrip tidak akan berjalan. Di Terminal:

    sudo chmod +x  /etc/NetworkManager/dispatcher.d/02VPN1
  1. Langkah Kedua (BERBEDA dari petunjuk di tautan di atas; Saya menggunakan saran dari sini: https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193

Proses ini dijalankan oleh root, dan root belum memiliki akses ke kata sandi yang Anda gunakan untuk VPN Anda. Lakukan hal berikut: Buka file NAME_OF_YOUR_VPN_CONNECTION di / etc / NetworkManager / koneksi-sistem sebagai root. Buka Terminal dan lakukan:

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

a) Ubah jalurnya

    password-flags=1 

untuk

    password-flags=0

b) Di bagian bawah, tambahkan

    [vpn-secrets]
    password=PASSWORDOFYOURCONNECTION

Simpan dan tutup file.

  1. Sekarang restart Network Manager Anda. Terminal:

    systemctl restart NetworkManager
    

untuk menginisialisasi pengaturan baru. Anda harus selesai.

Saya melakukan ini kemarin, dan sejauh yang saya bisa lihat itu berfungsi dengan baik. Tidak ada jaminan!

Xenon
sumber