WireGuard PersistentKeepalive: maping-ka NAT nool u hay
Haddii xidhiidhka rogan uu kaliya shaqeeyo isla markiiba ka dib markii peer-ku traffic diro, maping-ku wuu dhici doonaa. Deji keepalive-ka gadaashiisa router-ka kadibna akhri waqtiga dhabta ah.
Sanduuqa gurigu wuxuu furaa tunnel-ka oo gaadhaa server-ka daruuraha isagoo aan dhib lahayn. Server-ka daruuraha wuxuu gaadhi karaa app-ka guriga hal ama laba daqiiqo ka dib markii sanduuqa gurigu ugu dambeeyay wax uu diray, ka dibna wuu istaagaa. Waxba kama muuqdo log-ka WireGuard, khalad gacan-qabsasho lama soo sheego, dib-u-bilowga tunnel-kana waxa uu si kooban u hagaajiyaa. Qaabkaas waa maping dhici doona, ma aha tunnel jaban, iyo hagaha hoose wuxuu taasi xaqiijinayaa ka hor inta aan wax la beddelin.
Xaqiiji in qaabku yahay dhicidda maping-ka marka aan firfircoonayn
Faahfaahinta kala soocida waa waqtiga. Haddii xidhiidhka rogan uu shaqeeyo isla markiiba ka dib markii peer-ka gurigu traffic diro oo uu ku guuldareysto bareeg aamusan ka dib, waddadu waa fiican tahay oo xaaladda dhexe ma aha. Haddii uusan waligiis shaqayn, xitaa isla markiiba traffic-ka ka dib, kani waa ogaanshaha khaldan.
sudo wg show wg0 latest-handshakes
sudo wg show wg0 endpoints
sudo wg show wg0 transfer
Ku socodsii labada ugu horreeya isla markiiba ka dib markii peer-ka gurigu wax diro, sug shan daqiiqo oo mar kale socodsii. Timestamp-ka gacan-qabsashada ee dib-u-cusboonaysiiya jadwalka iyada oo aan lahayn barta cusub ayaa kuu sheegaya in tunnel-ku nool yahay. Waxa is beddelay awoodda baakadaha aan la codsan in ay ka yimaadaan bannaanka, taas oo ah sifo waddada ah ee ma aha tunnel-ka.
Kadib samee isku day rogan oo fiiri tiriyayaasha wareejinta. Haddii dhinaca daruuraha uu diraa bytes oo dhinaca gurigu aanu waxba helin, baakadku wuxuu ka tagay daruuraha oo wuxuu ku dhintay qalab xaalad hayaa waddada dhexdeeda. Taasi waa saxeexa aad raadinayso. Haddii labada tiriyeye ay dhaqaaqaan, tunnel-ku wuxuu gaarsiiyay baakadka oo app-ka ayaa la tuhman yahay.
Ku dheji keepalive-ka peer-ka ka dambeeya router-ka
Keepalive-yaal joogto ah waxay noolaynayaan maping NAT iyo xaalad kasta oo firewall iyagoo diraaya baakad yar oo la xaqiijiyay jadwalka. Dejinta waxay ku qoran tahay mishiinka ka dambeeya router-ka, galkiisa peer-ka fog, sababtoo ah dhinacaas ayaa baakadkiisa baxa abuura xaaladda.
[Peer]
PublicKey = <cloud peer public key>
AllowedIPs = 10.71.0.1/32
PersistentKeepalive = 25
Ku dar qaybta peer-ka jira. Ku darista block labaad oo isla fure dadweyne la leh ma aha dariiqa saxda ah ee lagu daro xulashooyin, wg-quick-na iskuma daro iyaga adiga. 25-ilka ilbiriqsi ee la diiwaangeliyay waa tusaale loo doortay in uu ka hooseeyo waqtiyada UDP caadiga ah, ma aha qiime macne gaar ah leh.
Ku dhejinta isla tilmaanta dhinaca daruuraha ma caawinayso dhibaatadan. Baakadaha peer-kaas waxay horey uga yimaadaan cinwaan dadweyne, sidaas darteed ma jirto maping laga ilaaliyo jihada muhiimka ah. Waxay ku daraysaa traffic oo waxba ma beddesho.
Akhri timers-ka halkii aad ka qiyaasi lahayd bareeg
Keepalive-yadu way shaqeeyaan sababtoo ah waxay yimaadaan inta badan ka badan inta xaaladdu dhici lahayd. Taasi waxay waqtiga uga dhigtaa lambarka aad runtii u baahan tahay, Linux-na waxaa lagu akhrin karaa qalabka tarjumaadda sameeya:
sysctl net.netfilter.nf_conntrack_udp_timeout
sysctl net.netfilter.nf_conntrack_udp_timeout_stream
sudo conntrack -L -p udp --dport 51820
Qiimaha koowaad waa waqtiga socodka UDP ee hal jiho kaliya lagu arkay, tan labaadna waxay khusaysaa marka jawaabaha la arko. Labaduba badanaa way gaaban yihiin, maping-ka aamusnaada wuxuu raacayaa waxa khuseeya socodkaaga.
Isbarbardhig lambarkaas baraaggaaga. Keepalive 25 ilbiriqsi oo hoos yimaada waqti 30 ilbiriqsi wuu shaqeeyaa; isla keepalive-kaas hoos yimaada waqti 15 ilbiriqsi ma shaqeeyo. Inta jeer ee dib loo tijaabiyo ma beddesho xisaabtaas. Qaar ka mid ah router-yada macaamiisha iyo shirkadaha moobiilka waxay isticmaalaan qiimayaal aad uga gaaban kuwa Linux caadiga ah, taasina waa sababta qaabeynta ka shaqeysa hal shabakad ay ku guuldareysato mid kale.
| Observation | What it means | Reasonable response |
|---|---|---|
| Works after traffic, dies when idle | Mapping or firewall state expiring | Lower the keepalive interval |
| Never works, even immediately | No return route, listener or firewall | Stop tuning keepalive |
| Works for hours, then dies once | Carrier-side translation or address change | Check the endpoint and logs together |
Si gooni ah u hubi dhagaystaha iyo firewall-ka
Maping nool waa lagama maarmaan oo kuma filna. App-ka sanduuqa gurigu waa in uu dhagaysto cinwaanka saxda ah, firewall-ka martigeliyaha-na waa in uu oggolaadaa baakadka ka dib marka la furfuro.
sudo ss -lntup | grep 8080
sudo wg show wg0 allowed-ips
curl -sS -m 5 http://10.71.0.2:8080/health
Haddii socket-ka kaliya ku xiran yahay cinwaanka interface-ka jireed ee ma aha cinwaanka tunnel-ka, baakadaha tunnel-ka soo galaya waa la tuuraa ka hor inta aan firewall-ka la weydiin. Cilladdan dhinaca daruuraha waxay u egtahay mid la mid ah dhibaatada maping-ka, waxayna ka badbaadaysaa hagaajin kasta oo keepalive.
Hubinta liiska la oggolaaday waxay sidoo kale muhiim u tahay jihada kale. Peer-ka daruuraha waa in uu oggolaadaa cinwaanka tunnel-ka guriga isha ahaan haddii uu jawaabayo, peer-ka guriguna waa in uu oggolaadaa cinwaanka daruuraha goobta ahaan. Baakadaha keepalive waa traffic la xaqiijiyay waxayna adeegsadaan isla sharciyadaas, sidaas darteed keepalive u eg mid shaqeeya wuxuu la noolaan karaa app aan shaqeyn.
Faafi isbeddelka oo ogsoonow xadkiisa
Codso dejinta, dib u bilaaw interface-ka haddii taasi tahay habkaaga cusboonaysiinta, kadibna ku celi imtixaanka aamusnaanta halkii imtixaanka degdega ah. Sug waqti ka badan waqtiga aad hore u akhriday, samee codsi rogan oo xaqiiji in tiriyayaashu ka dhaqaaqeen labada daraf.
Qor baraagga iyo waqtiga la cabbiray diinta. Isbeddel mustaqbalka ah oo ku yimaada firmware-ka router-ka, ama u guurista xidhiidh moobiil, waxay beddeli kartaa waqtiga. Qoraalku waa waxa u oggolaanaya qof in uu mar kale soo saaro qiimaha halkii uu koobi lahaa. Laba lambar oo hal sadar ku yaal waxay badbaadiyaan baaritaan dhan mar dambe.
Keepalive-yada joogtada ah waxay ilaaliyaan xaaladda. Ma furaan port, ma ku daraan gelin liiska la oggolaaday, mana keenaan in dhagayste soo muuqdo. Marka xidhiidhka rogan uusan haba yaraatee shaqeyn, khaladku waa mid ka mid ah saddexdaas, iyo bilowga degdega ah ee WireGuard wuxuu ku sharraxayaa dejinta keepalive isla shuruudaha cidhiidhiga ah.