Mac L2TP bölünmüş marşrutlar: host ünvanı niyə işləmir
setadditionalroutes şəbəkə və mask cütlərini istəyir, bütün siyahını əvəz edir və hərfi xidmət adını tələb edir. Şlüzü günahlandırmadan əvvəl cədvəli yoxlayın.
VPN qoşulur, menyu çubuğu bunu göstərir, amma daxili host yenə cavab vermir. Belə bir vəziyyətdə üç ehtimal olunan səbəb var və hansının aid olduğu tunelin necə qurulduğundan asılıdır. Ya marşrut əmri şəbəkə ünvanı tələb olunan yerdə host ünvanı işlədib, ya profilin özü qərarı udan standart marşrut quraşdırır, ya da müştəri profil açarı yerinə qarmaq lazım olan PPP tunelidir. Onları bu sıra ilə yoxlayın, çünki birincisini istisna etmək ən ucuzdur.
Təyinat şəbəkə ünvanıdır, mask prefiksi təsvir edir
networksetup -setadditionalroutes təyinat, alt şəbəkə maskası və şlüz üçlüklərini qəbul edir. Bir daxili alt şəbəkəni tuneldən göndərən çağırış belə görünür:
sudo networksetup -setadditionalroutes "VPN (L2TP)" 192.168.1.0 255.255.255.0 10.2.0.0
Təyinatın nə olduğuna diqqət yetirin: şəbəkə ünvanı, çatmaq istədiyiniz serverin ünvanı deyil. Bu məqaləni doğuran halda 192.168.1.20 ilə həmin mövqedə eyni əmr faydalı heç nə etmədi və onu 192.168.1.0 ilə əvəz etmək dərhal işlədi. Eyni mask, eyni şlüz, bir fərqli rəqəm. Bütün nasazlıq kiçik miqyasda budur.
Səbəb siyasət deyil, hesabdır. /24 maskası ilə cütlənmiş host ünvanı 192.168.1.0/24-ü təsvir etmir; marşrut cədvəlinin faydalı şəkildə saxlaya bilmədiyi bir şeyi təsvir edir, ona görə giriş rədd edilir və ya nəzərə alınmır və tunel istədiyinizdən az daşıyır.
Tam bir host istədikdə, host ünvanını 255.255.255.255 maskası ilə işlədin. Səhv olan qarışıq cütlərdir, host ünvanının özünün istifadəsi deyil. Bir ünvandan qurulan /32 qanuni marşrutdur; bir ünvandan qurulan /24 səhvdir.
Çağırış siyahını əvəz edir, ad isə hərfidir
İlk cəhddə insanları iki davranış təəccübləndirir. Əmr əlavə marşrut siyahısını əlavə etmək əvəzinə tam qurur, ona görə bir prefiks əlavə edən çağırış əvvəl orada olan digərlərini səssizcə silir. Bütün dəsti bir çağırışda qurun.
Xidmət adı da sizin uydurduğunuz etiket deyil. Onu alətdən oxuyun və tip şəkilçisi daxil olmaqla eynən kopyalayın:
networksetup -listallnetworkservices
Bir simvolla fərqlənən ad oxumağa dəyər heç bir xəta və heç bir marşrut yaratmır. Burada düzgün üsul kopyalamaq və yapışdırmaqdır, yaddaşdan yenidən yazmaq deyil.
Profil standart marşrutu iddia etdikdə
Bölünmüş marşrutlar açıq şəkildə əhatə etmədikləri istənilən təyinat üçün standart marşruta uduzur və tam tunel üçün qurulmuş L2TP profili məhz bunu quraşdırır. Profil hər şeyin tuneldən keçdiyini deyirsə, əlavə marşrut siyahısı çox az dəyişir. Girişiniz səhv deyil; sadəcə heç vaxt adını çəkmədiyi təyinatlar üçün əhəmiyyətsizdir. Bunun nəzarəti adətən hər hansı marşrut əmrində deyil, profilin bütün trafiki göndərmə parametrində olur.
Daha çox giriş redaktə etməzdən əvvəl hansı modeli həqiqətən istədiyinizə qərar verin. İstisnalarla tam tunel, xüsusi prefikslərlə bölünmüş tuneldən fərqli konfiqurasiyadır və ikisini qarışdırmaq heç kimin proqnozlaşdıra bilmədiyi cədvəl yaradır.
Təşkilat tam tunel tələb edirsə, onu yerli olaraq bölməyə çalışmağı dayandırın və tələbi siyasətin sahibinə çatdırın. Ona zidd olan yerli əlavə edilmiş marşrut onsuz da növbəti profil yeniləməsi ilə silinəcək.
PPP tunelləri açar yerinə qarmaq tələb edir
PPP əsaslı tunellər üçün defaultroute standart marşrut yaradan profil açarıdır; onu atsanız müştəri hər təyinatı iddia etməyi dayandırır. Marşrutlar sonra interfeys göründükdən sonra əlavə edilir, adətən /etc/ppp/ip-up-dən:
#!/bin/sh
/sbin/route add -net 192.168.1.0 -interface ppp0
Skripti root-a məxsus və icra edilə bilən saxlayın və maşında birdən çox tunel profili olduqda interfeys adına qoruyucu əlavə edin. Hər PPP bağlantısı üçün işləyən və bir cihaz adı fərz edən qarmaq uzun ömürlü kiçik bir xətadır.
Bölünməni üç sorğu ilə yoxlayın
Qoşulmuş vəziyyətdə cədvəli götürün və tunelə hansı interfeysin xidmət etdiyini qeyd edin. Sonra onu yaradan əmrin çıxış statusuna güvənmək əvəzinə konkret təyinatı yoxlayın. Çıxış kodu alətin arqumentləri qəbul edib-etmədiyini bildirir, trafikin nəzərdə tutduğunuz yolla getdiyini deyil.
Bölünməni sübut edən üç sorğu ilə bitirin: ünvanla bir daxili host, daxili həlledici vasitəsilə bir daxili ad və hələ də yerli bağlantıdan istifadə etməli olan bir ictimai sayt. İctimai sayt da indi tuneldən keçirsə, marşrut siyahısı nə deyirsə desin, bölünmə heç vaxt baş verməyib.
Bir daha qoşulun və daxili sorğunu təkrarlayın, çünki əl ilə əlavə edilmiş marşrutlar onları qüvvədə saxlayan interfeysdən uzun yaşaya bilər və tunel düşdükdən sonra trafiki səssizcə qara dəliyə çevirir.