Kwenye VPN ya router hakuna kitufe cha kila kifaa; kitufe unachotafuta ni njia ya mkato inayoandika kanuni za uelekezaji wa sera kwa niaba yako. Wakati ambapo kompyuta mpakato moja, safu moja ya porti, orodha moja ya anwani au sehemu moja ya LAN inapaswa kutumia handaki wakati kila kitu kingine kinabaki kwenye WAN, unajenga njia ya sera na si kuwasha kipengele. Kazi ina sehemu tatu zinazosonga, na kila moja inashindikana kwa namna tofauti: jedwali lililowekwa alama lisilo na njia linaonekana kama ukimya, alama iliyowekwa kwenye mnyororo usiofaa inaonekana kama hakuna kilichotokea, na kanuni ya NAT inayokosekana inaonekana kama handaki linalounganisha na halibebi chochote. Sehemu mbili zaidi hupotea kwa sababu kamwe hazionekani kwenye kanuni ya mangle, nazo ni DNS na IPv6.

Hadithi: handaki ni mpangilio wa mteja

Mteja wa VPN upande wa router hufanya jambo moja gumu vizuri: huweka 0.0.0.0/0 kwenye jedwali kuu la uelekezaji na kuielekeza kwenye handaki. WireGuard hupata hilo kutoka AllowedIPs, OpenVPN na kutoka redirect-gateway inayosukumwa na seva, na zote mbili hubadilisha njia ya kila mwenyeji nyuma ya router. Kupunguza AllowedIPs au kuongeza route-nopull hubadilisha kile mteja anasakinisha. Hakubadilishi ni nani ufungaji unamhusu, kwa sababu mteja haoni vifaa kamwe. Huona pakiti tu.

Uteuzi kwa chanzo au lengwa ni uamuzi wa uelekezaji, kwa hiyo ni wa tabaka la sera la router: kanuni ya mangle pamoja na jedwali la pili kwenye RouterOS, MARK pamoja na ip rule kwenye OpenWrt au DD-WRT, au kanuni ya firewall ambayo lango lake ni handaki kwenye pfSense. Kichocheo cha mteja wa WireGuard cha Netgate ndicho unachopaswa kusoma kabla ya kubahatisha, kwa sababu kwenye jukwaa hilo lango la kanuni, ugawaji wa kiolesura na ingizo la NAT la kutoka lazima zikubaliane kabla mteja mmoja kutumia handaki.

Nusu ya pili ya hadithi ni router ya pili. Kununua sanduku lingine, au kuhamisha kifaa kwenye SSID ya wageni, mara nyingi hufanya kazi, na sababu si vifaa: huweka kifaa kwenye subnet yake yenyewe, jambo linalokupa kiteuzi cha chanzo ambacho firmware tayari inakielewa. Ikiwa unaweza kufafanua sehemu hiyo kwenye router yako, sanduku la ziada linatatua tatizo ambalo hukuwa nalo.

Sehemu ya kwanza: handaki ambalo si njia ya msingi

Kwenye RouterOS ongeza mteja bila njia ya msingi na uipe handaki jedwali lake lenyewe. Njia ya kwanza ni ya msingi iliyowekwa alama; ya pili ni nusu ya kushindikana.

/ip route add dst-address=0.0.0.0/0 gateway=VPN_GATEWAY_IP routing-mark=vpn distance=1
/ip route add dst-address=0.0.0.0/0 type=unreachable routing-mark=vpn distance=2

Njia isiyoweza kufikiwa ndiyo sababu jedwali lililowekwa alama linashinda orodha ya vighairi kwenye jedwali kuu. Handaki linapoanguka, pakiti zilizowekwa alama hupata kutofikiwa mara moja badala ya kurudi kimya kwenye WAN, kwa hiyo hitilafu inaonekana kwenye ujumbe wa kosa wa programu na si kwenye ukurasa wa kijiografia unaokagua saa moja baadaye.

RouterOS 7 hutenganisha kile 6.x iliweka pamoja: unatangaza jedwali kwa /routing table add name=vpn fib, kisha unalirejelea kwa jina kwenye njia na kwenye kanuni ya mangle. Kipande cha 6.x kinachoandika routing-mark bila kufafanua jedwali hupakiwa safi na hakiendani na chochote. Klasiki nyingine ni nusu mbili za 0.0.0.0/1, au njia mbili za msingi kwa umbali sawa kwenye jedwali moja: kerneli huchagua moja, na tabia inaweza kubadilika baada ya kuwasha upya.

Sehemu ya pili: weka alama kabla ya kutafuta njia

Kiteuzi huamua pakiti zipi zinaingia kwenye jedwali hilo. RouterOS kwa kawaida huanza na orodha ya anwani kwa sera ya lengwa, au anwani ya chanzo kwa sera ya kifaa:

/ip firewall mangle add chain=prerouting src-address=192.168.88.50 action=mark-routing new-routing-mark=vpn
/ip firewall mangle add chain=prerouting dst-address-list=via-vpn action=mark-routing new-routing-mark=vpn
/ip firewall address-list add list=via-vpn address=203.0.113.10

Firmware ya Linux hufanya vivyo hivyo kwa alama ya netfilter na kanuni inayoelekeza pakiti zilizowekwa alama kwenye jedwali ulilolijaza:

iptables -t mangle -A PREROUTING -p tcp --dport 27000:27050 -j MARK --set-mark 0x200
ip route add default dev tun0 table 100
ip rule add fwmark 0x200 table 100

Mnyororo si uchaguzi wa mtindo. Pakiti inapofika FORWARD utafutaji wa njia umekwisha fanyika, kwa hiyo MARK au DROP hapo inaweza tu kuandika upya au kutupa. Alama lazima itue PREROUTING kwa trafiki inayopitishwa na OUTPUT kwa trafiki ambayo router yenyewe huizalisha, ambako DNS, NTP na ukaguzi wa masasisho wa router huishi. Njia hiyo ya kutoka ndiyo sababu ya kawaida kwa nini usanidi uliowekwa handakini kikamilifu bado hujibu kutoka kwa kitatuzi cha ISP katika jaribio la uvujaji.

Sera ya kifaa inahitaji ulinganifu usioteleza. Hifadhi anwani kwenye DHCP, au linganisha kiolesura kwa sehemu maalum; anwani inayohamia kifaa kingine baadaye hutumia handaki kimya kwa mteja asiye sahihi. Daraja la kila SSID lenye subnet yake ni toleo la kudumu zaidi la wazo hilo, na linawapa kanuni za IPv6 mahali pa kuishi pia.

Sehemu ya tatu: NAT, DNS na msamaha wa LAN

Trafiki inayotoka kupitia handaki inahitaji anwani ya chanzo ambayo upande wa pili utaijibu. Weka upeo wa utafsiri kwa kiolesura cha handaki: out-interface=VPN_NAME kwenye RouterOS, -o tun0 kwenye Linux, ingizo la NAT la kutoka linalolingana kwenye pfSense. Kanuni ya masquerade isiyo na upeo huo huandika upya trafiki uliyokusudia kuiacha, na dalili ni kifaa kisicho kwenye handaki kupoteza anwani yake ya umma.

Msamaha wa LAN husababisha nyuzi nyingi za msaada kuliko handaki lenyewe. Ikiwa jedwali lililowekwa alama lina njia ya msingi tu, lengwa la printa au NAS kutoka kifaa kilichochaguliwa hulingana na msingi huo na hupotea kwenye handaki. Ongeza njia ya LAN kwenye jedwali hilo hilo, au ondolea nje subnet ya ndani kwenye kiteuzi; zote mbili hufanya kazi, na kuondoa nje ni rahisi kuweka sahihi unapoongeza VLAN baadaye.

DNS huchukua njia tofauti. Maulizo ambayo router husambaza hutoka kwa router na hufuata OUTPUT, si alama iliyosambazwa, kwa hiyo kompyuta mpakato iliyowekwa handakini kikamilifu bado inaweza kutatua majina kupitia ISP. Elekeza wateja kwenye kitatuzi kinachofikiwa kupitia handaki, au weka alama kwenye trafiki ya port-53 ya router yenyewe, kisha kagua anwani iliyotatuliwa badala ya kudhani jibu lilisafiri pamoja na ombi la wavuti.

Kanuni inapolingana lakini programu bado inatumia WAN

Orodha za lengwa huzeeka vibaya. Jina hutatuliwa hadi anwani isiyo kwenye orodha, kwa hiyo ombi huchukua WAN wakati kila jaribio ulilofanya kwa anwani iliyoorodheshwa lilifanya kazi. Sasisha orodha kutoka kwa kitatuzi kilekile anachotumia mteja, na pendelea kiteuzi kinachotegemea chanzo unapotaka kwa dhati trafiki yote kutoka kifaa kimoja.

IPv6 ni mchepuko wa kimya. Kifaa kina familia ya pili ya anwani na njia yake ya msingi na seti yake ya kanuni, na kulinganisha anwani ya IPv4 pekee ni nusu ya sera. Tumia kiteuzi kilekile kwenye ip6tables au kifanani cha nftables, au zima IPv6 kwenye sehemu hiyo kwa makusudi na si kwa bahati mbaya.

Miunganisho iliyoanzishwa pia ni muhimu. Ingizo la conntrack lililoundwa kabla ya mabadiliko linaendelea kufuata njia ya zamani hadi liishe, kwa hiyo kivinjari kilichobaki wazi wakati wa uhariri kinaonekana kama kanuni ambayo haikutumika kamwe. Fungua muunganisho mpya, au safisha hali, kabla ya kuhukumu sera.

Thibitisha kwa vifaa viwili na kuwasha upya

Jaribu kifaa kinachopaswa kuwa kwenye handaki na kifaa kisichopaswa, na linganisha hop ya pili badala ya namba ya kasi. Traceroute kutoka kwa kila kimoja huonyesha ama lango la handaki au lango la ISP kwenye hop ya pili; ikiwa zote zinaonekana sawa, alama au jedwali halifanyi kile kanuni inasema. Tumia miunganisho mipya kwa jaribio.

Kisha washa upya. Mpangilio wa kuanza ndipo sera inayofanya kazi inapovunjika, kwa sababu mteja lazima awe juu kabla ya njia isiyoweza kufikiwa kusakinishwa, na picha iliyohifadhiwa inayorejesha seti ya zamani ya kanuni itaandika juu ya jedwali lako. Kagua kwamba kila kanuni iko kwenye usanidi uliohifadhiwa na kwamba msingi uliowekwa alama upo baada ya kuwasha, si tu baada ya kuandika.

Ikiwa kitu kinashindikana, ondoa alama kwanza na uone kama trafiki ya kawaida inarudi, kisha ondoa jedwali. Mpangilio huo unakuambia kama unafuatilia tatizo la uelekezaji au la firewall, na unaiachia kaya printa inayofanya kazi unapomaliza kazi.

Makala zinazohusiana