wg set арқылы қосқан әріптесіңіз түстен кейін ping-ге жауап береді де, қайта жүктеуден кейін жоғалады. Ештеңе бұзылмаған: ядро бұл әріптесті тірі интерфейстен басқа еш жерде сақтамаған, ал жүктелу кезінде интерфейсті қайта жасайтын нәрсенің бәрі оны сіз тимеген файлдан құрастырған. Түзету тағы бір wg set емес. Не істеу керек: интерфейске қай компонент ие екенін анықтау, сол компоненттің күйін өзгерту, содан кейін әріптестің оны жойған өмірлік цикл оқиғасының дәл өзінен аман өтетінін дәлелдеу.

Мұны бір рет әдейі қайталаңыз

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

Осының бәрін жасай отырып, үш деректі жазыңыз: интерфейс атауын, оны іске қосқан unit немесе профильді және аман қалған әріптестің қол алысу санағышы нөлденді ме. Нөлденген санағыш интерфейстің жойылып, қайта жасалғанын білдіреді; өзгермеген санағыш пен жоқ әріптес бірдеңе конфигурацияны аяғыңыздың астында өңдегенін білдіреді.

Интерфейске кім ие?

WireGuard-тың өзінде демон да, конфигурация файлы да жоқ. Оның үстіндегі бірдеңе жүктелу кезінде wg шақырады, сол бірдеңе — шындық көзі. Әдеттегі үміткерлер: [email protected], NetworkManager қосылым профилі, дистрибутивке тән желілік unit немесе өз дерекқорын жазатын басқару панелі.

Дистрибутивіңіздің құжаттамасынан емес, жүйенің өзінен сұраңыз. systemctl status wg-quick@wg0 мен nmcli connection show әдетте мұны әрқайсысы бір командиен шешеді. Егер екеуі де интерфейске меншік таласса, сіз ештеңе өңдеуден бұрын ақауды таптыңыз: екі ие әрбір іске қосылуда бір құрылғыны қайта жазады, соңғы орындалғаны жеңеді.

systemctl status wg-quick@wg0 --no-pager
grep -R "Address\|SaveConfig\|PostUp" /etc/wireguard/wg0.conf
nmcli -g NAME,TYPE connection show
wg show wg0 peers

Жұмыс күйі мен іске қосылу күйі бір файл емес

wg set тірі құрылғыны netlink арқылы басқарады. Ол /etc/wireguard/wg0.conf, NetworkManager профилін немесе панель дерекқорын жазбайды. Одан кейінгі сәтті wg show ядроның әріптесті қабылдағанын дәлелдейді, бірдеңе оны қалпына келтіретінін емес.

Қарсы бағытта екінші тұзақ бар. wg-quick-тің SaveConfig опциясы интерфейсті түсірген кезде ағымдағы күйді конфигурация файлына кері жазады. Ол қосылып тұрса, интерфейс көтеріліп тұрғанда файлға жасалған өңдеуді келесі өшіру басып кетуі мүмкін, ал сіз ол жол сол жерде болғанына ант етесіз. Егер әріптес қайта-қайта орала берсе, файлды тоқтатқаннан кейін оқыңыз, алдын емес.

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

Өзгеріс екі жерге де жетуін қамтамасыз етіңіз

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

# 1. persistent state (wg-quick owner)
sudo vi /etc/wireguard/wg0.conf

# 2. apply through the owner, not by hand
sudo systemctl restart wg-quick@wg0

# 3. verify runtime matches the file
sudo wg show wg0
sudo wg showconf wg0

wg showconf тірі конфигурацияны файл қолданатын синтаксиспен басып шығарады, бұл екеуін тікелей салыстыруға мүмкіндік береді. Бұл шығысты құпия ретінде ұстаңыз: онда жеке кілттер бар, сондықтан оны тикетке немесе чат арнасына қоймаңыз. Әріптестердің ашық кілттері мен рұқсат етілген IP-лерді салыстырыңыз және әдейі жойған әріптесіңіз қайтып келмегенін тексеріңіз.

Оның өмірлік цикл оқиғасынан аман өтетінін дәлелдеңіз

Иесі арқылы екінші рет қайта жүктеңіз, содан кейін үш бөлек нәрсені растаңыз: әріптес wg show ішінде көрінеді, қозғалыстан кейін қол алысу санағышы өседі және туннельге тәуелді қолданба шынымен жауап береді. Ескірген қол алысумен тізімделген әріптес — маршруттау немесе кілт мәселесі, тұрақтылық мәселесі емес, және бұл айырмашылық босқа конфигурация өңдеуді үнемдейді.

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

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