SNX na Linuxu: 32-bitne biblioteke i resolver koji se resetuje
SNX na Linuxu pada na loaderu, tabeli ruta ili resolveru, i svaki od tih kvarova izgleda kao problem s prijavom. Obradite četiri simptoma po redu.
Check Pointov SSL Network Extender pada na Linuxu na četiri prepoznatljiva načina, a tri se od njih pogrešno čitaju kao problem s prijavom. Ili se binarni fajl ne pokreće, ili se pokrene i ne ostavi rutu, ili se poveže i razrješavanje imena umre, ili portal u pregledniku radi a komandna linija ne. Obradite ih tim redom, jer je svaki uslov ulaza za sljedeći.
Simptom prvi: loader odbija prije prijave
Instalater povučen s firewall-a stavlja 32-bitni binarni fajl sa setuid-root u /usr/bin/snx. Na 64-bitnoj distribuciji ne radi dok se ne omogući arhitektura i386 i dok ne postoje biblioteke s kojima se linka.
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libstdc++5:i386 libstdc++6:i386 libx11-6:i386 libpam0g:i386
ldd /usr/bin/snx | grep "not found"Prazna lista not found je kapija za sve nakon nje. Tačan skup paketa se mijenja između izdanja: jedan radni izvještaj je tražio libstdc++5:i386, libx11-6:i386 i libpam0g:i386, drugi je tražio i libstdc++6:i386. Čitajte ldd umjesto da kopirate listu paketa iz tutorijala pisanog za drugu distribuciju.
Ako snx uopće nije pronađen, instalater nikad nije završio ili se instalirao negdje izvan vašeg PATH-a. To je druga vrsta kvara i vrijedi je potvrditi prije nego dodate arhitekture u sistem. Provjerite s command -v snx i pogledajte u direktorij koji je instalater prijavio. Dodavanje i386 paketa na mašinu na kojoj binarni fajl jednostavno ne postoji ne popravlja ništa.
Simptom drugi: prijava uspije a ništa se ne rutira
Uspješna prijava stvara tunsnx i sama uređuje tabelu ruta, pa provjerite šta stvarno postoji prije nego promijenite bilo šta drugo.
ip -br addr show tunsnx
ip route | grep tunsnx
snx -dKoristite snx -d za rastavljanje. Ubijanje procesa ostavlja interfejs i njegove rute za sobom, a sljedeći pokušaj onda pada zbog razloga koji nema veze s akreditivima. Prva prijava takođe upisuje potpis servera pod /etc/snx/, zbog čega nenadgledana skripta može trebati jedno interaktivno pokretanje prije nego uopće proradi. Brišite to stanje samo kad namjeravate ponovo odobriti server.
Simptom treći: imena se razrješavaju dok se tunel ne podigne
Ovo je onaj koji tiho puca. snx upisuje gurnute DNS servere direktno u /etc/resolv.conf. Gdje je ta putanja simbolički link u /run/systemd/resolve/, izmjena se može izgubiti pri sljedećem događaju resolvera, a nakon prekida gurnuti unosi mogu jednako tako ostati.
Dva uređenja rade, a izbor treba biti namjeran, a ne ono što je predložio prvi rezultat pretrage:
- Preuzmite fajl: zamijenite simbolički link statičkim fajlom i instalirajte
libnss-resolveplus njegovu i386 varijantu, da imenska služba i dalje ima rezervu kad se fajl prepiše ispod nje. - Zadržite systemd-resolved kao vlasnika i registrujte link tunela:
resolvectl dns tunsnx 10.0.0.10, paresolvectl domain tunsnx corp.example, i potvrdite sresolvectl status.
Zapišite DNS servere prije VPN-a prije povezivanja. Ako fajl uređujete ručno, uklanjanje gurnutih unosa poslije je dio procedure, a ne opcionalno čišćenje, jer laptop koji zadrži korporativni DNS nakon prekida neće moći razriješiti ništa drugo.
Simptom četvrti: portal radi a CLI ne
Novija izdanja firewall-a premjestila su middleware iz preglednika u lokalni Java daemon, pa portal razgovara s lokalnim agentom na portu 14186. Ta adresa treba izuzetak za certifikat u pregledniku i proces koji radi.
ps ax | grep cshell
/usr/bin/cshell/launcherKomandna linija je odvojena putanja: snx -s vpn.example.com -u user, a ~/.snxrc čuva server, korisničko ime i postavku ponovne autentifikacije. Radna sesija portala ne govori ništa o tome je li CLI ispravno instaliran, a goli klijent ne obrađuje jednokratne kodove.
Skraćenica s kontejnerom koja košta više nego što štedi
snx provjerava modul tun, učitava ga kad ga nema, stvara interfejs tunela, prepisuje rute i pušta promet kroz njega. Reproduciranje toga unutar kontejnera znači montirati /dev i /lib/modules i dati široke mogućnosti, što kontejneru predaje većinu mrežne administracije hosta.
Kad je pješčanik zaista potreban, virtualna mašina je čistija granica: klijent dobije kernel koji smije mijenjati, a host zadrži svoju tabelu ruta. Odaberite to prije nego potrošite popodne na mogućnosti koje ćete zažaliti što ste dali.