Mga bagong koneksyon sa bagong exit ng VPN, hindi ginagalaw ang lumang daloy
Ang planadong drain ay naglilipat lamang ng mga daloy na hindi nauri. Ihambing ito sa pagpapalit ng ruta, at tingnan ang mga marka, talahanayan at estado ng conntrack na nagpapatatag nito.
Dalawang malusog na exit ng VPN, isang mahabang upload na tumatakbo na, at isang kinakailangan na ang susunod na koneksyon ay gumamit ng kabilang tunnel. May dalawang paraan upang matugunan iyon, at isa lamang sa kanila ang ligtas sa isang live na gateway. Ang pagpapalit ng default na ruta ay naglilipat ng bawat packet, kasama na ang mga kabilang sa upload. Ang planadong drain ay nagbabago ng pagpili para sa mga bagong koneksyon at iniiwan ang mga sinusubaybayang daloy sa rutang pinagsimulan nila.
Dalawang paraan upang palitan ang exit
Ang pagpapalit ng ruta ay isang utos at maibabalik sa loob ng mga segundo, kaya ginagamit ito sa oras ng insidente. Ito rin ay walang pili: ang mga packet ng umiiral na upload ay biglang lumalabas sa ibang tunnel, na may ibang pampublikong source address at hiwalay na estado ng pagsasalin.
Kung sinusubaybayan ng malayong dulo ang mga daloy sa pamamagitan ng source address, maaaring tumigil na lamang makilala ang upload. Iniiwasan ito ng drain sa pamamagitan ng paggawa ng desisyon isang beses bawat koneksyon at pag-iimbak nito, kaya pinapanatili ng lumang upload ang exit nito hanggang matapos. Iyon ang buong halaga ng pagsasanay: walang nakikitang pagbabago ang malayong dulo na kailangan nitong bigyang-kahulugan. Patuloy itong tumatanggap ng mga packet na tumutugma sa koneksyong alam na nito.
Ang halaga ay pagiging kumplikado: dalawang talahanayan ng routing, isang classifier na tumatakbo sa tamang hook, at mga markang kailangang iugnay sa lahat ng iba pa sa makina na gumagamit sa kanila.
Bigyan ang bawat exit ng sarili nitong talahanayan
Maglaan ng talahanayan ng routing bawat exit at magkakaibang halaga ng marka o bit para sa dalawang pagpipilian. Ang bawat talahanayan ay nangangailangan ng mga rutang angkop sa papel nito, hindi lamang pangalan, at nangangailangan ito ng sadyang resulta ng kabiguan para sa nawawalang kaso. Isang walang laman na talahanayan na tahimik na nahuhulog sa pangunahing talahanayan — ganito lumalabas ang trapiko sa isang exit na walang pumili.
ip rule add fwmark 0x10/0x10 table 101
ip rule add fwmark 0x20/0x20 table 102
ip route add default via 192.0.2.1 dev wg-a table 101
ip route add default via 198.51.100.1 dev wg-b table 102Magdagdag ng rutang blackhole sa dulo ng bawat talahanayan upang ang paghahanap na walang tugma ay mabigo nang malakas sa halip na tumakas sa isang default na hindi mo pinili.
Pumili nang isang beses, sa unang packet
Uriin pagkatapos na mayroon nang pagsubaybay ng koneksyon at bago ang paghahanap ng ruta na mahalaga. Para sa bago, hindi nauri na koneksyon sa LAN, piliin ang exit at iimbak ito sa estado ng koneksyon. Sa mga susunod na packet, ibalik ang naimbak na halaga sa marka ng packet na binabasa ng patakarang routing.
Ang banayad na bahagi ay kung ano ang ibig sabihin ng bago. Maaari pa ring mag-ulat ang conntrack ng NEW para sa mga unang packet at muling pagpapadala bago makita ang tugon, kaya ang isang classifier na umaasa lamang sa estadong iyon ay maaaring mag-overwrite ng pagpipiliang nagawa na nito. Bago magtalaga ng isa, tiyakin na walang exit na naimbak para sa koneksyon.
Pinapanatiling hiwalay ng nftables ang mga marka ng packet at koneksyon, at ang gabay sa metainformation ay nagdodokumento ng tahasang pagkopya sa pagitan nila. Ang marka ng koneksyon ay hindi nagiging marka ng packet na tumutugma sa iyong tuntunin sa sarili nito, at iyon ang pinakakaraniwang dahilan kung bakit walang epekto ang isang maingat na naisulat na classifier.
Limitahan ang pagpapanumbalik sa direksyon at trapikong tinutukoy mo. Ang paglalapat ng marka ng exit sa internet sa mga bumabalik na packet ay maaaring magpadala ng mga tugon patungo sa exit sa halip na sa LAN, at ang sintomas ay isang one-way na koneksyon na mukhang problema sa firewall. Basahin ang ruta ng tugon bago hawakan ang isang tuntunin ng firewall, dahil ang packet ay niruruta, hindi lamang bumabalik sa nagpadala.
Apat na yugto ng drain
Ihanda ang B nang hindi hinahawakan ang A: routing, pagpapasa, awtorisasyon, NAT at ang rutang pabalik. I-install ang talahanayan at patakaran ng pagpili nito sa pamamagitan ng umiiral na may-ari ng configuration ng gateway.
Ilipat ang classifier upang ang mga bago, hindi nauring koneksyon ay pumili ng B, habang pinapanatili ang naimbak na pagpipilian. Ang atomic na transaksyon ng nftables ay umiiwas sa isang window kung saan kailangang linisin ang lumang estado.
Hayaan ang A na bukas habang natatapos ang mga daloy nito. Ang interface, talahanayan, malayong exit at mga mapping ng NAT nito ay bahagi pa rin ng mga daloy na iyon, at ang pag-edit ng tuntunin ng NAT ay hindi muling nagtatayo ng mga bigkis na umiiral na.
Iretiro ang A kapag natugunan ang kundisyon ng drain, hinatulan mula sa estado ng koneksyon at pag-uugali ng aplikasyon sa halip na isang tahimik na agwat.
Ano ang hindi maipapangako ng drain
Ang kahilingan ng browser ay hindi bagong koneksyon sa transport; patuloy na nagpapadala ng mga kahilingan ang pooling sa luma. Sa kabaligtaran, ang isang daloy ng UDP ay maaaring tumanda palabas ng conntrack at ang isang susunod na packet ay inuuring muli. Sinusundan ng drain ang mga sinusubaybayang daloy, hindi ang ideya ng aplikasyon tungkol sa sesyon.
Kung mabibigo ang A bago matapos ang mga daloy nito, hindi sila ililigtas ng naimbak na marka. Muling kumokonekta sila sa pamamagitan ng B, o hindi na kumokonekta. Ang planadong drain ay bumibili ng pagpapatuloy habang malusog ang orihinal na ruta; hindi ito replikasyon ng estado sa pagitan ng mga malayang exit.
I-verify ang parehong kalahati
Magsimula ng mahabang pinapayagang koneksyon bago ang pagbabago at isang tunay na bago pagkatapos. Kumpirmahin kung aling tunnel ang ginagamit ng bawat isa at aling pampublikong source address ang nakikita ng malayong dulo, pagkatapos ay tiyakin na bumabalik ang trapikong pabalik.
Huwag i-flush ang talahanayan ng conntrack upang lumitaw ang bagong pagpipilian. Sinisira nito nang eksakto ang estadong dapat pangalagaan ng drain, at ginagawang pagkawala ng serbisyo ang kontroladong migrasyon na may mukhang malinis na pagsubok.