WireGuard PersistentKeepalive: weka uwekaji ramani wa NAT hai
Ikiwa muunganisho wa kinyume unafanya kazi tu mara moja baada ya mwenzake kutuma trafiki, uwekaji ramani unaisha. Weka keepalive nyuma ya rauta kisha soma muda wa mwisho halisi.
Sanduku la nyumbani linafungua handaki na kufikia seva ya wingu bila matatizo. Seva ya wingu inaweza kufikia programu ya nyumbani kwa dakika moja au mbili baada ya sanduku la nyumbani kutuma kitu mara ya mwisho, kisha inaacha. Hakuna kinachoonekana kwenye kumbukumbu ya WireGuard, hakuna hitilafu ya kupeana mikono inayoripotiwa, na kuwasha upya handaki kunarekebisha kwa muda mfupi. Mchoro huo ni uwekaji ramani unaoisha, si handaki iliyovunjika, na mwongozo ulio hapa chini unathibitisha hilo kabla ya kubadilisha chochote.
Thibitisha kuwa mchoro ni kuisha wakati wa kutokuwa na shughuli
Maelezo yanayotofautisha ni muda. Ikiwa muunganisho wa kinyume unafanya kazi mara moja baada ya mwenzake wa nyumbani kutuma trafiki na unashindwa baada ya kipindi tulivu, njia iko sawa na hali ya katikati haiko. Ikiwa haukufanya kazi kamwe, hata mara moja baada ya trafiki, hii ni utambuzi usio sahihi.
sudo wg show wg0 latest-handshakes
sudo wg show wg0 endpoints
sudo wg show wg0 transfer
Endesha mbili za kwanza mara moja baada ya mwenzake wa nyumbani kutuma kitu, subiri dakika tano na uzindue tena. Muhuri wa muda wa kupeana mikono unaojirudia kwa ratiba bila kituo kipya cha mwisho unakuambia kuwa handaki iko hai. Kilichobadilika ni uwezo wa pakiti zisizoombwa kufika kutoka nje, jambo ambalo ni sifa ya njia na si ya handaki.
Kisha fanya jaribio la kinyume na uangalie vihesabu vya uhamishaji. Ikiwa upande wa wingu unatuma baiti na upande wa nyumbani haupokei hata moja, pakiti iliondoka kwenye wingu na kufa katika kifaa kinachohifadhi hali njiani. Hiyo ndiyo sahihi unayotafuta. Ikiwa vihesabu vyote viwili vinasogea, handaki ilifikisha pakiti na programu ndiyo inayoshukiwa.
Weka keepalive kwa mwenzake aliye nyuma ya rauta
Keepalive za kudumu huweka uwekaji ramani wa NAT na hali yoyote ya ngome hai kwa kutuma pakiti ndogo iliyothibitishwa kwa ratiba. Mpangilio ni wa mashine iliyo nyuma ya rauta, katika kiingilio chake kwa mwenzake wa mbali, kwa sababu upande huo ndio pakiti yake inayotoka huunda hali.
[Peer]
PublicKey = <cloud peer public key>
AllowedIPs = 10.71.0.1/32
PersistentKeepalive = 25
Iunganishe na sehemu iliyopo ya mwenzake. Kuongeza kizuizi cha pili kwa ufunguo sawa wa umma si njia halali ya kuongeza chaguo, na wg-quick haitaiunganisha kwa ajili yako. Sekunde 25 zilizoandikwa ni mfano uliochaguliwa ili uwe chini ya muda wa kawaida wa UDP, si thamani yenye maana maalum.
Kuweka agizo hilo hilo upande wa wingu hakusaidii tatizo hili. Pakiti za mwenzake huyo tayari zinakuja kutoka anwani ya umma, kwa hiyo hakuna uwekaji ramani wa kuhifadhi katika mwelekeo unaojalisha. Huongeza trafiki na hakubadilishi chochote.
Soma vipima muda badala ya kukisia kipindi
Keepalive hufanya kazi kwa sababu hufika mara nyingi zaidi kuliko hali inavyoisha. Hilo hufanya muda wa mwisho kuwa nambari unayohitaji kwa kweli, na kwenye Linux inaweza kusomwa kwenye kifaa kinachofanya tafsiri:
sysctl net.netfilter.nf_conntrack_udp_timeout
sysctl net.netfilter.nf_conntrack_udp_timeout_stream
sudo conntrack -L -p udp --dport 51820
Thamani ya kwanza ni muda wa mwisho kwa mtiririko wa UDP ulioonekana upande mmoja tu, na ya pili inatumika baada ya majibu kuonekana. Zote mbili kwa kawaida ni fupi, na uwekaji ramani unaonyamaza utafuata kile kinachotumika kwa mtiririko wako.
Linganisha nambari hiyo na kipindi chako. Keepalive ya sekunde 25 chini ya muda wa mwisho wa sekunde 30 inafanya kazi; keepalive hiyo hiyo chini ya muda wa mwisho wa sekunde 15 haifanyi kazi. Idadi yoyote ya majaribio upya haibadilishi hesabu hiyo. Baadhi ya rauta za watumiaji na kampuni za simu hutumia thamani fupi sana kuliko chaguo-msingi la Linux, ndiyo sababu usanidi unaofanya kazi kwenye mtandao mmoja unashindwa kwenye mwingine.
| 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 |
Kagua kisikilizaji na ngome kila kimoja peke yake
Uwekaji ramani ulio hai ni muhimu na hautoshi. Programu kwenye sanduku la nyumbani lazima isikilize kwenye anwani sahihi, na ngome ya mwenyeji lazima iruhusu pakiti baada ya kufumbuliwa.
sudo ss -lntup | grep 8080
sudo wg show wg0 allowed-ips
curl -sS -m 5 http://10.71.0.2:8080/health
Ikiwa soketi imefungwa tu kwenye anwani ya kiolesura cha kimwili na si kwenye anwani ya handaki, pakiti zinazofika kwenye handaki hutupwa kabla ngome haijaulizwa. Hitilafu hiyo kutoka upande wa wingu inaonekana sawa na tatizo la uwekaji ramani, na inastahimili kila marekebisho ya keepalive.
Ukaguzi wa orodha inayoruhusiwa ni muhimu vile vile upande wa pili. Mwenzake wa wingu lazima aruhusu anwani ya handaki ya nyumbani kama chanzo ikiwa atajibu, na mwenzake wa nyumbani lazima aruhusu anwani ya wingu kama lengwa. Pakiti za keepalive ni trafiki iliyothibitishwa na zinatumia kanuni zile zile, ndiyo sababu keepalive inayoonekana kufanya kazi inaweza kuishi pamoja na programu isiyofanya kazi.
Sambaza mabadiliko na ujue mipaka yake
Tumia mpangilio, anzisha upya kiolesura ikiwa ndiyo njia yako ya kusasisha, kisha rudia jaribio la kutokuwa na shughuli badala ya jaribio la papo hapo. Subiri muda mrefu kuliko muda wa mwisho uliousoma awali, fanya ombi la kinyume na uthibitisha kuwa vihesabu vilisogea pande zote mbili.
Andika kipindi na muda wa mwisho uliopimwa kando yake. Mabadiliko ya baadaye kwenye firmware ya rauta, au kuhamia muunganisho wa simu, yanaweza kubadilisha muda wa mwisho. Kidokezo ndicho kinachomruhusu mtu kupata thamani tena badala ya kuinakili. Nambari mbili kwenye mstari mmoja huokoa uchunguzi mzima baadaye.
Keepalive za kudumu hulinda hali. Hazifungui lango, haziongezi kiingilio kwenye orodha inayoruhusiwa, na hazifanyi kisikilizaji kionekane. Wakati muunganisho wa kinyume haufanyi kazi kabisa, kosa ni moja ya hizo tatu, na mwongozo wa haraka wa WireGuard unaeleza mpangilio wa keepalive kwa maneno hayo hayo mafupi.