WireGuard не успева да го создаде својот интерфејс, така што нема уред за конфигурирање, нема клуч за размена и нема ракување за отстранување грешки. Неуспехот останува целосно на локалната машина, а текстот на грешката кажува кој дел од локалниот стек одби. Неговото правилно читање е побрзо од преинсталирање на конфигурацијата на партнерот. Слоевите можат да се одделат, а пораката го именува оној што одби.

Грешката се случува пред ниту еден партнер да проговори

Создавањето интерфејс е едно netlink барање до јадрото за уред од типот wireguard. Јадрото или има драјвер што го разбира тој тип или нема, и одговорот се враќа веднаш. Во овој чекор ниту еден пакет не ја напушта машината, затоа адресите на крајните точки и клучевите на серверот не можат да бидат причина.

Тој редослед е важен за дијагнозата. Ако наредбата никогаш не создала уред, проблемот не може да биде погрешен јавен клуч или блокиран 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

Ако сопственикот е активна услуга, конфигурирајте ја таа услуга наместо да создавате втор уред. Ако навистина е застарен, отстранете го преку алатката што го создала, а потоа подигнете го интерфејсот со документираниот клиент или единица за да останат конфигурацијата и уредот усогласени.

Откако создавањето ќе успее, следниот неуспех припаѓа на подоцнежна фаза, а единица што пријавува неуспех откако уредот постои е друг проблем од уред што никогаш не бил создаден. Одделете ги двете пред повторно да менувате дозволи.

Поврзани статии