CIDR жұрнағын нүктелі маскамен араластыратын сервер жолы демонды порт ашпас бұрын тоқтатады. IPv4 үшін server көмекшісі екі бөлек аргумент қалайды: тураланған желі мекенжайы, содан кейін нүктелі пішіндегі желілік маска. Бұл жолдағы қалғанының бәрі болжам, ал пул өлшемдері мен клиент маскалары дәл болжамда қателеседі.

Көмекші қабылдайтын екі аргумент

Алдымен желіні, содан кейін масканы жазыңыз, мекенжайға ештеңе тіркемей:

server 10.72.16.0 255.255.240.0

Бұл /20 пішіні. Төмендегі жол — қате, және ол орындалу кезінде емес, опцияларды талдау кезінде сәтсіз аяқталады:

server 10.72.16.0/20 255.255.240.0

Мұны жөндегенде екі ойды бөлек ұстаңыз. Префикс ұзындығы мен нүктелі маска бір ауқымды сипаттайды, бірақ көмекші екеуін бірге қабылдамайды, ал қабылданбаған жол арифметиканы емес, директиваны атайтын опция қатесін шығарады.

Масканы термес бұрын желіні туралаңыз

Бірінші мекенжай — ауқымның желілік мекенжайы, оның ішіндегі ыңғайлы клиент мекенжайы емес. /20 үшін ауқым 10.72.16.0-ден 10.72.31.255-ке дейін созылады, және солардың тек біріншісі ғана жарамды желілік аргумент. /21 255.255.248.0-ті пайдаланады және 10.72.16.0-ден 10.72.23.255-ке дейін қамтиды, сондықтан оның жолы — server 10.72.16.0 255.255.248.0.

Префиксті өзгерту ауқымды өзгертеді, басқа ештеңені емес. Ол бір клиенттің қанша мекенжай алатынын өзгертпейді, өйткені бұл топологияның қасиеті, осы жолдағы масканың емес.

Пулды сервер жағынан растаңыз

Дайындаманы алдыңғы планда егжей-тегжейлі журналмен іске қосыңыз және көмекші шығаратын жолдарды оқыңыз. Ол құрған пул іске қосылу кезінде басылады, бұл арифметиканы қолмен есептеуден сенімдірек:

openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195

Пул қорытындысын шығыстың жоғарғы жағына жақын жерден іздеңіз. Онда көмекші қорға қойған ауқым тізіледі, және ол ауқым ниетіңізге сай келмесе, жолдағы аргументтер қате, маска арифметикасы не десе де.

Содан кейін бір клиентті қосыңыз және оған берілген мекенжайды жазатын жолды табыңыз. Пул ауқымының жанындағы сол бір мекенжай клиенттің қорға қойылған блоктың ішіне түскенін немесе күтпеген жерге түскенін айтады. Екеуі сәйкес келмесе, клиентті емес, аргументтерді түзетіңіз. Олар сәйкес келсе де клиент ештеңеге жете алмаса, пул ешқашан мәселе болмаған.

Клиенттің маскасын топологияны ескере отырып оқыңыз

Клиенттің туннель интерфейсінде /30 көрсетуі бұзылған пулдың дәлелі емес. Нүктеден нүктеге мекенжайлау кезінде әр клиент шағын блок алады және оның интерфейс маскасы сол блокты сипаттайды, ал сервер пулы тұтасты қамтиды. Ішкі желі топологиясында клиент маскасы пул маскасымен сәйкес келеді. Сондықтан масканың өзі қай топологияның жұмыс істеп тұрғанын айтады, пулдың дұрыс жазылғанын емес.

Қорытынды жасамас бұрын конфигурацияланған топология мен тағайындалған мекенжайды бірге тексеріңіз:

ip -4 addr show tun0

Мекенжай пулдың ішінде болса және маска пулдан тар болса, бұл топология өз жұмысын істеп тұр. Мекенжай пулдан тыс болса, пул қате, және клиент жағындағы ешбір тексеру оны түзетпейді.

Жұмыс істеп тұрған пулды өзгерту

Ағымдағы пулмен, LAN-мен немесе клиенттерге бұрын жіберілген кез келген маршрутпен қабаттаспайтын ауқымды таңдаңыз. Қабаттасу — қайта іске қосудан аман өтіп, кейін бірнеше күннен соң бір сайттың бір бағыттан қолжетімсіз болып көрінуіне әкелетін ақау.

Жолды өзгертіңіз, қайта іске қосыңыз және пайдаланушыларды қайтармас бұрын іске қосу пулын қайта оқыңыз. Жаңа ауқым бірдеңемен соқтығысса, сол іске қосу шығысы оны бірден көрсетеді, ал кері қайтару — бір жолды өңдеу және тағы бір қайта іске қосу.

Өзгерістен кейін ескі ауқымды біраз уақыт қорға ұстап тұрыңыз. Кеш қосылған клиенттер әлі де алдыңғы пулдан мекенжай ұстауы мүмкін, ал сол мекенжайларды қайта пайдаланатын жаңа ауқым маршруттау ақауына ұқсайтын қосарланған тағайындауларды тудырады. OpenVPN 2.6 нұсқаулығы көмекшінің аргументтері мен оның кеңеюін сипаттайды, оны директива көршісімен бірдей жазу қолданады деп болжамас бұрын оқыған жөн.

Қатысты мақалалар