Pertanyaan ini telah diperbarui. Silakan lihat ujung ekor dari posting ini.
Saya mencoba mengatur komputer Mythbuntu saya untuk terhubung ke layanan VPN saat dinyalakan. Harapan saya adalah bahwa komputer Mythbuntu akan selalu menggunakan VPN untuk semua koneksi internetnya.
Saya menemukan skrip yang seharusnya melakukan itu, dan kelihatannya seperti ini:
#!/bin/bash
while [ "true" ]
do
VPNCON=$(nmcli con status)
if [[ $VPNCON != "*MyVPNConnectionName*" ]]; then
echo "Disconnected, trying to reconnect..."
(sleep 1s && nmcli con up uuid df648abc-d8f7-4ce4-bdd6-3e12cdf0f494)
else
echo "Already connected !"
fi
sleep 30
done
Ketika saya menjalankan skrip ini di komputer saya, saya mendapatkan kesalahan berikut:
$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.
Saya pikir itu mungkin masalah izin, jadi saya mencoba menjalankannya dengan sudo:
$ sudo /home/mythbuntu/VPN_start.sh
[sudo] password for mythbuntu:
Disconnected, trying to reconnect...
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.
Bagaimana cara menjalankan skrip ini tanpa kesalahan sehingga saya dapat menjalankannya saat boot atau login sehingga saya dapat memastikan bahwa saya selalu terhubung dengan VPN.
Jika ada yang punya skrip atau metode yang lebih baik, itu juga sudah cukup sebagai jawaban.
Ini adalah isi file / etc / NetworkManager / koneksi-sistem / MyVPN saya (beberapa detail diganti dengan x karakter untuk privasi):
[connection]
id=MyVPN
uuid=xxxxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxxxxx
type=vpn
[vpn]
service-type=org.xxxxxxxxxxxxxx.xxxxxxxxxxxxxxx.openvpn
username=xxxxxxxxxx
comp-lzo=yes
remote=us-xxxxxx.xxxxxxx.com
connection-type=password
password-flags=0
ca=/etc/openvpn/xxxxxxx.crt
[vpn-secrets]
password=xxxxxxxxxxx
[ipv4]
method=auto
never-default=true
Juga, saya hanya ingin menambahkan bahwa ketika saya menghidupkan VPN menggunakan applet di sudut kanan atas panel Xfce, itu menghubungkan tidak ada masalah. Jadi masalah bagi saya tampaknya bukan salah otorisasi, tetapi tentang konfigurasi ketika mencoba melakukan ini dari baris perintah.
Memperbarui:
Saya tidak sepenuhnya yakin apa yang telah berubah - mungkin sesuatu dalam peningkatan ke 12.10 - tetapi sekarang saya dapat memulai layanan VPN dari baris perintah. Namun, perintah ini hanya berfungsi sekali ketika saya pertama kali memulai komputer, dan juga perlu dijalankan sudo
.
mythbuntu@mythbuntu:~$ nmcli con up id "Private Internet Access SSL"
Error: Connection activation failed: Not authorized to control networking.
mythbuntu@mythbuntu:~$ sudo nmcli con up id "Private Internet Access SSL"
[sudo] password for mythbuntu:
mythbuntu@mythbuntu:~$
Karena saya perlu menggunakan sudo
untuk menjalankan ini, saya tidak dapat menjalankannya secara otomatis saat startup.
Bagaimana saya mendapatkannya sehingga saya bisa memulai VPN saya tanpa izin pengguna super?
/etc/NetworkManager/system-connections/ConnectionName
file, jadi ketika dikatakan untuk "mengedit di bawah [vpn]", saya tidak yakin bagaimana menangani itu. Bisakah saya membuat file?password-flags
formulir 1 menjadi 0. Gunakannmcli con
untuk membuat daftar koneksi.Not authorized to control networking
kesalahan yang sama .Untuk memulai VPN secara otomatis saat startup
Dengan asumsi Anda memiliki file kredensial Anda berfungsi, Anda harus dapat menggunakan
dispatcher.d
skrip seperti Anda awalnya harus memulai VPN Anda. Saya telah sedikit memodifikasi skrip Anda agar berfungsi dengan 2 koneksi (Router nirkabel di rumah, dan koneksi kabel di tempat kerja). Alasan untuk ini adalah bahwa saya ingin memulai VPN jika tidak dimulai ketika salah satu koneksi internet yang diperlukan saya masih hidup. Dalam contoh saya, saya telah mengonfigurasinya dengan nama default, tetapi Anda harus mengubahnya agar sesuai dengan nama Anda sendiri.Masukkan ini ke dalam file
/etc/NetworkManager/dispatcher.d/vpn-up
, dan buat bisa dieksekusi denganchmod +x
Untuk mengkonfigurasi sertifikat klien di NetworkManager
Jika Anda menggunakan sertifikat klien dengan kata sandi untuk mengautentikasi ke VPN Anda, itu agak tidak berdokumen.
Setelah menjelajah melalui spesifikasi pengaturan NetworkManager 0.9 , saya tidak dapat menentukan cara menentukan pass vpn cert dalam file konfigurasi. Saya membuka
seahorse
dan menemukan ' rahasia VPN ' saya (kata sandi sertifikat).Itu terdaftar sebagai sesuatu seperti ' VPN cert-pass secret untuk My VPN / org.freedesktop.NetworkManager.openvpn / vpn '. Mengklik pada tab detail memberi saya petunjuk untuk
setting-key
nama:Untuk memulai VPN secara otomatis sebagai root pada Ubuntu 12.04 (Precise Pangolin) menggunakan NetworkManager 0.9.4.0:
Buka
/etc/NetworkManager/system-connections/My VPN
dan tambahkancert-pass
rahasia VPN sehingga file tersebut terlihat seperti:sumber
system-connections
berbeda dengan milik Anda, jadi saya tidak yakin tentang penerapan suntingan Anda. Saya tidak punyakey
atautimestamp
, dan jenis koneksi sayapassword
, tidaktls
. Saya telah menambahkan file saya ke pertanyaan saya.connection-type=password
Anda mungkin harus menggunakanpassword-flags=0
dan dipassword=YourPassword
bawah[vpn-secrets]
judul seperti yang disarankan oleh devav2.VPN_start.sh
tidak memiliki izin untuk mengelola jaringan. Jika Anda ingin mengelola koneksi VPN sebagai pengguna non-root yang tidak memiliki izin, Anda mungkin perlu menambahkan beberapa kebijakan ke/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
file.sudo
? Seperti disebutkan dalam pertanyaan saya, gagal ketika saya menjalankannyasudo
juga.