Създадохте гостуваща мрежа, добавихте маршрут за нея, а гостите все още излизат през нормалната ви интернет връзка. Тунелът е вдигнат, основната 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, произхождащ от рутера, е случаят, който изненадва хората последен. Ако гостите използват рутера като свой резолвер, собствените заявки на рутера следват маршрута на рутера, а не гостуващото правило, така че търсенията могат да излизат през нормалната връзка, докато трафикът на приложенията не излиза. Дръжте сегмента, резолвера и политиката при отказ в една бележка и следващият човек може да провери и трите, без да извежда дизайна наново.

Подобни статии