Muunganisho wa kwanza baada ya kuwasha upya hufanya kazi. Kila jaribio baada yake hukwama katika hatua ya kuunganisha na mwishowe muda huisha, na tiba pekee ya kuaminika ni kuwasha upya tena. Mchoro huo si tatizo la wasifu na si tatizo la vitambulisho. Kitu fulani chinichini bado kinashikilia hali ya jaribio lililopita, na jaribio linalofuata linagongana nacho.

Kwenye macOS, kitu hicho kwa kawaida ni daemon wa IKE.

Mchoro: muunganisho mmoja, kisha muda kuisha

Muunganisho unaofanya kazi mara moja hasa kwa kila boot unaonyesha hali inayostahimili kukatika lakini si kuwasha upya. Wasifu hustahimili vyote viwili, hivyo wasifu si kigeugeu. Vitambulisho pia hustahimili vyote viwili, isipokuwa seva ifunge akaunti. Kinachobadilika wakati wa kuwasha upya ni seti ya daemon wanaofanya kazi na soketi wanazoshikilia.

Hilo hupunguza uchunguzi kabla ya kufungua hata kumbukumbu moja. Swali huwa ni mchakato gani unamiliki bandari ya IKE na unadhani unafanya nini.

Daemon wawili, bandari moja

Mfumo huendesha racoon wakati muunganisho unazungumza IKE toleo la 1. Matoleo ya sasa pia huleta iked kwa IKEv2 na tabaka jipya la IPsec. Zote mbili zinaweza kuchukua UDP 500 na UDP 4500, na zote mbili zinaweza kushikilia muungano wa usalama uliofunguliwa nusu baada ya jaribio la muunganisho kughairiwa kwenye kidokezo cha nenosiri au kukatizwa na mabadiliko ya mtandao.

Hilo linapotokea, jaribio linalofuata halianza safi. Hujaribu kujadiliana wakati muungano wa zamani bado unachukua hali ya mwenza, na mabadilishano husimama badala ya kushindwa kwa hitilafu iliyo wazi. Mtumiaji huona kionyeshi kinachozunguka, kisha muda kuisha.

Tafuta mmiliki kabla ya kuua kitu chochote, kwa sababu jibu huamua huduma gani utaanzisha upya na kumbukumbu gani utasoma baadaye.

sudo lsof -i :500 -i :4500
ps -ef | grep -E "racoon|iked"

Soma matokeo kama mambo mawili: mchakato gani unashikilia bandari, na kama wapo zaidi ya mmoja. Daemon wawili wa IKE wanaoshindania soketi moja hufafanua tabia nyingi za vipindi vinavyofanana na seva isiyo imara.

Anzisha upya kazi, si mchakato

Kwenye mifumo ya zamani inatosha kuua mchakato na kuacha muunganisho unaofuata uuanzishe tena. Katika matoleo ya sasa daemon husimamiwa na launchd, na kutuma ishara kwa mchakato pekee kunaweza kuacha kazi katika hali ambayo haifanyi kazi wala haijapangwa kuanza. Badala yake simamisha na uanzishe kazi.

sudo launchctl stop com.apple.racoon
sudo launchctl start com.apple.racoon

Ikiwa launchd haina rekodi ya kazi, kuua mchakato kwa jina bado hulazimisha mazungumzo mapya kwenye jaribio linalofuata. Jaribio ni lile lile katika hali zote mbili: hakuna mchakato unapaswa kushikilia bandari unapojaribu kuunganisha tena. Thibitisha hilo kwa amri hiyo hiyo lsof badala ya kudhani kuwa kuwasha upya kulifanikiwa.

Kisha unganisha mara moja na usome kumbukumbu ya mteja tangu mwanzo. Mazungumzo yanayopita awamu ya 1 kisha kuripoti kushindwa kwa usambazaji yanarudia tatizo la soketi la ndani; mazungumzo yaliyokataliwa na mwenza ni tiketi tofauti kabisa.

Wakati seva ndiyo inayokataa

Si kila muunganisho wa pili unashindwa ndani. Seva inaweza kukataa kuingia mpya kwa dirisha maalum baada ya kukatika, na muda kuisha kwa mteja huonekana sawa kabisa na daemon aliyekwama. Tofauti ni rahisi: ikiwa kuanzisha upya daemon hakusaidii lakini akaunti nyingine inaunganisha mara moja, dirisha liko upande wa seva na Mac haikuwa tatizo kamwe.

Sera ya handaki iliyogawanywa hutoa umbo lile lile kutoka upande mwingine. Seva inayodai trafiki yote ndani ya handaki itamtupa mteja aliyesanidiwa kwa handaki iliyogawanywa wakati wa mazungumzo, na mteja huripoti muda kuisha badala ya kukataliwa kwa sera. Kubadilisha wasifu ili kila kitu kipite ndani ya handaki kunaweza kumfanya aunganishe, lakini hilo ni uamuzi wa sera wa kufanywa na mmiliki wa mtandao, si ukarabati wa kutumika kimyakimya.

Soma kumbukumbu ya mwenza kabla ya kubadilisha mteja tena. Kukataliwa, kutokulingana kwa sera na kutupwa kimyakimya ni sababu tatu tofauti ambazo kwenye skrini ya Mac zote zinaonekana kama “inaunganisha”.

Wateja wa zamani na kerneli ya 64-bit

Mteja wa zamani wa Cisco IPSec hupakia kiendelezi cha kerneli kilichojengwa kwa mifumo ya 32-bit na PowerPC. Kwenye Mac iliyowashwa katika kerneli ya 64-bit, kiendelezi hicho hakiwezi kupakiwa, na mteja hushindwa mapema kwa hitilafu 51 kwa sababu haifikii kabisa mfumo mdogo wa VPN. Idadi yoyote ya kuanzisha upya daemon haitengenezi kiendelezi cha kerneli chenye usanifu mbaya.

Kupakia kiendelezi tena kunaweza kufanya kazi kwa muda kisha kushindwa tena kwenye boot inayofuata. Majibu ya kudumu ni kuendesha kerneli ya zamani pale inapoungwa mkono, au kuhamia mteja aliyejengwa ndani anayekuja na mfumo. Angalia usanifu kabla ya kutumia jioni kwa mteja wa mtu wa tatu asiyeweza kupakiwa.

  • Zalisha mara moja, kisha angalia daemon gani anamiliki UDP 500 kabla ya kugusa wasifu.
  • Soma kushindwa kwa kwanza baada ya awamu ya 1: hitilafu ya usambazaji inaelekeza kwenye soketi ya ndani.
  • Anzisha upya kazi ya launchd, si mchakato pekee, na thibitisha kuwa bandari iko huru.
  • Jaribu akaunti ya pili ili kutenganisha dirisha la uthibitishaji upya upande wa seva na hitilafu ya mteja.
  • Andika usanifu wa kerneli kabla ya kulaumu mteja.

VPN inayofanya kazi mara moja hasa ni tatizo la hali hadi kinyume chake kithibitishwe. Kusafisha daemon ni haraka kuliko kuwasha upya, na huhifadhi ushahidi wa kumbukumbu ambao kuwasha upya kungetupa.

Makala zinazohusiana