Network Manager ile VPN'ye otomatik olarak bağlanma


18

Çalışan bir VPN bağlantım var. Şimdi bu VPN bağlantısının belirli bir kablosuz ağdayken otomatik olarak etkinleştirilmesini istiyorum. Ağ yöneticisi-uygulamasını kullanarak müdahaleci olmayan bir grafik yolu var mı? Doğru hatırlıyorsam bir süre çalıştı ve artık çalışmıyor.

Söz konusu kablosuz bağlantıyı, her seferinde şifreyi girmek zorunda olmadığı için tüm kullanıcılar için kullanılabilir hale getirdim.

Kullanılan CLI programı, sroecker'in PPA'sından Hybrid-Auth özellikli (cisco VPN-istemci uyumlu) vpnc'dir

DÜZENLEME: Artık cevapları deneyebilirim (eduroam yüzünden) ve hiçbir cevap oyların çoğunu almıyor gibi göründüğü için, bir kişi oylanana kadar şimdilik cevapsız bırakacağım, bunu kabul edeceğim.


bununla nasıl geliyorsun
rlemon

Uzun zamandır buna ihtiyacım yoktu. Belki yeni üniversiteye nisan gelir.
turbo


@fossfreedom tam bir kopya değil çünkü sorum açık bağlantı yerine vpnc hakkında.
turbo

VPN çalışmadığı sürece internet bağlantınızı nasıl engelleyeceğiniz hakkında kısa bir blok yazı yazdım: mentat.za.net/blog/2015/01/24/vpn-only-internet
Stefan van der Walt

Yanıtlar:


18

Tarafından önerilen çözüm con-f-useişe yarıyor ama uzun süredir devam eden bir hata nedeniyle çalışmıyor:

https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/280571

Gerçi geçici çözümler var. Son NetworkManager sürümleri için, nmcliaşağıdaki gibi düzenlenebilir ve kaydedilebilen bir komut satırı faydası vardır /etc/NetworkManager/dispatcher.d/vpn-up:

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

[Bunu test etmedim - lütfen sonuçlara göre test ve düzenleme yapmaktan çekinmeyin]

Bkz . Https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established daha fazla bilgiye sahip.


13.04'te bu betiği /etc/network/if-up.d dizinine koymak zorunda kaldığımı ve / etc / NetworkManager / sistem bağlantıları / bağlantı-adını koymak zorunda kaldığımı unutmayın . geçerli VPN sırları "hatası
OlegYch

Arch wiki hack aslında işe yarıyor! Komut dosyasını 11 Temmuz 2013'te kemer wikisinde denedim ve 'nmcli ...' den 'su [kullanıcı] -c "nmcli ..."' ye değiştirmek çalışmıyor! wiki gibi talimatları izleyin ve chmod + x;) alkış unutmayın!

Hugo Eden tarafından bahsedilen hata ( bugs.launchpad.net/ubuntu/+source/network-manager/+bug/280571 ) 5 ay önce yukarı doğru giderildi. Ancak, bunu hala Hassas olarak deneyimliyorum ... Ne verir?
iGadget

Bu benim için çalışmadı, bu yüzden bakmaya karar verdim /var/log/syslogve aşağıdaki hatayı gördüm: Mar 4 13:49:51 oleg-HP nm-dispatcher.action: Cannot execute /etc/NetworkManager/dispatcher.d/vpn-up ': sahibi tarafından çalıştırılamaz. `` Çözüm şöyle olurdusudo chmod 755 /etc/NetworkManager/dispatcher.d/vpn-up
Oleg Belousov

8

Ubuntu Trusty 14.04'te VPN, bireysel kaydedilmiş wi-fi ayarlarında GUI'de otomatik bağlantı mağazası. Sistem ayarları - Ağ - ilgili Kablosuz veya Lan'ı kontrol edin - Ayarlar (Genel sekmesi) - "VPN'ye otomatik bağlan ..." seçeneğini belirleyin


3

Doğru hatırlıyorsam bir süre çalıştı ve artık çalışmıyor.

  • Bu açık olabilir, ama bazen düşünmüyorum. Yeniden yüklemeyi denediniz mi:

    sudo apt-get temizleme ağ-manager-vpn sudo apt-get yükleme network-manager-vpnc Sonra: resim açıklamasını buraya girin

Şimdi bu VPN bağlantısının belirli bir kablosuz ağdayken otomatik olarak etkinleştirilmesini istiyorum.

  • Kullanıcılarınız yanlış ağdayken iletilerin "bağlanamadı" türünü bastırmanın bir yolu var, ancak nasıl gittiğini hatırlayamıyor. Grafiksel olarak otomatik olarak bağlanmanın başka bir yolunu göremiyorum. Belki söz konusu wlan ağındayken bağlantıyı yapan bir komut dosyası yazmanız gerekir.

Umut etmek bu yardım etmek.


Hala bunu test etmek için gelmedim. Ne zaman cevap verdiğimi işaretlerim. Söz vermek.
turbo

tecrübelerime göre bu aslında işe yaramıyor. Bunun NetworkManager'da bir hata olduğuna inanıyorum
Conor Rynne

3
Evet, bu Kesin olsa bile kırılmış. Otomatik olarak bağlanmaz O_o
eggonlegs

Evet - kırık. Çalışmıyor (Ubunutu 12.04).
user48956

3

Aşağıdaki çözümün benim için çalıştığını doğrulayabilirim. Ubuntu 14.04 LTS kullanıyorum.

Kapatma simgesine ve ardından sistem ayarlarına gittim.

Ayarlar ekranı açıldığında, 'Ağ'a ve bağlı olduğum WiFi ağına gittim. Ağ adının bir tarafında küçük bir ok var.

Ayarlar ekran görüntüsü, Arapça

Bu simgeyi tıkladığınızda burada "ayarlar" veya "seçenekler" (veya benzer bir şey) adlı bir seçenek görmelisiniz:

Tıklama ayarları

Bir sonraki pencere açıldığında, 'Genel' sekmesine gidin ve size bir VPN'ye otomatik olarak bağlanma seçeneği sunan bir seçenek görmelisiniz. Bu WiFi'ye bağlandığınızda bağlamak istediğiniz VPN'i seçin ve yükseltin! Bu ağa her bağlandığınızda, Ubuntu sizi bu VPN'ye de bağlayacaktır. :)

Benim için çalışıyor. Umarım herkes için de işe yarar. Herhangi bir metin editörü veya kod editörü veya herhangi bir şey gerektirmez.


0

Aşağıdaki Python betiği Gist # 1547663 kullanın .

Komut dosyasının ilk parametresi NetworkManager'daki VPN bağlantı adı, ikincisi de göz ardı edilmesi gereken ağların virgülle ayrılmış adlarıdır (örneğin evde VPN bağlantısı kullanmak işe yaramaz).

Yükleme ve önyükleme zamanında çalışmasına izin verme örneği:

git clone git://gist.github.com/1547663.git /home/user/autovpn/
echo "python /home/user/autovpn/autovpn.py 'myvpn' 'Auto homenetwork,Auto worknetwork' > /var/log/autovpn.log&" > /etc/rc.local
/etc/rc.local

Şimdi bir ağa (wifi veya ethernet) bağlanırsanız, VPN bağlantısını kurmaya da çalışacaktır.


1
@Hugoheden'in cevabındaki gibi olay güdümlü olabileceği için, arka plan sürecinin her zaman aktif olması nedeniyle bu yaklaşımın daha az zarif olduğunu düşünüyorum.
gertvdijk

Cevabından daha fazlasını yapar: VPN yeniden bağlanma ve kullanıcının vpn bağlantısını manuel olarak devre dışı bıraktığı durumları da ele alır (yani, bu durumda VPN'yi yeniden
bağlamaya çalışmaması gerekir

0

Artık herhangi bir dağıtım programına ihtiyacınız yok! 14.04'te (Trusty Tahr), NetworkManager GUI'de otomatik bağlantı seçeneğini ayarladıktan sonra aşağıdaki adımları uygulamanız yeterlidir.

VPN bağlantılarını, altındaki VPN bağlantısı için yapılandırma dosyasında açık bir şekilde saklayın /etc/NetworkManager/system-connections/YourVPNConnectionName.

Sen ayarlayarak bunu başarabilirsiniz IPSec secret-flags=0ve Xauth password-flags=0yapılandırma dosyasında. Ardından NetworkManager GUI'ye gidin ve tekrar VPN bağlantı ayarlarınızı kaydedin. Şimdi yapılandırma dosyasında [vpn-secrets] adlı bir bölüm bulunmalıdır. Şüphe edin ve otomatik bağlantı şimdi çalışıyor olmalı!


0

Man sayfası nmcli con statusgeçerli bir komut olarak listelenmesine rağmen, tarafından sağlanan yukarıdaki çözüm Hugo Hedenbir hata döndürür"Error: Object 'status' is unknown, try 'nmcli help'"

Ben nmcli 1.2.2 ( nmcli -v) kullanıyorum ve aşağıdakiler için test ve değiştirdim /etc/NetworkManager/dispatcher.d/vpn-upve bir cazibe gibi çalıştı.

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}")
vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}")
if [ "${default_conn}" -a ! "${vpn_conn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Not: nmcli con showTüm bağlantı adlarını her zaman Ağ Bağlantıları GUI'sinde listelenenlerle aynı olmadığından görmek için kullanabilirsiniz


OP, Ubuntu'yu soruyor.
fosslinux

Kali ve Ubuntu'nun her ikisi de Debian tabanlıdır, bu nedenle çözüm genellikle aynıdır. Sadece devam ettim ve bunu bir Ubuntu 15.10 örneğinde test ettim ve nmcli hatası yukarıda bahsettiğim gibi aynıydı. Çözüm de aynı şekilde çalıştı. 15.10 kutusuna yüklenen nmcli sürümü 1.0.4'tür.
jw00druff

0

Terminalleri tercih ederseniz, kullanabilirsiniz nmcli, aşağıdaki komutları kullanarak yaptım:

İlk olarak, güncellemek istediğiniz VPN bağlantısını bulun ve açın

➜  ~ nmcli c show --active |grep vpn
MyVPN           115ae594-aa91-4d13-8c92-421af245f935  vpn     wlp61s0         
➜  ~ nmcli c edit MyVPN

Bu nmcli istemini açacaktır, buradan değerleri sorgulayabilir ve bunları aşağıdaki gibi ayarlayabilirsiniz:

===| nmcli interactive connection editor |===
...
nmcli> print connection.autoconnect
connection.autoconnect: no
nmcli> set connection.autoconnect yes
nmcli> save persistent
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? (yes/no) [yes] yes
Connection 'MyVPN' (115ae594-aa91-4d13-8c92-421af245f935) successfully updated.

Ve bitirmelisin!


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.