OpenWrt жүйесінде бүкіл LAN үшін OpenVPN клиенті: жұмыс тәртібі
Интерфейс иелігі, аймақ саясаты, маскарадтау және әрбір SSID үшін кестелер — бұл төрт бөлек жұмыс. Оларды ретімен орындаңыз, сонда бүкіл маршрутизаторды қамтитын туннель сізбен күресті тоқтатады.
Маршрутизатордың бүкіл LAN желісін бір туннельдің артына қою үшін төрт дербес жұмыс керек. Туннель құрылғысына ие, өрт қабырғасы аймағы, жоғарғы арнаға қарай түрлендіру мақсаты, ал кейбір клиенттер VPN сыртында қалуы керек болса, бастапқы мекенжай бойынша маршруттау қажет. Қосылады, бірақ ештеңе өтпейтін туннельде әдетте осы төртеудің біреуі жетпейді. Тәуелділік ретімен жұмыс істеу — соңындағы сәтсіздік дәл қазір өзгерткен қадамға тиесілі деген сөз. Төмендегі әр қадам көзбен көруге болатын нәрсемен аяқталады, бұл келесі қадамды болжамға айналдырмайды.
Туннельді не бөлісетінін шешіңіз
Wi-Fi мен DHCP тарататын маршрутизатор клиентті өзі іске қоса алады. Бұл әр қосылған құрылғыны жеке баптаусыз туннельдің артына қояды және шағын нысандардың көбісі осыны қалайды. Туннель үзілгенде ең үлкен әсер де осы тәртіпте болады, өйткені барлық құрылғы бір уақытта жолын жоғалтады. LAN жағында сыртқа шығатын жұмыс істейтін жол қалмайды.
Біріншісінің артындағы екінші маршрутизатор клиентті өз ішкі желісімен іске қосып, туннельді тек өз құрылғыларымен шектейді. Оны алып тастау да, мұрагерге түсіндіру де оңай. Бағасы — маршрут немесе портты бағыттау болмаса, екі жақ арасында жеткізу жоқ.
Қалай болса да, LAN ішкі желілерін әртүрлі етіңіз. Бірдей диапазондар бір жақты тікелей қосылғандай көрсетеді, және одан шыққан қара құрдым VPN ақауы сияқты оқылады сағаттар бойы.
Туннельге ие беріңіз
Туннельді атауы, құрылғысы бар және өз протоколы жоқ желілік интерфейс ретінде жариялаңыз. Содан кейін желі жүйесі құрылғыны жасайды және басқарады, ал одан кейінгінің бәрі интерфейске құрылғының орнына атауы бойынша жүгінеді. Дәл осы аймаққа оны табуға мүмкіндік береді.
Бір құрылғыны екі жерде жасамаңыз. Жарияланған интерфейстің қасында қолмен жасалған туннель бар болғанымен аймаққа кірмейтін құрылғыны, немесе қайта жүктеуде жоғалатын құрылғыны жасайды. Екеуі де клиенттің сәтсіздігіне ұқсайды және ешқайсысы нағыз себепті атайтын қате шығармайды. Декларативті жолды таңдап, қолмен жасалғанын жойыңыз.
Желі, өрт қабырғасы және VPN конфигурациясында атауды бірдей ұстаңыз. Аймақ желілерді атау бойынша тізімдейді, сондықтан бір қате таңба туннельді барлық аймақтан тыс қалдырады, ал интерфейстің өзі сау көрінеді. Саясатсыз сау интерфейс — байқауға ең қиын күй.
Аймаққа салыңыз, содан кейін оған бағыттаңыз
Өрт қабырғасы аймағы — саясат тұратын жер: кіріс, шығыс, бағыттау және маскарадтау. Ешбір аймаққа кірмейтін туннель өзіңіз таңдамаған әдепкілермен басқарылады, ал бұл маршрутизатор клиентіне сирек керек. Төмендегі блоктар интерфейсті жариялайды, оны аймаққа орналастырады және LAN трафигіне сол аймаққа кіруге рұқсат береді.
config interface 'vpn'
option device 'tun0'
option proto 'none'
config zone
option name 'vpn'
list network 'vpn'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
config forwarding
option src 'lan'
option dest 'vpn'
21.02-ден ескі шығарылымдарда сол интерфейс жолы былай жазылады: option ifname, сондықтан қою алдында орнатылған прошивка қай пішінді түсінетінін тексеріңіз. Бағыттау блогы — LAN трафигіне туннельді мүлдем пайдалануға мүмкіндік беретін рұқсат. Онсыз құрылғы қосулы, клиент қосылған, бірақ ешбір LAN хосты туннельге жетпейді. Маршрутизатор клиенттеріндегі ең жиі шағым — қосылған, бірақ интернет жоқ.
VPN аймағындағы маскарадтау пакет шықпай тұрып әр LAN мекенжайын маршрутизатордың туннель мекенжайына жинайды. Бұл қарсы жақтағы ішкі желіңізге қайтару маршрутының қажеттілігін жояды.
Егер қарсы жақта LAN желіңіздің маршруты әлдеқашан болса, маскарадтауды өшіру бастапқы мекенжайларды көрінетін күйде ұстайды және әр клиенттің журналын мағыналы етеді. Біреуін таңдап, қайсысын таңдағаныңызды жазып қойыңыз, өйткені екі таңдау кейін әртүрлі қолдау сұрақтарын тудырады. Әдепкі LAN-нан WAN-ға бағыттауды алып тастау — өз салдары бар бөлек шешім. Оны алсаңыз, маршрутизатордың өз интернеті де бірге кетеді.
NAT ішінде нағыз жоғарғы арнаны атаңыз
Түрлендіру ережесі қолмен жазылатын прошивкада шығыс интерфейсі бұзылатын өріс. Ереже vlan2 деп аталса, ол ештеңе істемейді, өйткені сессия ppp0 арқылы аяқталады. Интерфейсі мүлде жоқ ереже құпия күйде қалуы тиіс трафикті де түрлендіре алады. Екі қатенің ешқайсысы өзін жарияламайды, өйткені туннель жұмысын жалғастырады.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Сол ережедегі ppp0 орнына ip route немесе жұмыс істеп тұрған интерфейстер тізімінен алынған интерфейсті қойыңыз, содан кейін LAN хосты бетті ашқанда есептегішті қараңыз. Бір провайдері бар маршрутизаторда жоғарғы арнаға бір маскарадтау ережесі әдетте жетеді. Туннель интерфейсіне арналған екінші ереже біріншісінің орнын баспайды.
Содан кейін туннельге не кіретінін шешетін клиент параметрлерін қосыңыз. redirect-gateway нұсқауы клиенттің интернет трафигін VPN арқылы жібереді, онсыз туннель сервер итеріп отырған маршруттарды ғана тасиды. DNS-ке тимес бұрын алынған маршрут кестесін тексеріңіз.
Wi-Fi-ды екінші кестемен бөліңіз
Бір маршрут кестесі екі әдепкіні ұстай алмайды. Сондықтан туннельді айналып өтуі тиіс екінші SSID-ге өз ішкі желісі мен өз кестесі қажет. Туннельді SSID-ге өз диапазонын беріңіз, содан кейін кестені таңдайтын ережемен тек сол диапазонды туннельге жіберіңіз.
OpenWrt жүйесіндегі саяси маршруттау бумалары дәл осы тіркесті білдіреді. Қолмен де жасауға болады: бастапқы мекенжай ережесі және әдепкісі туннель құрылғысына сілтейтін кесте.
Бөлуді екі желіден де тексеріңіз. Туннельді SSID-дегі клиент VPN-нің шығу мекенжайын, ал қарапайым SSID-дегі клиент провайдердікін көрсетуі керек. Екеуі бірдей көрінсе, ереже дұрыс емес бастапқы мекенжайға сай келеді немесе кестемен мүлде санаспайды. Қайта қосылғаннан кейін де тексеріңіз, өйткені интерфейс атауына тәуелді ереже құрылғы нөмірі өзгергенде бұзылады.
Сағат пен құрылғы жалаушасынан күдіктеніңіз
Бұл persist-tun жалаушасы туннель құрылғысын қайта жүктеулер арасында орнында қалдырады. Бұл серверге жарасады және күйі нөлден қайта құрылуы тиіс клиентті шатастырады. Маршрутизатор клиентін диагностикалау кезінде оны алып тастаңыз, өйткені сәтсіз келіссөзден аман қалған құрылғы қай қадам шынымен бұзылғанын жасырады. Клиент сенімді қосылғаннан кейін оны қайтарыңыз, одан бұрын емес.
Сағат — екінші тыныш сәтсіздік. Батареямен жүретін сағаты жоқ маршрутизатор эпохадан басталады, яғни NTP жеткенше сертификат тексерулері сәтсіз болады. Сертификатқа тимес бұрын журналдағы уақыт белгілерін нақты уақытпен салыстырыңыз, өйткені жүктеуден кейін бір минутта қосылатын клиент әдетте уақыт синхрондауын күтеді.