WireGuard өз интерфейсін жасай алмайды: ядро ме, әлде рұқсат па?
Кез келген әріптеспен қол алысуға дейін интерфейс жасау сәтсіз аяқталады. Жоқ модульді рұқсат шекарасынан немесе интерфейстің бар иесінен ажырату үшін қатені оқыңыз.
WireGuard өз интерфейсін жасай алмайды, сондықтан конфигурациялайтын құрылғы да, алмасатын кілт те, жөндейтін қол алысу да жоқ. Сәтсіздік толығымен жергілікті машинада қалады, және қате мәтіні жергілікті стектің қай бөлігі бас тартқанын айтады. Оны дұрыс оқу әріптес конфигурациясын қайта орнатудан жылдамырақ. Қабаттарды бөлуге болады, және хабарлама бас тартқан қабатты атайды.
Қате кез келген әріптес сөйлеуінен бұрын орын алады
Интерфейс жасау — ядроға wireguard түріндегі құрылғы туралы жіберілген бір netlink сұранысы. Ядрода сол түрді түсінетін драйвер бар немесе жоқ, және жауап бірден қайтады. Бұл қадамда ешбір пакет машинадан шықпайды, сондықтан шеткі нүкте мекенжайлары мен сервер кілттері себеп бола алмайды.
Бұл реттілік диагностика үшін маңызды. Егер команда ешқашан құрылғы жасамаған болса, мәселе қате ашық кілт немесе бұғатталған UDP порты бола алмайды. Алдымен жергілікті жасау жолын түзетіңіз, содан кейін ғана сыртқа қараңыз.
Қай іске асыру құрылғыға ие болуы керек
Бұл сұранысқа екі іске асыру жауап бере алады. Ядро ішіндегі модуль wireguard құрылғы түрін тіркейді, ал wireguard-go сияқты пайдаланушы кеңістігіндегі іске асыру сол интерфейсті басқа механизм арқылы ұсынады. Егер модуль жоқ болса, ядро сұраныстан қолдау көрсетілмейтін құрылғы қатесімен бас тартады, және шешім модульді жүктеу немесе құралдарды пайдаланушы кеңістігіндегі іске асыруға бағыттау.
Олардың арасында таңдау жасамас бұрын шын мәнінде не бар екенін тексеріңіз. Бірінші команда модульдің жүктелгенін көрсетеді, ал екіншісі ядродан тікелей сұрайды:
lsmod | grep wireguard
ip link add wgtest0 type wireguard
Екінші команда — мүмкін болатын ең кішкентай қайталау: ол құрылғы сұрайды және басқа ештеңе. Егер ол қолдау көрсетілмейтін түр туралы хабарламамен сәтсіз болса, жетіспейтін бөлік — іске асыру, сіздің конфигурация файлыңыз емес.
| Error text | What refused | Next step |
|---|---|---|
| Unknown device type or operation not supported | The kernel has no wireguard driver | Load the module or use the userspace implementation |
| Operation not permitted | Missing privilege | Use the service context or grant the capability |
| File exists | The name is already in use | Inspect the owner before touching it |
| No such device in a container | No tunnel device or capability | Add the device and NET_ADMIN to the container |
Рұқсаттар мен контейнер шекаралары
Желілік құрылғыны жасау және конфигурациялау рұқсатты қажет етеді, не root ретінде, не желіні басқару мүмкіндігімен. Қарапайым пайдаланушы сеансы мұны істей алмайды, және бұл шектеу — дизайнның өзі, ал тексермеген орнатушыны іске қосу арқылы айналып өтетін кедергі емес.
Контейнер ішінде шекара екі еселенеді. Контейнерге туннель құрылғысына қатынас және оны конфигурациялау мүмкіндігі қажет, және оны беретін жалаушалар Linux-тегі VPN контейнері қолданатындармен бірдей. Қарапайым түрде вебті шолуға қабілетті шектелген қонақ әлі де интерфейс жасай алмайды, өйткені шолуға ондай мүмкіндік қажет емес. Мүмкіндікті оған мұқтаж қызметке беріңіз, хосттағы әр сеансқа емес.
Атау қақтығысын шешіп, содан кейін қайталап көріңіз
Бұрыннан бар интерфейс автоматты түрде қалдық емес. Басқа менеджер атауға ие болып, оны дәл қазір қолданып жатқан болуы мүмкін, сондықтан бірдеңені жоймас бұрын оны тексеріңіз:
ip link show wg0
sudo wg show wg0
Егер иесі белсенді қызмет болса, екінші құрылғы жасаудың орнына сол қызметті конфигурациялаңыз. Егер ол шынымен ескірген болса, оны жасаған құрал арқылы жойыңыз, содан кейін конфигурация мен құрылғы үйлесімде қалуы үшін интерфейсті құжатталған клиентпен немесе бірлікпен көтеріңіз.
Жасау сәтті болған соң, келесі сәтсіздік кейінгі кезеңге жатады, ал құрылғы бар болғаннан кейін сәтсіздік туралы хабарлайтын бірлік ешқашан жасалмаған құрылғыдан басқа мәселе. Рұқсаттарды қайта өзгертуден бұрын екеуін ажыратыңыз.