Како да насочите една веб-страница надвор од вашиот WireGuard тунел
Една /32 рута низ LAN портата ја задржува едната страница на вашето вообичаено поврзување, под услов огнениот ѕид да дозволува и DNS да се согласи за адресата.
Исклучувањето на име на домаќин е нешто што тунелот не може да го направи. Но рутата може да насочи една единствена адреса покрај тунелот и надвор низ домашната порта, и тоа обично е доволно за една страница. Заплетката е што сѐ понатаму од рутата мора да се согласи: огнениот ѕид мора да го пушти пакетот надвор, DNS мора да ја врати адресата што сте ја насочиле, и страницата мора да продолжи да ја користи таа адреса. Кога било кој од трите ќе отстапи, исклучокот престанува да работи без да се најави.
Прочитајте ја целната адреса пред да го допрете тунелот
Вчитајте ја страницата еднаш со вклучен тунел, потоа погледнете ја адресата на партнерот со која прелистувачот навистина се поврзал. На Linux, ss -tunp ја наведува оддалечената адреса за секој отворен сокет, и dig +short на истото име покажува што вратил резолверот. Држете ги двата броја пред себе.
Двата одговори често не се совпаѓаат, и тоа несогласување е целиот проблем. Големите страници ставаат мрежа за содржина пред своето потекло, така што адресата што резолверот ја враќа сега може да не е онаа што прелистувачот ја користел пред една минута. Насочете го она што го набљудувавте на сокетот, а не она што го наведува постар водич. Ако одговорите продолжат да се вртат меѓу региони, исклучокот за адреса е погрешно оружје за таа конкретна страница.
Пуштете го пребарувањето втор пат од друга мрежа и запишете го одговорот IPv6 заедно со IPv4. Тунелот што ги носи двете фамилии бара исклучок во двете, инаку прелистувачот тивко се враќа на патеката IPv6 што никогаш не сте ја допреле. Запишете ги адресите и датумот некаде каде што ќе погледнете повторно.
Ставете една рута за домаќин на клиентот
Да претпоставиме дека интерфејсот се вика home-wg и дека LAN рутерот е на 192.168.1.1. NetworkManager зема рута чија порта е тој рутер и чија должина на префиксот ги покрива сите 32 бита, а јадрото ја претпочита затоа што најдолгиот префикс победува.
nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20
Портата мора да биде достапна без тунелот; насочувањето на следниот скок кон адресата на тунелот ја уништува целта, затоа што пакетот повторно би влегол во интерфејсот што се обидувате да го избегнете. Откако врската повторно ќе се подигне, ip route get за исклучокот треба да ја испечати LAN портата, а истата команда за јавен резолвер треба сѐ уште да го печати уредот на тунелот.
Профилот wg-quick нема поле за рути, па истиот исклучок живее во линија PostUp што ја додава рутата за домаќин во главната табела со LAN интерфејсот како негов уред. Спуштете го и подигнете го интерфејсот по уредувањето, затоа што интерфејсот што работи никогаш не ја препрочитува својата датотека. Правилата fwmark што ги инсталира wg-quick насочуваат само негови сопствени инкапсулирани пакети, така што обичниот сообраќај на прелистувачот сѐ уште ја следи главната табела и ја наоѓа вашата /32.
Прекинувачот за убивање е следното нешто што го блокира
Политика на огнен ѕид што дозволува сообраќај само на интерфејсот на тунелот ќе го отфрли исклучокот дури и кога рутата е потполно точна. Читајте ги правилата зад прекинувачот наместо да му верувате на прекинувачот, затоа што тие што имплементираат kill switch обично се ограничени на име на интерфејс.
Она што го сакате е тесен дозвола за физичкиот интерфејс и таа една дестинација, поставена пред отфрлањето, додека стандардната политика останува недопрена. Целосното паузирање на kill switch ја докажува поентата, но исто така ја остава машината отворена сѐ додека заборавите повторно да го вклучите.
Тестирајте ги двата правци одделно. Барањето до адресата на исклучокот треба да успее, додека барањето до неповрзана страница сѐ уште излегува низ тунелот. Ако и двете успеат, но втората ја пријави домашната адреса, редоследот на правилата на огнениот ѕид е погрешен, а не рутата.
DNS одлучува кон која адреса прелистувачот се јавува
Кога името се решава внатре во тунелот, резолверот на давателот може да одговори со друга адреса од онаа што ја дал локалниот. Тогаш вашата рута се применува на адреса со која прелистувачот никогаш не стапува во контакт, и страницата се вчитува низ тунелот како ништо да не се сменило. Овој дефект изгледа како скршен исклучок, дури и кога табелата за рутирање е точна.
Испратете ги барањата за тоа име и низ локалниот резолвер, или сосема прескокнете ги имињата и тестирајте ја адресата директно. Раздвојувањето на адресата додека DNS останува внатре во тунелот е најчестата половично завршена верзија на ова поставување, и истовремено најтешко се забележува, затоа што страницата продолжува да работи, само не онака како што сакавте.
Истиот исклучок на рутерот, еднаш, за секој уред
Кога тунелот работи на рутерот, рутата за домаќин припаѓа на табелата за рутирање по политика на рутерот и покажува кон WAN портата наместо кон LAN. Секој уред зад него го наследува исклучокот, што е важно за кутија за стриминг или работен лаптоп чии мрежни поставки не можете да ги промените.
Оставете го тунелот како стандарден излез за секој друг клиент, потоа проверете од клиентска машина, а не од конзолата на рутерот. Вчитајте ја страницата на исклучокот и втора страница во истата сесија на прелистувачот и споредете ги излезните адреси; ако втората сѐ уште го покажува тунелот, табелата со политики го прави тоа што го побаравте.
Запишете ја адресата, датумот и причината во белешките на рутерот. Исклучок изграден околу адреса што подоцна се преместува станува дефект што никој не може да го објасни по една година, а поправката секогаш изгледа како мистерија додека некој не ја најде старата белешка.