Қайта жүктегеннен кейін VPN серверінің қалпына келуін тексеру: алдымен нені тексеру керек
Ешкім кірмеген күйде қайта жүктеп, содан кейін сырттан қосылыңыз. Өздігінен қайтуы тиіс unit, интерфейс, маршруттар мен firewall ережелерін тексеріңіз.
Ешкім кірмеген күйде серверді қайта жүктеп, содан кейін өзіңіз бақыламайтын желіден қосылыңыз. Осы бір тест қалпына келудің шынайы екенін анықтайды, өйткені біреу қолмен команда орындағаннан кейін ғана жұмыс істейтін туннель қалпына келу емес, жөндеу. Тексерулердің көбі тым ерте тоқтайды: демон белсенді көрінеді, интерфейс көтеріледі, ал бет әлі жүктелмейді. Алшақтық әрдайым дерлік туннель айналасындағы бөліктердің тұрақтылығында, туннель пәрменінің өзінде емес.
Төрт ие, төрт түрлі тест
Қайта жүктеу алдында туннельді ненің қайтаруы керектігін атаңыз. Сіз жүргізетін тест пен қолданатын түзету екеуі де сол жауапқа тәуелді, және төрт кәдімгі иесі бар: VPN демонына арналған systemd unit, WireGuard интерфейсіне арналған wg-quick дана unit-і, контейнер runtime-ы немесе желі менеджерінің профилі. Егер иесін атай алмасаңыз, тоқтап, оны табыңыз, өйткені күтілетін іске қосу жолы жоқ қайта жүктеу тесті сізге тек бірдеңе болғанын айтады.
Әр ие өз конфигурациясын басқа жерде ұстайды. systemd басқаратын OpenVPN сервері конфигурациясын іске қосу кезінде оқиды, сондықтан жүктеу сәтінде файлда не болса, сол іске қосылады. wg-quick интерфейсі мекенжайларын, маршруттарын және DNS-ін сол файлдан алады, яғни қабықтан қолмен көтерілген және ешқашан unit ретінде қосылмаған интерфейс қайтпайды. Контейнер өзінің кіру нүктесін қайтарады, бірақ хосттың firewall өзгерістерін қайтармайды, егер олар контейнерден тыс болмаса.
Алдымен базалық күй, әйтпесе нәтиженің мағынасы жоқ
Жұмыс істеп тұрған кезде оның жұмыс күйін жазып алыңыз: туннельдегі мекенжайлар, клиенттің қосымша желісіне арналған маршруттар, NAT немесе қайта бағыттау ережелері, тыңдайтын сокет және қайта бағыттау sysctl-і. ip addr show wg0, ip route, nft list ruleset немесе iptables-save, ss -lunp және sysctl net.ipv4.ip_forward көптеген хосттарда жеткілікті.
Қызметтің іске қосылу үшін қалай конфигурацияланғанын жазыңыз, тек жұмыс істеп тұрғанын емес. systemctl is-enabled wg-quick@wg0 және systemctl is-active wg-quick@wg0 әртүрлі сұрақтарға жауап береді, және жүктеу кезінде қосылған күй маңызды, systemctl(1)-де сипатталғандай. OpenVPN үшін хост қандай үлгіні пайдаланатынын тексеріңіз, өйткені openvpn@server мен openvpn-server@server әртүрлі әдепкі мәндері бар әртүрлі unit-тер.
Қайта жүктеуді орындап, бірінші ақауды оқыңыз
Өзіңіз таңдаған терезеде әдейі қайта жүктеңіз, ашық консольмен немесе белдеуден тыс жолмен. Соңғы күйді емес, оқиғалар ретін бақылаңыз: хост қолжетімді, unit белсендірілді, интерфейс бар, маршруттар орнатылды, firewall ережелері бар, тыңдаушы байланды, клиент қабылданды. Орындалмаған бірінші қадам — сол табылым; одан кейінгінің бәрі шу.
Туннель жарамсыз болса да демон белсенді болуы мүмкін, және бұл ең көп кездесетін жалған өту. Егер unit network-online.target орнына тек network.target-ді күтсе, іске қосу желі онлайн болмай тұрып аяқталуы мүмкін. Сілтеме жасалған файлдар, мысалы сертификаттар, кілттер немесе CRL, сол сәтте оқылмауы мүмкін, өйткені mount немесе құпиялар жолы әлі дайын емес. Екі мәселенің ешқайсысы да unit журналын оқығанша systemctl status-де көрінбейді.
Хосттан тыс жерден сынаңыз. Сол LAN-дағы клиент ешбір қашықтағы клиент пайдаланбайтын маршрут арқылы сәтті болуы мүмкін, ал машинаға SSH сессиясы туннель туралы ештеңе дәлелдемейді. Қосылыңыз, ішкі атауды шешіңіз, жеке ресурсқа жетіңіз, содан кейін кері қайтарылу күйі мен кілттердің әлі күшінде екенін растау үшін тағы бір рет қосылыңыз.
Түзетуіңізді анықтайтын үш шарт
Егер туннель қайтып, бірақ клиенттер ештеңеге жетпесе, ақау маршруттауда немесе NAT тұрақтылығында. Егер клиенттер қол алысуды да аяқтай алмаса, ақау интерфейсте немесе аутентификация материалында. Егер қызмет ешқашан басталмаса, ақау unit файлында немесе оның тәуелділіктерінде. Бұл үш тармақ әртүрлі түзетулерге әкеледі, сондықтан базалық күйсіз соқыр қайта жүктеу үнемдегеннен гөрі көбірек уақыт алады.
Түзетуді параметр иеленетін жерде жасаңыз. Қайта бағыттауды sysctl drop-in-ге, NAT ережелерін жүктеу кезінде жүктелетін ережелер жиынтығына қойыңыз, unit-ті іске қосудың орнына қосыңыз және құпияларды unit басталмай тұрып бар жолда ұстаңыз. Unit-ке ұйқы қосу тәуелділікті жариялаудың орнына жасырады.
Нәтижені runbook-қа жазыңыз
Өзі қайтқан нәрсені, нені іске қосуға тура келгенін және алшақтық қанша созылғанын жазыңыз. Тексеру үшін пайдаланған нақты пәрмендерді қосыңыз, келесі адам жаңасын ойлап табудың орнына тестті қайталасын. Егер қандай да бір қадамға қолмен пәрмен қажет болса, ол пәрмен конфигурацияға тиесілі, runbook-қа тұрақты қадам ретінде емес.
Содан кейін келесі тестті хосттың желілік стекіне келесі өзгерістен кейін жоспарлаңыз, алты айдан кейінгі күнтізбелік күнге емес. Сіз қорғанып отырған ақау режимі — тұрақты болып көрінген уақытша пәрмен, және олар дәл біреу firewall ережелерін өңдегенде немесе қызметті жаңа unit-ке көшіргенде пайда болады.