Интерфејсот е кренат, но wg-quick не успеа: што да се прави понатаму
Неуспешна единица може да остави полуконфигуриран тунел. Прочитајте го првиот чекор што не успеал, одлучете дали да чистите или да поправате, па докажете го тоа со барање.
Единицата е црвена, интерфејсот постои, а тунелот главно работи — тоа е најзбунувачката можна комбинација. Поставувањето е низа: најпрво се создава интерфејсот, потоа доаѓаат адреси, рути, поставки на разрешувачот и сите hook-команди. Неуспех на четвртиот чекор ги остава првите три на место, па името на интерфејсот е доказ дека стартувањето почнало, а не дека завршило. Еден дополнителен факт ќе ја поштедеше збунетоста: чекорот што не успеа.
Делумната состојба е нормален неуспех
Таквото однесување треба да се очекува, наместо да се третира како оштетување. Интерфејсот е најевтиниот дел од поставувањето и најлесниот за оставање зад себе, а токму тој прави машината да изгледа полуфункционална.
Она што сѐ уште не постои е сето она што дојде по неуспешниот чекор. Ако неуспехот бил во фазата на разрешувачот, адресите и рутите се таму, а DNS го нема. Ако било рута, тунелот има адреса и никаков пат низ неа.
Последицата е машина што одговара на некои тестови и не успева на други, па луѓето заклучуваат дека услугата трепери, а таа никогаш не стартувала успешно. Услуга што никогаш не завршила не може да трепери. Таа може само постојано да не успева од истата причина.
Најдете го првиот чекор што не успеал
Читајте го журналот на единицата, а не само тековниот статус, и читајте го од почетокот на неуспешното извршување. Последниот ред ви го кажува излезниот код; првата грешка ви кажува што да поправите.
Овие команди ја печатат состојбата на единицата, журналот за подигање на таа единица и живата состојба на тунелот:
systemctl status wg-quick@wg0
journalctl -u wg-quick@wg0 -b --no-pager | tail -40
wg show
ip -4 addr show dev wg0Грешка на разрешувачот, рута што веќе постои, hook што излегол со код различен од нула и неуспех при разбор на конфигурацијата — сите се појавуваат во тој прозорец, и секој го именува својот компонент. Гаѓањето само од состојбата на интерфејсот ја игнорира целата таа информација.
Три услови што ја одлучуваат поправката
Одлучете дали чистите, поправате на лице место или ја отстранувате единицата од патеката за подигање, и одлучете го тоа пред да напишете нешто.
Ако интерфејсот е скршен, а конфигурацијата е точна, исчистете и почнете одново. Ако конфигурацијата е погрешна, поправете ја и сепак прво исчистете, бидејќи стартување втор управувач врз делумна состојба создава два сопственика за еден интерфејс. Ако неуспехот е системски компонент што недостига, како помошник на разрешувачот што машината го нема, намерно инсталирајте или отстранете ја зависноста, наместо да ја уредувате единицата додека не престане да се жали.
Тие три случаи покриваат најголем дел од она што изгледа како мистериозна црвена единица. Разликувачкото прашање е дали истиот неуспех би се случил на машина со чиста состојба, а одговорот обично доаѓа од првиот ред на грешката.
Исчистете пред да се обидете повторно
Нов обид врз постоечка состојба може да не успее од нова причина и да ја скрие првобитната. Спуштете го интерфејсот со истиот алат што го создал, па потврдете дека ништо не останало.
Не бришете неповрзани интерфејси и не го ресетирајте мрежниот стек на домаќинот. Двете се големи дејства за поправка на мал објект, и тие претвораат еден неуспешен тунел во машина чии други врски треба повторно да се воспостават. Точниот опсег е еден интерфејс и единицата што го поседува. Сѐ што е пошироко бара причина запишана пред да се случи.
Докажете го тунелот, не единицата
Зелена единица значи дека низата за стартување излегла со нула. Тоа не значи дека пакет стигнал на другата страна, ниту дека разрешувачот е поставен како што имавте намера.
Испратете барање низ тунелот и прочитајте ја состојбата што го создаде:
systemctl is-active wg-quick@wg0
wg show wg0 latest-handshakes
ping -c 3 10.63.0.1
resolvectl query internal.example.netРакување без одговор сѐ уште ви кажува дека тунелот се формирал и дека далечната страна е тивка, што е друг проблем од единица што никогаш не стартувала. Држете ја состојбата на единицата, ракувањето и резултатот од барањето во еден запис, бидејќи тие не успеваат независно и само комбинацијата го опишува системот.