ppp0 yoxsa ppp1? Skriptlər üçün PPP VPN sessiyasının adlandırılması
pppd hər sessiyaya interfeys adı və profil işarəsi verir. İkisini də qarmaqdan oxuyun, ppp0-dan yox. Sabit adı yalnız imtina nəzərdə tutulduqda ayırın.
Qarmaq skripti işə düşür, ppp0 oxuyur və marşrutları həmin anda bu adı daşıyan istənilən interfeysə tətbiq edir. Bəzən bu, nəzərdə tutduğunuz tunel olur; bəzən bir dəqiqə əvvəl qoşulmuş sessiya olur. Növbəti yenidənqoşulma nömrəni dəyişir və eyni skript səssizcə yanlış linki konfiqurasiya edir. Həll yolu interfeysi indicə işləyən çağırışdan götürmək və nəzərdə tutulan profili onunla birlikdə daşımaqdır.
Bir sessiyanı seçimlərdən qarmağa qədər izləyin
Sessiyanın yaradıldığı yerdən başlayın. xl2tpd, pppd-ni həmin tunelin pppoptfile ilə adlandırdığı seçimlər faylı ilə işə salır, buna görə plugin, vahid nömrəsi və istənilən profil işarəsi qlobal faylda deyil, orada müəyyən edilir. Bağlantı meneceri öz seçimlərini yarada bilər, yəni /etc/ppp/options faylını redaktə etmək sizin üçün vacib olan tunelin dəyişdiyinə sübut deyil. Link qalxdıqda pppd paylanmanın dispetçerindən bildiriş skriptlərini işə salır. Bu skriptlər interfeys adını birinci arqument, profil işarəsini isə altıncı arqument kimi alır.
Mühit eyni faktları IFNAME və PPP_IPPARAM kimi adlarla daşıyır, lakin onların mövcudluğu quraşdırılmış dispetçerdən asılıdır. Dəyişənə güvənməzdən əvvəl dispetçeri oxuyun: bəzi paylanmalar yuxarı arqument sırasını saxlayır, digərləri skriptinizi çağırmadan əvvəl mühiti süzür. Yalnız $1 və altıncı arqumentdən istifadə edən skript hər iki halda işləyir.
İnterfeysi çağırışdan oxuyun
Ənənəvi qarmaq interfeysi birinci alır. Bu mövqe dəyəri skripti işə salan sessiyanı təsvir edən interfeys identifikatorudur. Onu yuxarıda dəyişənə yazın, sonra həmin dəyişəni marşrutlar, firewall qaydaları və sökmə üçün istifadə edin.
ipparam office-vpn
Profil işarəsini seçimlərin təyin olunduğu yerə əlavə edin, skriptə yox. Tunelin seçimlər faylındakı bu sətirlə həmin fayldan yaradılan hər sessiya altıncı arqument kimi office-vpn daşıyır. Skript markerə görə budaqlana bilər, eyni zamanda real interfeysə təsir edir. İkisini kodda ayrı saxlayın, çünki marker sabitdir, interfeys isə hər sessiya üçün ayrılır.
Adı yalnız imtina düzgün olduqda tələb edin
Sabit ad arqumentləri oxumaqdan sadə görünür, lakin uğursuzluq davranışını dəyişir. unit seçimi gedən bağlantı üçün nömrə tələb edir və həmin vahid artıq məşğuldursa, pppd dinamik ayrımaya keçir. Bu nəticədə heç nə ppp0-ı profiliniz üçün ayırmır.
ifname ppp-office
ifname seçimi fərqli davranır: tələb olunan ad artıq istifadədədirsə və ya təyin edilə bilmirsə, pppd başqasını seçmək əvəzinə çıxır. Bu, kosmetik adlandırma deyil, siyasət seçimidir. Eyni profilin ikinci paralel nüsxəsi rədd edilməli olduqda ondan istifadə edin və quraşdırılmış pppd ilə bağlantı menecerinizin seçimi ötürdüyünü təsdiqləyin.
Hər halda, skriptin gördüyü ad hərəkət edilməli olan addır. Konfiqurasiya edilmiş ad çağırışı oxumaq ehtiyacını aradan qaldırmır, çünki yenidən başladılan sessiya hələ də əvvəlkindən fərqli ad təqdim edə bilər.
Sökməni konfiqurasiya etdiyiniz sessiyaya uyğunlaşdırın
Marşrutlar və firewall qaydaları onları yaradan skriptdən daha uzun yaşayır, buna görə sökmə sessiyanın sahib olduğu obyektləri dəqiq silməlidir. Qaydaları interfeyslə yanaşı profil işarəsi ilə də etiketləyin və həmin etiketə görə silin. Əgər iki tunel eyni vaxtda qalxa bilirsə, ppp-ni qeyd edən hər şeyi silmək bir əlaqənin kəsilməsinin digər bağlantını pozma üsuludur.
Buqı üzə çıxaran halı sınayın: birinci hələ qoşulmuşkən ikinci PPP sessiyasını qaldırın, sonra birincini yenidən qoşun və qarmağın hansı interfeysi bildirdiyini izləyin. Tək sessiya ilə uğurlu qaçış ad ayrılması haqqında heç nə sübut etmir. Sökmənin köhnə marşrut buraxmadığını təsdiqləmək üçün VPN dayandırılmış halda təkrarlayın.
Marker, interfeys və qarmaq yolunu yerləşdirmə qeydlərində saxlayın. Yenidən başlatmadan sonra nömrə dəyişdikdə, bu üç dəyər heç bir konfiqurasiya düzəlişi olmadan skriptin niyə fərqli davrandığını izah edir.