WireGuard партнер излегува преку погрешен WAN: пет проверки по ред
На порта со повеќе нагорни врски, ракувањето и проследениот тек можат да тргнат по различни патишта. Поминете низ правило, ознака, превод и одговор по тој ред.
Две нагорни врски, една порта и WireGuard партнер чиј сообраќај постојано се појавува на резервната линија. Ракувањето останува здраво цело време. Затоа симптомот лесно се чита погрешно како дефект на WireGuard, а не како дефект на рутирањето.
Изведете ги проверките подолу по ред. Секоја има услов за запирање, а прескокнувањето напред обично дава самоуверен погрешен одговор.
Одвојте го ракувањето од проследениот тек
Шифрираната размена со партнерот има рута до јавната адреса на серверот. Проследениот клиентски сообраќај има друга дестинација и може да биде избран со ознаки или правила на политика. Тоа се две одлуки за рутирање што делат еден интерфејс. Третирањето на едната како доказ за другата е првата грешка.
Запрете штом се фатите себеси како заклучувате од ракувањето. Тоа е доказ само за патот до крајната точка.
Читајте го правилото на политиката, а не стандардната табела
Стандардната табела покажува што се случува кога ниту едно правило на политиката не се совпаѓа. На порта што рутира по извор, ознака или дестинација, одлучувачкото правило живее на друго место. Обичната табела може да изгледа сосема разумно, додека вистинскиот избор се прави над неа.
ip rule show
ip route show table main
ip -4 route get 203.0.113.9 from 10.30.8.2
Читајте ги правилата на политиката и табелите на кои тие укажуваат. Потоа потврдете кое правило се совпаѓа со вашиот тек за тестирање. Правило што укажува на интерфејс што веќе не ја носи предвидената нагорна врска е наод, не детаљ. Пребарувањето на рутата на крајот го покажува одговорот многу побрзо отколку читање табела и погодување.
Проверете ја ознаката и преводот заедно
Рутирањето по политика се потпира на ознака на пакетот поставена порано во синџирот. Ако правилото за означување го пропушти вашиот сообраќај, текот паѓа во главната табела и излегува низ она што е стандардно таму. Проследените пакети често ги прескокнуваат синџирите напишани за локално генериран сообраќај.
nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1
Преводот мора да се согласува со нагорната врска што го носи текот. Правило што преведува на примарната адреса додека пакетот излегува низ резервната линија создава одговори адресирани до интерфејс што текот никогаш не го користел. Проверете го сопствениот услов за интерфејс на правилото за превод. Безусловното правило работи додека не се користи втората нагорна врска, а потоа пропаѓа на начин што изгледа повремен.
Гледајте кој интерфејс го носи одговорот
Снимајте на двете нагорни врски додека трае едно барање. Забележете кој интерфејс го носи барањето, а кој одговорот. Асиметричните патишта многу полесно се гледаат отколку што се предвидуваат.
Ако одговорот пристигне преку погрешната нагорна врска, проблемот преминал од WireGuard на следење на врските или на преводот. Никаква промена на конфигурацијата на партнерот нема да го поправи тоа.
Променете едно нешто со пат за враќање
Задржете пристап преку конзола или надвор од опсегот пред да уредувате правила на политиката на порта. Направете една промена, тестирајте ја истата дозволена дестинација, потоа поврзете се повторно и потврдете дека ракувањето уште го користи предвидениот пат до крајната точка. Додадете бројчен тест на второто семејство адреси, бидејќи политиката само за v4 ја остава истата грешка достапна.
Забележете која нагорна врска ја користел секој тек. Тој запис го претвора следниот извештај во двоминутна проверка наместо цело попладне. белешките на WireGuard за именските простори и рутирањето опишуваат како намерно да се одвои патот до крајната точка од тунелираниот сообраќај, што обично е почисто отколку да се копира заобиколно решение со стандардна рута.