OpenConnect kin de tunnelhandshake foltôgje en jo dochs sûnder rûte nei it privee subnet litte, om't de kliïnt en de helper dy't de lokale netwurksteat feroarje twa ferskillende programma's binne. Autentikaasje bewiist dat it gateway de sesje akseptearre hat; it bewiist neat oer hokker ynterface, rûtes of resolver-ynstellings dernei ynstallearre waarden. De measte betiizjende rapporten komme fan it ferfangen fan 'e helper troch in kopy út in âld antwurd, wat it gedrach foar elke ferbining op 'e masine feroaret. Fyn de helper dy't de rinnende kliïnt echt opropt foar't jo der wat oan feroarje.

Twa programma's, twa ferantwurdlikheden

De kliïnt besit ferfier, autentikaasje en it tunnelapparaat. In aparte helper besit wat der op it lokale systeem bart as de tunnel bestiet: adressearring op 'e ynterface, rûtes foar de subnetten dy't it gateway oankundige hat, en resolver-konfiguraasje. De dokumintaasje fan 'e OpenConnect-helper beskriuwt dy skieding en de omjouwing dy't de helper krijt. It ferskil is fan belang by in flater, want in wegere wachtwurd en in ûntbrekkende rûte binne net itselde foarfal, sels as it buroblêd ien dialooch foar beide lit sjen.

Dizze skieding yn 'e holle hâlde ferklearret ek wêrom't in ferbining sukses melde kin wylst privee nammen noch altyd net oplosse. De tunnel is yn beide gefallen omheech, en allinnich de lokale yntegraasjefaze ferskilt.

Fyn de helper dy't de rinnende kliïnt brûkt

It paad wurdt fêststeld as it pakket boud wurdt en kin by elke oanrop oerskreaun wurde, dus it bestân dat jo fan in oare distribúsje kenne, hat miskien neat mei dizze ferbining te meitsjen. Freegje it rinnende proses, net de dokumintaasje dy't jo tafallich iepen hawwe.

openconnect --version
ps -o args= -C openconnect
dpkg -L openconnect | grep -i script
ls -l /etc/vpnc/ 2>/dev/null

As de prosesrigel in --script argumint hat, wint dat bestân fan 'e kompilearre standert. Aldere paden lykas /etc/vpnc/vpnc-script kinne bestean en dochs ûnbrûkt bliuwe, en dêrom feroaret it wiskjen of bewurkjen derfan neat op in nijere bou. Sjoch ek nei de wizigingsdatum, want in helper dêr't jierren nimmen oan kommen is, is in sterk teken dat de ferpakke standert it wurk docht.

NetworkManager-yntegraasje is in tredde eigner, mei syn eigen helper en syn eigen profile-ynstellings. In twadde rûte- of resolverskript boppe dy yntegraasje lizze duplikearret rûtes en lit in resolver efter dy't twa programma's beide beweare te behearen. Kies ien eigner per ferbining en skeakelje de oare út foar't jo testen.

Lês de earste mislearre operaasje, net de lêste warskôging

Ynterface-konfiguraasje, rûte-ynstallaasje, resolverkar en it opromjen fan ferâldere steat binne aparte stappen, en de warskôging dy't lêst printe wurdt is faak in oprommerkleed en net de flater dy't de ferbining bruts. Lês omheech oant de earste konkrete operaasje dy't mislearre. In helperflater dy't in bestân of in adres neamt, is mear wurdich as tsien rigels oprommelawwaai.

Fergelykje it bedoelde lokale resultaat mei it waarnommen iene: it tunnelapparaat bestiet, in rûte nei in bekend privee adres giet der trochhinne, en de resolver antwurdet foar in privee namme. In helper dy't de earste twa slagget en by de tredde mislearret, wiist op resolverbelied en net op routing. In helper dy't it apparaat hielendal net konfigurearret, waard wierskynlik nea útfierd, en dat is in fraach fan tastimmingen en net fan netwurk. Befêstigje de útfierbere bit en it tsjinstakkoart foar't jo logika oerskriuwe.

Ferifiearje ferbinen, opnij ferbinen en ôfbrekke

Ynstelling is mar de helte fan it kontrakt, want deselde helper moat de steat dy't er besit werstelle of ferwiderje as de tunnel slút. In helper dy't rûtes taheakket en se nea fuorthellet, lit de masine mei in ferâldere paad dat de sesje oerlibbet.

ip -brief address show tun0
ip route get 10.24.8.15
resolvectl status tun0
journalctl -u NetworkManager -b --no-pager | grep -i -E 'vpnc|script'

Fier de earste trije út wylst jo ferbûn binne, ferbrek, en fier se dan wer út en befêstigje dat de rûte en de resolver-yngong fuort binne. De fjirde rigel lit sjen oft de helper oeral oproppen waard en hokker útfierber paad de tsjinst brûkte. Bewarje dat pear útfier yn it ticket, want it foar-en-nei is wat in opromflater dúdlik makket.

Hâld de helper ferpakt en útfierber troch it tsjinstakkoart, want in skript dat yn jo shell rint, kin dochs wegere wurde ûnder in beheind tsjinstbelied. As in oanpassing echt nedich is, dokumintearje it doel en de eigner en fergelykje it by elke upgrade mei de ferpakke ferzje. In ûnferklearre fork fan in helper is ien fan 'e pear dingen dy't in wurkjende ferbining in jier letter mislearje litte kinne.

Relatearre artikelen