Кайра жүктөөдөн кийин 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 ке көчүргөндө пайда болот.