OpenVPN server köməkçisi: şəbəkə üstəgəl netmask, heç vaxt CIDR
IPv4 server köməkçisi düzlənmiş şəbəkə və nöqtəli maska qəbul edir, CIDR şəkilçisi deyil. Aralığı yoxlayın, hovuzu jurnalda təsdiqləyin, sonra təhlükəsiz şəkildə ölçünü dəyişin.
CIDR şəkilçisini nöqtəli maska ilə qarışdıran server sətri demonu heç bir port açmadan dayandırır. IPv4 üçün server köməkçisi iki ayrı arqument istəyir: düzlənmiş şəbəkə ünvanı, sonra nöqtəli formada netmask. Bu sətirdəki hər şey qənaətdir və hovuz ölçüləri ilə müştəri maskaları məhz qənaətdə səhv gedir.
Köməkçinin qəbul etdiyi iki arqument
Əvvəlcə şəbəkəni, sonra maskanı yazın və ünvana heç nə qoşmayın:
server 10.72.16.0 255.255.240.0Bu, /20 üçün formadır. Aşağıdakı sətir səhvdir və o, işləmə vaxtında deyil, seçimlərin təhlili zamanı uğursuz olur:
server 10.72.16.0/20 255.255.240.0Bunu sazlayarkən iki fikri ayrı saxlayın. Prefiks uzunluğu və nöqtəli maska eyni aralığı təsvir edir, amma köməkçi hər ikisini birdən qəbul etmir və rədd edilmiş sətir hesablamanı deyil, direktivi adlandıran seçim xətası verir.
Maskanı yazmadan əvvəl şəbəkəni düzləyin
Birinci ünvan aralığın şəbəkə ünvanıdır, onun içindəki rahat müştəri ünvanı deyil. /20 üçün aralıq 10.72.16.0 ünvanından 10.72.31.255 ünvanına qədər uzanır və bunlardan yalnız birincisi etibarlı şəbəkə arqumentidir. /21 255.255.248.0 maskasından istifadə edir və 10.72.16.0 ünvanından 10.72.23.255 ünvanına qədər uzanır, deməli onun sətri server 10.72.16.0 255.255.248.0 sətridir.
Prefiksi dəyişmək aralığı dəyişir, başqa heç nəyi yox. Bir müştərinin neçə ünvan almasını dəyişmir, çünki bu, bu sətirdəki maskanın deyil, topologiyanın xassəsidir.
Hovuzu server tərəfindən təsdiqləyin
Nüsxəni ətraflı jurnalla ön planda başladın və köməkçinin çıxardığı sətirləri oxuyun. Qurduğu hovuz başlanğıcda çap olunur və bu, hesablamanı əl ilə aparmaqdan daha etibarlıdır:
openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195Çıxışın yuxarı hissəsində hovuz xülasəsini axtarın. Orada köməkçinin ayırdığı aralıq sadalanır və bu aralıq niyyətinizə uyğun gəlmirsə, maska hesablaması nə deyirsə desin, sətirdəki arqumentlər səhvdir.
Sonra bir müştəri qoşun və ona verilən ünvanı qeyd edən sətri tapın. Həmin tək ünvan, hovuz aralığının yanında, müştərinin ayrılmış blokun içində, yoxsa gözləmədiyiniz yerdə qaldığını bildirir. Əgər ikisi uyğun gəlmirsə, müştərini deyil, arqumentləri düzəldin. Əgər uyğun gəlirlər və müştəri hələ də heç bir yerə çata bilmirsə, problem heç vaxt hovuz deyildi.
Müştərinin maskasını topologiyanı nəzərə alaraq oxuyun
Müştərinin tunel interfeysində /30 göstərməsi xarab hovuzun sübutu deyil. Nöqtədən nöqtəyə ünvanlamada hər müştəri kiçik blok alır və onun interfeys maskası həmin bloku təsvir edir, serverin hovuzu isə cəmi əhatə edir. Alt şəbəkə topologiyasında isə müştərinin maskası hovuz maskası ilə üst-üstə düşür. Ona görə maskanın özü hansı topologiyanın işlədiyini bildirir, hovuzun düzgün yazıldığını yox.
Nəticə çıxarmazdan əvvəl konfiqurasiya edilmiş topologiyanı və təyin edilmiş ünvanı birlikdə yoxlayın:
ip -4 addr show tun0Ünvan hovuzun içindədirsə və maska hovuzdan dardırsa, bu, topologiyanın öz işini görməsidir. Ünvan hovuzdan kənardadırsa, hovuz səhvdir və müştəri tərəfindəki heç bir yoxlama bunu düzəltməyəcək.
İşləyən hovuzu dəyişmək
Cari hovuz, LAN və ya müştərilərə artıq ötürülmüş hər hansı marşrutla üst-üstə düşməyən aralıq seçin. Üst-üstə düşmə yenidən başlatmadan sağ çıxan və günlər sonra bir saytın bir istiqamətdən əlaqəsiz görünməsi kimi ortaya çıxan nasazlıqdır.
Sətri dəyişin, yenidən başladın və istifadəçiləri geri buraxmadan əvvəl başlanğıc hovuzunu yenidən oxuyun. Yeni aralıq nəyisə toqquşdursa, eyni başlanğıc çıxışı bunu dərhal göstərir və geri qaytarmaq bir sətirlik düzəliş və daha bir yenidən başlatmadır.
Dəyişiklikdən sonra köhnə aralığı bir müddət ayırılmış saxlayın. Gec qoşulan müştərilər hələ də əvvəlki hovuzdan ünvan saxlaya bilər və həmin ünvanları yenidən istifadə edən yeni aralıq marşrut nasazlığı kimi görünən təkrar təyinatlar yaradır. OpenVPN 2.6 təlimatı köməkçinin arqumentlərini və onun genişlənməsini sənədləşdirir; qonşusunun işlətdiyi notasiyanı hər direktivin işlətdiyini güman etməzdən əvvəl bunu oxumağa dəyər.