Маршрутизаторго кирип, форум жазуусунан kill switch эрежелер жыйнагын коёсуз, туннель кулаган учурда LAN серептөөнү токтотот. Эки күндөн кийин маршрутизатор дагы эле динамикалык DNS жазуусун кадимки WAN аркылуу жаңыртып турат, конок ноутбугу дагы эле IPv6 сайттарына жетет. Эки жүрүм-турум тең кадимки, анткени коюлган эрежелер бир тизмекти жана бир даректер үй-бүлөсүн камтыган, жана алардын бири да бүткүл маршрутизатор эмес. Пакет жолдорун ирети менен өтүү так эмне өткөрүлүп кеткенин көрсөтөт.

Ноутбуктан эмес, маршрутизатордон баштаңыз

Маршрутизатор деңгээлиндеги саясат кичине кеңсе үчүн жагымдуу, анткени артындагы ар бир түзмөк ошол эле жүрүм-турумду мурастайт жана эч ким кардардагы которгучту күйгүзүүнү унута албайт. Ал ошондой эле ар бир микропрограмма жаңыртуусунан кийин текшерүү үчүн бир орун берет. Бербеген нерсе — маршрутизатордун өз трафигин же экинчи даректер үй-бүлөсүн автоматтык камтуу, жана ийгиликсиз жайгаштыруулардын көпчүлүгүнүн артындагы эки боштук ушул.

Бир нерсени өзгөртүүдөн мурун кагазга үч фактыны жазыңыз: WAN интерфейсинин аталышы, LAN көпүрөсүнүн аталышы, ошондой эле VPN акыркы чекитинин дареги жана порту. Үчөө тең эрежелерде керек болот, ал эми интерфейс аттарын божомолдоо — туура көрүнгөн эрежелер жыйнагынын эч нерсе кылбашынын эң кеңири тараган себеби.

Пакет баса ала турган үч жолду өтүңүз

Ноутбуктан интернетке трафик өткөрүлөт, ошондуктан ал FORWARD тизмегинен өтөт. Маршрутизатор өзү жараткан трафик, мисалы, DNS өткөрүү, NTP суроолору, DDNS жаңыртуулары жана VPN башкаруу каналы, OUTPUT аркылуу өтөт. Маршрутизаторго багытталган башкаруу трафиги INPUT аркылуу келет.

Ошондуктан FORWARD гана курулган kill switch кардарларды коргойт, башка эч нерсени эмес. Таблица ачылыш сахнасындагы агымдын эмне үчүн сырдуу эмес, болжолдуу экенин көрсөтөт.

Packet pathExampleChain that sees it
LAN client to WAN or tunnelBrowser requestFORWARD
Router-originatedDDNS update, NTPOUTPUT
Addressed to the routerSSH from the LANINPUT

Көпчүлүк долбоорлордо INPUT ти kill switch керек эмес, бирок туннель өчүк убакта башкаруу кирүүсүн иштеп турушу керек. Болбосо VPN биринчи жолу иштебей калганда консол кабели менен кеңсеге барасыз.

Туннель дагы көтөрүлө алгыдай эрежелерди иреттеңиз

Иштеген kill switch — баш тартуу менен аяктаган уруксаттар тизмеси, жана аны кирпичтен айырмалаган нерсе — ирет. Адегенде loopback, VPN акыркы чекити, орнотулган агымдарга жооптор жана туннель интерфейсине уруксат бериңиз; калганын акырында четке кагыңыз.

iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 198.51.100.7 -p udp --dport 51820 -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wg0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j REJECT

Бул этапта акыркы чекит хост аты эмес, дарек болушу керек. Акыркы баш тартуу DNS ти бөгөттөгөндөн кийин, провайдердин хост атын атаган эрежени чечүү мүмкүн эмес, жана туннель кайра жүктөөдөн кийин эч качан кайра иштебейт. Эгер провайдер акыркы чекиттерди алмаштырса, саясат колдонуудан мурун атты чечиңиз жана ошол эрежени ошол эле скрипттен жаңыртыңыз.

Кардар трафиги үчүн форманы FORWARD да кайталаңыз жана баш тартуунун үстүнө ачык башкаруу эрежесин коюңуз. Бул башкаруу эрежесин кууш, бирок жеткиликтүү кармаңыз жана биринчи SSH сессиясын жаппас мурун экинчисин ачып ырастаңыз. Kill switch өзгөргөндө өзүңүздү тышка камап коюу пландоого татыктуудай көп кездешет. WireGuard иштеген маршрутизатордо өнөктөштүн allowed-ips маанилери туннелге эмне кирерин чечет, ал эми бул эрежелер ансыз эмне чыга аларын чечет.

IPv6 өз эшигин талап кылат

Жогорудагылардын баары IPv4. Эгер LAN да иштеген IPv6 болсо жана туннель IPv4 гана ташыса, камтылган ар бир түзмөктүн жаңы эрежелериңиз эч качан көрбөгөн интернетке түз жолу бар. Кош стектүү ноутбук аны ынтызарлык менен тандайт, kill switch IPv4 менен текшерген адамга гана бузук көрүнөт.

ip6tables -A FORWARD -i br-lan -j REJECT
ip6tables -A OUTPUT -o eth0 -j REJECT
ip6tables -A OUTPUT -o lo -j ACCEPT

Бул жерде да ирет маанилүү: loopback уруксаты WAN баш тартуусунан мурун болушу керек, болбосо маршрутизатордогу жергиликтүү кызматтар кызыктай иштебей баштайт. Эгер тармак IPv6 ны такыр колдонбосо, аны WAN жана LAN да өчүрүү жөнөкөй жана унутула турган эч нерсе калбайт.

Кээ бир VPN кардарлары IPv4 үчүн гана демейки маршрут орнотушат жана бар IPv6 демейки маршрутуна тийишпейт. Туннель туташкандан кийин маршруттоо таблицасын текшериңиз, кардар чечти деп ойлобоңуз.

Муну туннель өчүк убакта далилдеңиз

Туннелди маршрутизатордон токтотуп, үч жерден ушул ирет менен текшериңиз:

# systemctl stop wg-quick@wg0
# ip route get 203.0.113.1
# curl -m 5 -sS http://example.com || echo blocked
# iptables -vnL OUTPUT | head
# ip6tables -vnL OUTPUT | head

Маршрут издөө пакеттин кайда кетерин айтат, эсептегичтер эрежелериңиз качандыр бир кезде дал келген-келбегенин айтат. Ийгиликсиз сыноодон кийин нөл пакеттүү эреже эч нерсени коргобойт, адаттагы себеп — сиз киргизгенден башка интерфейс аты. Маршрутизатор жараткан трафикти ачык текшериңиз, анткени LAN тарабынан сыноо OUTPUT ты иштете албайт.

Ийгиликсиздик режимин ага муктаж болоордон мурун чечиңиз. Fail-closed туннель кайткыча кардарларды тармактан тыш кармайт; fail-open кадимки WAN кирүүсүн кайтарат жана сизге маанилүү болгон трафик үчүн максатты жок кылат. Жогорку метрикалуу VPN пулуна blackhole маршруту fail-closed долбоорлор үчүн пайдалуу экинчи катмар, анткени ал демейки маршрутка кайтуунун ордуна туннель маршруту жок болгондо да сакталат.

Конфигурацияны LAN кардары, маршрутизатор жараткан суроо жана IPv6 суроосу туннель өчүк убакта ийгиликсиз болуп, туннель көтөрүлгөндө үчөө тең кайра иштегенде гана кабыл алыңыз.

Тектеш макалалар