Гостујући Wi-Fi и даље користи главну руту: дајте му сопствени излаз
SSID није рута. Гости и даље излазе преко WAN-а све док посебна подмрежа, правило засновано на извору и одговарајућа повратна путања не укажу на тунел.
Направили сте гостујућу мрежу, додали руту за њу, а гости и даље излазе преко ваше уобичајене интернет везе. Тунел је активан, главни 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 који потиче од рутера је случај који људе изненади последњи. Ако гости користе рутер као свој резолвер, сопствени упити рутера прате руту рутера уместо гостујућег правила, па претраге могу изаћи преко уобичајене везе док саобраћај апликације не излази. Држите сегмент, резолвер и политику отказа у једној белешци, и следећа особа ће моћи да провери сва три без поновног извођења дизајна.