Kwa nini kill switch huacha trafiki wakati unabadilisha seva
Kwa nini kill switch huzuia trafiki wakati wa kubadilisha seva, mteja hufanya nini katika kipindi hicho, na jinsi ya kutofautisha pengo la kawaida na kizuizi kilichokwama.
Unachagua seva inayoonekana karibu zaidi, unabonyeza unganisha, na kivinjari kinaacha kupakia kabla handaki jipya halijainuka. Aikoni hubadilika kwenda hali ya kuunganisha na kubaki hapo hadi kila kichupo kifikie mwisho wa muda. Pengo hilo kwa kawaida ni kill switch inayofanya kazi kama ilivyoundwa: trafiki imezuiwa wakati mteja hana handaki la kuituma. Ikiwa pengo linakubalika inategemea kile mteja anachofanya katika sekunde hizo, na ikiwa kizuizi kinaondolewa anaposema kimeondolewa.
Mteja hufanya nini kati ya seva mbili
Kubadilisha mahali pa mwisho ni hatua kadhaa, si swichi moja. Mteja hubomoa handaki la sasa, husasisha kanuni zake za kuzuia, hutatua na kufikia mahali mpya pa mwisho nje ya handaki, kisha husakinisha njia mpya na kuondoa kizuizi. Pengo unalohisi liko kati ya hatua ya kwanza na ya mwisho.
Mpangilio ni muhimu zaidi kuliko kasi hapa. Ikiwa kanuni za kuzuia zinaingia kabla ya msamaha wa mahali mpya pa mwisho, mteja hawezi kukamilisha kupeana mikono na hubaki kwenye kuunganisha hadi wakati uishe. Ikiwa msamaha ni nakala ya anwani ya seva ya zamani, kupeana mikono mpya kunaonekana kama pakiti nyingine yoyote inayotoka na hutupwa. Kesi zote mbili zinaonekana sawa kutoka kwa kivinjari, ndiyo sababu mabadiliko yanayopona baada ya sekunde sita na yale yasiyopona kamwe yanaweza kuwa na sababu moja.
Mahali mpya pa mwisho panahitaji tundu ndani ya kizuizi
Ili kujenga handaki, mteja lazima atume pakiti kwenda kwa anwani na bandari ya seva mpya kupitia kiolesura cha kimwili, kwa mfano UDP 51820 kwa wasifu wa kawaida wa WireGuard au 1194 na 443 kwa OpenVPN, chochote wasifu wako unavyoelekeza. Trafiki hiyo haiko ndani ya handaki linalokaribia kuundwa, kwa hiyo kizuizi cha kifaa kizima huimeza isipokuwa kuna kanuni ya ruhusa inayolingana.
Wasifu unaotegemea jina la mwenyeji huongeza sharti la pili: utafutaji wenyewe. Ikiwa mteja hutatua mahali pa mwisho kabla kizuizi hakijainuka, anaweza kutumia anwani iliyohifadhiwa, lakini wasifu unapobadilisha anwani au ingizo la hifadhi linapokwisha muda, kupeana mikono huelekea anwani ambayo kanuni ya ruhusa haifuniki. IPv6 huifanya hii ionekane, kwa sababu mahali pa mwisho pa tabaka mbili panaweza kuchapisha rekodi ya A na AAAA, na kanuni ya ruhusa inayofunika anwani ya v4 pekee humwacha mteja akijaribu tena dhidi ya anwani ya v6 iliyozuiwa.
Majina ya chaguo na thamani chaguo-msingi hutofautiana kwa mteja na toleo, kwa hiyo soma orodha iliyoandikwa kwa lako badala ya kukisia kutoka kwa picha za skrini. Marejeleo ya mipangilio ya OpenVPN Connect kwenye openvpn.net/connect-docs/app-settings-windows ni mfano mmoja wa jinsi mteja anavyoeleza chaguo zake za kuzuia na handaki lililogawanywa.
Fail-closed ni mashine ya hali, si swichi
Wateja wengi hueleza kizuizi kama sera ya ukuta wa moto katika hali tatu: handaki juu, trafiki ikipita ndani ya handaki na hakuna kizuizi; handaki chini, kizuizi kikiwa hai; na mpito, kizuizi kikiwa hai pamoja na msamaha wa muda kwa mahali pa mwisho. Ni katika hali ya tatu ambapo hitilafu huishi, kwa sababu lazima ibadilike mara mbili ndani ya sekunde chache, na kushindwa kutoka humo kunaonekana sawa kabisa na kizuizi cha kudumu.
Utaratibu hutofautiana kwa jukwaa, na hitilafu pia. Vichujio vya Windows Filtering Platform vina uzito, kwa hiyo kichujio cha kuzuia kinachozidi ruhusa yako kinaendelea kutupa pakiti ingawa ruhusa ipo, na vichujio vilivyoachwa na mchakato wa mteja uliouawa vinaweza kuweka mashine nje ya mtandao baada ya programu kuondoka. Wateja wa macOS kwa kawaida huandika kanuni za pf katika nanga, ambapo mpangilio wa kanuni na maamuzi ya haraka huamua ni kanuni gani inatumika. Wateja wa Linux kwa kawaida husimamia mnyororo wa nftables au iptables wenye sera ya drop na ruhusa zilizo wazi kwa mahali pa mwisho, kiolesura cha handaki na loopback. Hali ya always-on VPN ya Android pamoja na chaguo la kuzuia miunganisho bila VPN ni kali zaidi katika kundi, kwa sababu mfumo wa uendeshaji hutumia kizuizi kwa kifaa kizima na si kwa programu moja.
WireGuard inahitaji noti yake, kwa sababu AllowedIPs ni kichaguzi cha njia, si kizuizi. Huamua ni maeneo gani yanayingia handaki; haifanyi chochote kuzuia pakiti isiyo na handaki bado kutoka kwa Wi-Fi. Katika mpangilio wa WireGuard pekee na bila kanuni ya ukuta wa moto, kill switch kwa kweli ni kukosekana kwa njia, na baada ya kupeana mikono kutupwa pakiti halisi inaweza kutoka kupitia kiolesura cha kimwili.
Pima pengo badala ya kutazama aikoni
Fuatilia pakiti, si taa ya hali. Katika Linux anza ping ya polepole kwenda anwani ya umma katika terminal moja na ukamate bandari ya usafirishaji ya handaki kwenye kiolesura cha kimwili katika nyingine:
ping -i 0.2 -c 100 1.1.1.1 | tail -5
sudo tcpdump -ni eth0 'udp port 51820'
Badilisha seva katika mteja wakati zote mbili zinaendesha. Mambo matatu ni muhimu: ping zinakaa muda gani, ikiwa kamata inaonyesha kupeana mikono kufikia mahali mpya pa mwisho, na ikiwa trafiki inarudi kabla au baada ya hali ya mteja kubadilika kuwa imeunganishwa. Ikiwa pengo la ping linaisha kwanza, ama kizuizi kimeondolewa mapema au handaki liko juu kabla kionyeshi hakijakubali. Ikiwa pengo linaisha baadaye, kionyeshi kina matumaini kupita kiasi.
Katika Windows, netsh wfp show state huandika picha ambayo unaweza kutafuta vichujio vya kuzuia ambavyo bado vipo wakati mteja anadai amekatwa. Katika macOS, sudo pfctl -sr huorodhesha kanuni zilizopakiwa na mpangilio wake. Unganisha picha yoyote na kumbukumbu ya mteja mwenyewe; mstari wa muda kutoka ping yako unakuambia ikiwa kizuizi kiliisha kwa kuchelewa au hakikuisha kamwe.
Giza la kawaida dhidi ya kizuizi kilichokwama
Usumbufu fulani ndio madhumuni ya kipengele hiki, kwa hiyo fanya uchambuzi kabla ya kubadilisha mpangilio wowote:
| What you see | Usually means | Next check |
|---|---|---|
| Two or three seconds of timeouts, then normal browsing | Expected fail-closed gap | Nothing to fix |
| State says connected, traffic stays dead | Block filter or route left behind | Firewall snapshot, client log |
| One app dead while others work | TCP session bound to the old exit address | Restart the app |
| LAN devices unreachable after the switch | LAN exception not reapplied | Allow-LAN or split-tunnel setting |
| New server hangs, the old one reconnects | Permit covers only the old address | Resolved address of the new host, including AAAA |
Ikiwa utaangukia safu ya pili au ya tano, usizime kill switch kwa jaribio, kwa sababu hiyo hugeuza hitilafu ya njia kuwa uvujaji. Anzisha upya huduma ya mteja, au anzisha upya mashine mahali ambapo vichujio huishi baada ya mchakato kuuawa, kisha angalia ikiwa kizuizi kinaondoka. Ikiondoka, kosa liko katika usafishaji wakati wa mabadiliko na si katika kizuizi chenyewe.
Kabla ya mabadiliko yako yajayo, thibitisha mambo manne: ruhusa ya mahali pa mwisho inafunika kila familia ya anwani ambayo wasifu wako hutatua, kumbukumbu ya mteja inaonyesha mpito umekamilika, jaribio lako la ping hupima pengo na si aikoni, na kufunga mteja kunarudisha muunganisho wa kawaida. Kill switch inayoshikilia wakati wa mabadiliko kisha kuachia baadaye hufanya kazi yake. Ile inayochia mapema, au kamwe, inastahili kurekebishwa.