Instalirali ste paket AWS Client VPN na Ubuntuu, pokrenuli ga i dobili grešku učitavača o nedostajućoj dijeljenoj biblioteci prije nego što je ijedan profil pročitan. Prva pomisao je uzeti tu biblioteku iz starijeg izdanja i nastaviti. To obično zamijeni jednu pokvarenu zavisnost sistemom koji više ne odgovara vlastitoj bazi paketa. Neuspjelo pokretanje je pitanje granice podrške, a ne mreže.

Greška imenuje biblioteku, a ne mrežu

Desktop VPN klijent mora učitati svoj runtime prije nego što uopće pogleda vaš profil ili endpoint. Kada dinamički učitavač ne može razriješiti simbol, proces umire u prvoj sekundi i prozor se nikad ne pojavi. Nikakvo uređivanje profila, rad na DNS-u ni promjene ruta ne dosežu tu fazu. Čitajte poruku doslovno, jer vam tačno kaže koji je objekt učitavač htio.

Tako i razdvajate dvije porodice kvarova. Nedostajući dijeljeni objekt je problem pakovanja na vašem hostu, dok je odbijanje autentifikacije odluka na strani usluge koja dolazi mnogo kasnije u slijedu.

Oba završavaju prozorom koji se zatvara, zato se u prijavama grešaka brkaju.

Prekidači globalizacije su drugi problem

Greške koje spominju ICU ili globalizaciju dolaze iz .NET runtime-a ispod nekih buildova klijenta, a ne iz TLS steka. Postavljanje prekidača nepromjenjive globalizacije mijenja kako taj runtime obrađuje podatke o kulturi i ne isporučuje nedostajući libssl. Primjena toga da ušutkate TLS grešku ostavlja vam klijent koji se pokrene i onda padne negdje drugdje.

Držite to dvoje u odvojenim kutijama: jedno mijenja ponašanje runtime-a, drugo zadovoljava linker. Posezanje za prvim kada imate drugo je navika koju vrijedi napustiti.

Ako host zaista ne može pružiti potrebni runtime, podržani odgovor je drugi host, a ne izmijenjeni.

Zašto uvoz starog OpenSSL-a pravi štetu

Kopiranje libssl i libcrypto iz starije distribucije u /usr/lib radi dovoljno često da bude primamljivo. Ono i stavlja biblioteku van kontrole upravitelja paketa, pa je svako kasnije sigurnosno ažuriranje ili promaši ili se s njom sudari. Na hostu koji pokreće i preglednik ili SSH klijent, promijenili ste kriptografski stek za programe koji to nikad nisu tražili.

Podržani put je dokumentirani izvor paketa i njegovo rješavanje zavisnosti za tačno vaše izdanje OS-a i arhitekturu. Provjerite zahtjeve za AWS klijent na Linuxu i napomene uz izdanje za verziju koju instalirate, jer se matrica podrške mijenja između izdanja.

Staro rješenje s foruma je snimak jednog para izdanja, a ne garancija kompatibilnosti.

Sačuvajte dobavljačevu definiciju usluge

Neki vodiči daju vam minimalnu systemd jedinicu da zamijeni pakiranu. Ta jedinica obično odbacuje argumente, postavke ojačanja i integraciju koju je dobavljač kasnije dodao, a nastali kvar pojavljuje se negdje gdje ga nećete povezati s uređivanjem.

Ako vam treba promjena, umjesto toga upotrijebite drop-in: malu datoteku zamjene u .d direktoriju jedinice koja dodaje ili zamjenjuje jednu direktivu, s komentarom zašto postoji i kako je poništiti. Dobavljačeva datoteka ostaje netaknuta, a sljedeće ažuriranje paketa niti tiho poništava vaš rad niti ga duplira.

Zapišite putanju zamjene u svoje bilješke, jer će sljedeći administrator prvo tamo pogledati.

Dokažite pokretanje prije nego što otklanjate rute

Neka se klijent pouzdano pokreće s odobrenim profilom, zatim se prijavite, zatim potvrdite tunel i tek onda pogledajte rute, DNS i privatne resurse. Svaka faza daje svoj dokaz, a njihovo miješanje čini da problem runtime-a izgleda kao problem rutiranja. Ako vam treba podrška dobavljača, zabilježite prvi korisni događaj pokretanja umjesto snimka ekrana prozora koji se zatvara.

Nikada ne prilažite privatni ključ ni cijeli profil s ugrađenim vjerodajnicama kao dijagnostički materijal.

Jedno pitanje rješava većinu ovih tiketa: je li instalirana verzija klijenta još podržana na ovom izdanju OS-a? Ako nije, popravka je podržani par, a ne novi lov na biblioteke.

Povezani članci