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 ovisnost sustavom koji više ne odgovara vlastitoj bazi paketa. Neuspjelo pokretanje pitanje je 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 točno kaže koji je objekt učitavač htio.

Tako i razdvajate dvije obitelji kvarova. Nedostajući dijeljeni objekt problem je pakiranja 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 stoga. 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 navika je koju vrijedi napustiti.

Ako host doista 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 izvan 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 stog za programe koji to nikad nisu tražili.

Podržani put je dokumentirani izvor paketa i njegovo rješavanje ovisnosti za toč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 snimka je jednog para izdanja, a ne jamstvo 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 se kvar pojavljuje 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 duplicira.

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 usmjeravanja. Ako vam treba podrška dobavljača, zabilježite prvi korisni događaj pokretanja umjesto snimke zaslona 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, popravak je podržani par, a ne novi lov na biblioteke.

Povezani članci