Создадовте гостинска мрежа, додадовте рута за неа, а гостите сѐ уште излегуваат преку вашето вообичаено интернет-поврзување. Тунелот е активен, главниот LAN работи, а гостинските уреди пријавуваат адреса во опсегот што го доделивте, така што ништо не изгледа расипано. Она што обично недостига не е рута туку селектор: рутерот ја одлучува патеката пред да земе предвид преку кој интерфејс пристигнал пакетот, и ако нешто експлицитно не се совпаѓа со гостинскиот сообраќај, тој сообраќај го наследува стандардното. Решението е сегмент, правило за политика и повратна патека, по тој редослед.

Симптомот: гостите сѐ уште излегуваат преку WAN

Знакот е излезната адреса. Гостински уред што стигнува до интернет преку тунелот ќе ја пријави адресата на провајдерот на тунелот, а оној што го наследил стандардното ќе го пријави вашето вообичаено поврзување. Споредете еден до друг гостински уред и уред од главниот LAN, бидејќи интересниот случај е кога тие се разликуваат од она што го конфигуриравте и се совпаѓаат меѓусебно.

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

Чекор 1: вистински сегмент, не само име

Името на SSID не создава изолација. Проверете дали гостинската мрежа завршува на свој интерфејс, VLAN или мост, и дали опсегот на адреси се разликува од доверливиот LAN. На многу потрошувачки пристапни точки, гостинскиот SSID се премостува во истиот сегмент како и сѐ друго, што го прави остатокот од оваа работа невозможен додека тоа не се исправи.

Потоа потврдете го гостинскиот опсег и неговиот DHCP сервер, и чувајте ги поставките на резолверот поврзани со тој сегмент наместо со целиот рутер. Гостинска подмрежа што постои само како коментар во правило на огнениот ѕид не е сегмент, и рутерот нема да има никаков интерфејс со кој би се совпаднал.

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

Чекор 2: изберете го тунелот според изворот

Табелите за рутирање се избираат според дестинацијата, така што правилото „испрати 0.0.0.0/0 во тунелот“ важи за сите. Рутирањето по политика додава втора димензија: изберете ја табелата според изворната адреса. На рутер заснован на Linux, тоа е дополнително правило плус посебна табела, и редоследот е важен бидејќи победува првото совпаѓачко правило:

ip rule add from 192.168.60.0/24 lookup 100 priority 1000
ip route add default dev wg0 table 100
ip route get 1.1.1.1 from 192.168.60.10

Таа последна команда директно одговара на прашањето: кој интерфејс ќе го користи овој извор за оваа дестинација. Извршете ја пред и по промената и ќе знаете дали политиката стапила на сила без да го допрете прелистувачот.

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

Чекор 3: повратната патека и преводот

Пакетот што излегува преку тунелот мора да се врати. Или партнерот на тунелот знае пат назад до гостинскиот префикс, или рутерот го преведува гостинскиот извор во адресата на тунелот. Изберете едно и запишете го, бидејќи режимите на дефект изгледаат различно: недостаток на повратна патека дава врска што се воспоставува и никогаш не одговара, додека недостаток на превод често не произведува ништо.

nft add rule ip nat POSTROUTING ip saddr 192.168.60.0/24 oifname "wg0" masquerade

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

IPv6 бара свое правило. Политика напишана за IPv4 не го покрива другиот семејство, и гостински уред со работен IPv6 со задоволство ќе го користи додека вашата внимателно рутирана IPv4 патека стои неискористена. Рутирајте ги двете семејства или оневозможете IPv6 на гостинскиот сегмент, но не претпоставувајте дека комбинираното правило што го напишавте го покрива она што уредот навистина го прави. Тестирајте со клиент кај кој се овозможени двете семејства, бидејќи тоа е случајот што дизајнот мора да го преживее. Преносно сметач што претпочита IPv6 изгледа исправно во тест само со IPv4 и протекува во вистинскиот.

Тестирајте изолација, не само прелистување

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

Потоа тестирајте уред од главниот LAN и потврдете дека неговиот излез не се сменил. Тоа е регресијата што овој дизајн најчесто ја предизвикува: широко правило наменето за гости, применето на секој интерфејс затоа што совпаѓањето беше напишано според дестинацијата.

На крајот, одлучете што се случува кога тунелот е исклучен. Гостите или не добиваат интернет или се враќаат на патека што ја одобрувате, и оставањето на тоа неодлучно значи тивок пад на вообичаеното поврзување, што е точно протекувањето што гостинската политика требаше да го спречи. Рецептот за рутирање на интернет сообраќај поминува низ истиот избор на патека за рутер заснован на pfSense.

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

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