AnyConnect erortzen da terminal bat ixtean: saioko egiaztapenak
Linuxerako AnyConnect bezeroak konexioan irekita zeuden saioak gogoratzen ditu eta tunela erortzen uzten du horietako bat ixten denean. Egiaztatu hurrenkera utmp berridatzi aurretik.
Tunela aktibo dago, soberako terminal bat ixten duzu eta VPNa erortzen da bezeroan tekla bat ere sakatu gabe. Linuxerako AnyConnect bezeroan jakinarazitako arrazoia saioen kontabilitatea da, ez bideratzea: bezeroak tunela altxatu zenean zeuden saioak erregistratzen ditu eta horietako edozeinen amaiera hura botatzeko arrazoi gisa hartzen du. Beheko egiaztapenak ordenan exekutatzen dira, eta huts egiten duen lehenak esaten dizu ea jokabide hau ikusten ari zaren. Bezeroaren ohiko irteeran ez da terminalik aipatzen, eta horregatik lehen bulkada, kontzentratzailea erruduntzea, normalean alferrikako ahalegina da.
Ez hasi sistema-fitxategiak editatzen. Urrats bakoitzak erorketa azaltzen du edo hautagai bat kentzen du, eta urrats merkeak lehenago datoz.
Bereizi saio-erorketa azpiko sarearen erorketetatik
Berriz konektatu deskonexioaren ondoren berehala. Segundo batzuetan itzultzen den tunela, sare berean, kredentzial berririk gabe, tokiko eragile bat adierazten du, hala nola itxitako saio bat, eta ez hondatutako uplink bat, Wi-Fi roaming-a edo kontzentratzailean jarduerarik gabeko denbora-muga bat. Connecting aurrean zintzilik geratzen den edo sarez aldatzen ez duzun arte huts egiten duen tunela beste artikulu bat da.
Idatzi tunela altxatu zenean zer zegoen irekita: bezeroa abiarazi zenuen terminala, edozein bigarren shell, saio grafikoaren hasiera eta beste makina batetik zetorren edozein SSH saio. Laster beharko duzu zerrenda hori, eta hurrengo erorketaren ondoren memoriatik berreraikitzea ez da fidagarria.
Egiaztatu bezeroak konexioan zer erregistratu zuen
Bezeroak ez ditu prozesuen gurasoak edo terminalaren jabetza aztertzen. Konexioan zeuden saioen multzoaren argazki bat hartzen du eta geroago multzo hori konparatzen du; kide bat desagertzen denean, konparazioak huts egiten du eta tunela berarekin doa. Horregatik kaltegabea izan daiteke konektatu zinen leihoa ixtea, baina erlaziorik gabeko soberako terminal bat ixteak konexioa hiltzen du: garrantzitsua da saio hori jatorrizko multzoan zegoen ala ez. Egiaztapena multzoen konparazioa da, ez kontaketa, eta horregatik saio bat ordezkatzea hura galtzea bezain larria izan daiteke.
Zerrendatu bezeroak zer ikus zezakeen ezer aldatu aurretik:
who
w
last -n 10
sudo ls -l /run/utmpwho-ren lerro bakoitza erabiltzaile-prozesu sarrera bat da utmp-n. Zure saioa bi aldiz agertzen bada, behin saio grafikoarentzat eta behin terminalarentzat, bi sarrerak zeuden konexioan eta biak dira hautagai.
Kendu soilik zure sarrera propioa utmp fitxategitik
Argitaratutako konponbideak erabiliko duzun saioa ikusezin egiten du utmp-n bezeroa hasi aurretik. C programatxo bat getutent() zeharkatzen du, ut_line sarrera estandarraren TTYarekin bat datorren erregistroa aurkitzen du eta gero erregistro hori berridazten du. Hurrenkera nahitakoa da: setutent(), irakurri sarrera, kopiatu bere ut_id, ezarri ut_type DEAD_PROCESS gisa, garbitu erabiltzaile eta lerro eremuak, idatzi berriro pututline() erabiliz, eta gero endutent().
Konpilatu eta gero exekutatu root gisa bezeroa abiaraziko duen shell-etik:
sudo ./utmpremove && /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.eduHuts egiteko bi moduk esplikatzen dituzte tresnak ezer egiten ez duela dioten txosten gehienak. Sarrera estandarrari lotutako TTYan eragiten du, beraz terminalik gabeko script edo cron lan batetik exekutatzeak ez dio ezer uzten parekatzeko. Eta /run/utmp ezin dute erabiltzaile arruntek idatzi, beraz root gabe exekutatzeak isilka huts egiten du irteera-egoera egiaztatzen ez baduzu.
Egiaztatu tunelak ixtea gainditzen duela
Proba ezazu mekanismoa, suposatu beharrean. Konektatu mantendu nahi duzun saio batetik, ireki bigarren terminal bat, itxi bigarrena, eta gero egiaztatu tunela oraindik aktibo dagoela vpn state erabiliz eta interfazeen zerrendari begirada bat emanez. Tunelak bizirauten badu, eragilea saio mota zehatz bat zen, ez saio guztiak, eta irekita egon behar duen saioa aurkitu duzu.
Oraindik erortzen bada, zaintzen zen saioa beste nonbait zegoen, sarrienetan zure terminala sortu zuen saio grafikoa, eta TTY sarrera bat kentzeak ez du lagunduko. Errepikatu behaketa lehen urratseko zerrenda osoarekin, kirurgia gehiago gehitu beharrean.
Noiz da utmp berridaztea erantzun okerra
utmp partekatutako kontabilitatea da, ez taula pribatua. Oraindik bizirik dagoen saio baten sarrera berridazteak who, w eta auditoretzako tresna batzuek gutxiago erregistratzea eragiten du, eta geroago sarrera bera ixten duen programa bat erabat hutsegitera irits daiteke. Eutsi tresna zure saiora mugatuta, gorde jatorrizko fitxategiaren kopia bat, eta ez bihur ezazu erregistro guztiak kentzen dituen abio-zerbitzu.
Zure erakundeak betetzeagatik saio-kontabilitatea biltzen badu, konponbideak eskakizun horrekin talka egiten du eta onartutako erantzuna bezero bertsio bat edo sarbide metodo desberdin bat da, ez utmp adabakitu bat. Gehiengoarentzat esku-hartze gutxien duen konponketa bezeroa egun osoan irekita egongo den saio batetik abiaraztea eta leiho hura bakean uztea da.
Tiketa itxi aurretik, idatzi bezeroak zein saio zaintzen zuen tunela altxatu zenean. Lerro bakar horrek bihurtzen du deskonexio misteriotsua makinarako hurrengo pertsonarentzat erreproduzigarri den baldintza.