WireGuard өз интерфейсин түзө албайт, ошондуктан конфигурациялоочу түзмөк да, алмашуучу ачкыч да, оңдоочу кол алышуу да жок. Ишке ашпоочулук толугу менен жергиликтүү машинада калат, жана катанын текст жергиликтүү стектин кайсы бөлүгү баш тартканын айтат. Аны туура окуу каршы тараптын конфигурациясын кайра орнотуудан тезирээк. Катмарларды бөлүүгө болот, жана билдирүү баш тарткан катмарды атайт.

Ката кайсы бир каршы тарап сүйлөөдөн мурун жүзөгө ашат

Интерфейс түзүү — ядрого wireguard түрүндөгү түзмөк жөнүндөгү бир netlink суроо. Ядрода ошол түрдү түшүнгөн драйвер бар же жок, жана жооп дароо кайтат. Бул кадамда эч кандай пакет машинадан чыкпайт, ошондуктан четки чекиттердин даректери жана сервердин ачкычтары себеп боло албайт.

Бул тартип диагностика үчүн маанилүү. Эгер команда эч качан түзмөк түзбөсө, маселе туура эмес ачык ачкыч же бөгөттөлгөн UDP порту боло албайт. Адегенде жергиликтүү түзүү жолун оңдоп, андан кийин гана сыртка караңыз.

Кайсы реализация түзмөккө ээ болушу керек

Бул суроого эки реализация жооп бере алат. Ядронун ичиндеги модуль wireguard түзмөк түрүн каттайт, ал эми wireguard-go сыяктуу колдонуучу мейкиндигиндеги реализация ошол эле интерфейсти башка механизм аркылуу сунуштайт. Эгер модуль жок болсо, ядро суроодон колдоого алынбаган түзмөк катасы менен баш тартат, жана чечим модулду жүктөө же куралдарды колдонуучу мейкиндигиндеги реализацияга багыттоо.

Алардын ортосунда тандоодон мурун чындыгында эмне бар экенин текшериңиз. Биринчи команда модулдун жүктөлгөнүн көрсөтөт, экинчиси ядродон түз сурайт:

lsmod | grep wireguard
ip link add wgtest0 type wireguard

Экинчи команда — мүмкүн болгон эң кичине кайталоо: ал түзмөк сурайт жана башка эч нерсе. Эгер колдоого алынбаган түр тууралуу билдирүү менен ишке ашпаса, жетишпеген бөлүк — реализация, сиздин конфигурация файлыңыз эмес.

Error textWhat refusedNext step
Unknown device type or operation not supportedThe kernel has no wireguard driverLoad the module or use the userspace implementation
Operation not permittedMissing privilegeUse the service context or grant the capability
File existsThe name is already in useInspect the owner before touching it
No such device in a containerNo tunnel device or capabilityAdd the device and NET_ADMIN to the container

Укуктар жана контейнердин чектери

Тармак түзмөгүн түзүү жана конфигурациялоо укукту талап кылат, же root катары, же тармакты башкаруу мүмкүнчүлүгү менен. Кадимки колдонуучу сессиясы муну кыла албайт, жана бул чектөө — долбоордун өзү, текшербеген орноткучту иштетип айланып өтүүчү тоскоолдук эмес.

Контейнердин ичинде чек эки эселенет. Контейнерге туннелдик түзмөккө жетүү жана аны конфигурациялоо мүмкүнчүлүгү керек, жана муну берген желелектер Linux'теги VPN контейнери колдонгондор менен бирдей. Кадимки вебти серептей алган чектелген конок да интерфейс түзө албайт, анткени серептөөгө ушундай мүмкүнчүлүк керек эмес. Мүмкүнчүлүктү ага муктаж кызматка бериңиз, хосттогу ар бир сессияга эмес.

Аталыш кагылышын чечип, анан кайра аракет кылыңыз

Мурунтан бар интерфейс автоматтык түрдө калдык эмес. Башка менеджер аталышка ээ болуп, аны дал азыр колдонуп жаткан болушу мүмкүн, ошондуктан бир нерсени жок кылардан мурун аны текшериңиз:

ip link show wg0
sudo wg show wg0

Эгер ээси активдүү кызмат болсо, экинчи түзмөк түзүүнүн ордуна ошол кызматты конфигурациялаңыз. Эгер ал чындап эскирген болсо, аны түзгөн курал аркылуу алып салыңыз, анан конфигурация менен түзмөк шайкеш калышы үчүн интерфейсти документтелген клиент же бирдик менен көтөрүңүз.

Түзүү ийгиликтүү болгондон кийин, кийинки ишке ашпоочулук кийинки этапка таандык, ал эми түзмөк бар болгондон кийин ишке ашпоочулук тууралуу билдирген бирдик эч качан түзүлбөгөн түзмөктөн башка маселе. Укуктарды кайра өзгөртүүдөн мурун экөөнү бөлүңүз.

Тектеш макалалар