It opnij starten fan de VPN-klant bewiist allinnich dat de tunnel werom is. It seit neat oer de proxy dy't sein waard dat er der trochhinne gean moast. Squid, tinyproxy en de measte oare trochstjoerders hâlde it lokale boarne-adres fêst dat se by it opstarten fûn hawwe, oant eat har twingt om opnij te laden. As in werferbining in nij tunneladres jout, falt de trochstjoerder by elke útgeande ferbining ôf, of hy begjint troch jo gewoane rûte te gean.

Dat twadde falen is it gefaarlike: de tunnel stiet, siden lade, en allinnich it útgongsadres is ferkeard.

Begjin by de lústerder, net by de tunnel

Trije adressen binne yn spul, en in werferbining ferpleatst mar guon derfan. De lústerder is wêr't jo browser nei wiist, meastentiids 127.0.0.1 of in LAN-adres, en it kin him net skele dat de tunnel feroare is. De útgeande lokale boarne is wat de trochstjoerder it kearn freegje lit by it kiezen fan de folgjende hop, en dy is bûn oan it tunnelapparaat. De iepenbiere útgong is wat in webserver logt, en dat kin in oerset adres wêze ferskate hops fierder.

In syktocht nei it iepenbiere IP beantwurdet allinnich de lêste fraach. It kin jo net fertelle oan hokker lokaal adres in trochstjoerder bine moat, want ien iepenbiere útgong kin ferskate ynterne boarnen ferbergje. Lês it adres by wa't de ferbining hat: de statusútfier fan de klant, de ynterface sels, of de nammromte dêr't de tunnel yn libbet. It earste ynterface pakke dat syn namme op in tunnel liket, jout it ferkearde antwurd sadree't der in twadde profyl bestiet.

Kontener- en nammromte-yndielings brekke dy oanname stil. In trochstjoerder yn ien netwurk-nammromte kin gjin tunnel bine dy't yn in oare bestiet, en gjin hoemannichte konfiguraasjeredaksje makket dat goed.

Fjouwer kontrôles foardat jo eat bewurkje

Wurkje se yn oarder ôf. De earste kontrôle dy't falt is wêr't jo stopje, want de lettere geane derfan út dat de eardere jilde.

  1. Befêstigje dat de tunnel yn gebrûk it profyl is dêr't de proxy omhinne boud is, net in twadde profyl dat himsels ferbûn hat.
  2. Print it adres dat no op dat apparaat stiet en fergelykje it mei it adres yn 'e rinnende konfiguraasje.
  3. Freegje de trochstjoerder hokker boarne er fûn hat, ynstee fan wat it bestân op skiif beweart.
  4. Befêstigje dat ferkear fan de trochstjoerder echt ûnder it rûtebelied en firewallbelied falt dat jo ferwachtsje.

It apparaatadres is maklik: ip -4 addr show dev tun0 print it hjoeddeiske, en ip -4 route get 1.1.1.1 lit sjen hokker ynterface it kearn foar dy bestimming kieze soe. In trochstjoerder dy't in presys adres bynt, falt lûd as it adres ferdwynt. In trochstjoerder dy't in apparaat bynt, of weromfalt op 'e standertboarne, bliuwt wurkjen en lekt, en dat is de stille útkomst.

Mekke de dokumintaasje by de ferzje dy't jo draaie, net by it heechste sykresultaat. De direktive foar útgeand adres fan Squid is dokumintearre foar v7 en earder, en de v8-dokumintaasje seit dúdlik dat de direktive dêr net beskikber is, dus in skript dat dêromhinne boud is, oerlibbet dy grins net (sjoch de Squid tcp_outgoing_address-referinsje). Falidearje mei de eigen parser fan it produkt foardat eat opnij laden wurdt: squid -k parse rapportearret flaters en einiget sûnder it rinnende proses oan te reitsjen.

Nûmerje elke tunnel en smyt ferâldere wikselings fuort

In werferbining is in oerdracht, en oerdrachten hawwe in oarder nedich. Markearje elke waarnommen ferbining mei in teller of tiidstimpel dy't by elke slagge oanlis tanimt, en drage dy markearring dan yn 'e kandidaatkonfiguraasje. As de markearring op in kandidaat âlder is as de hjoeddeiske, smyt de kandidaat dan fuort ynstee fan him ta te passen, want in stadige bywurking skreaun foar de foarige tunnel soe oars de ynstellings fan 'e hjoeddeiske oerskriuwe. Foegje bursts fan eveneminten gear sadat in flodderjende keppeling ien oergong jout ynstee fan fyftjin.

Oarderje it wurk yn fjouwer bewegingen: meitsje de âlde útgongsstatus ûnjildich, wachtsje oant de eigner fan de ferbining foltôging rapportearret, bou allinnich it behearde fragmint, falidearje en aktivearje dan fia de tsjinstbehearder. De hiele triem opnij generearje út twa adreswearden is hoe't beheiningen fan de lústerder, autentikaasje en bestimmingsbelied stil ferdwine. Respectearje ek in bewuste stop. In helper dy't trochgiet mei in tunnel dy't de brûker útskeakele hat, is in flater, gjin fearkrêft.

Iepen sockets sille it nije adres net folgje

It opnij konfigurearjen fan de trochstjoerder seit neat oer ferbiningen dy't al oanlein binne. Oft se leegje of stjerre hinget fan it produkt ôf, dus observearje it gedrach ynstee fan it oan te nimmen.

In oanfraach betsjinne oer in socket dy't iepene is foar de wikseling giet noch altyd troch it âlde paad, sels as de nije konfiguraasje goed is. As dat útmakket, beslute dan eksplisyt: lit in koart leegjefinster ta en stopje mei it opnimmen fan nij wurk, of beëinigje de âlde sockets en akseptearje de flaters. Test dan mei in nije ferbining en hâld dat resultaat apart fan 'e leegjekontrôle. Boarnebining is ek gjin feilichheidsgrins. As ferkear nea de gewoane rûte reitsje mei, twing it dan ôf mei markearrings en firewallregels, DNS en IPv6 ynbegrepen, sadat in mislearre opnij laden de proxy eksplisyt del lit ynstee fan iepen.

Bewiis de nije útgong mei in nije oanfraach

Wat útmakket is in oanfraach dy't nei de aktivaasje iepene is, net in ping en net in side dy't al yn 'e cache siet. Freegje de proxy om in echte URL en lês it útgongsadres dat it fiere ein rapportearret, en fergelykje it dan mei de eigen werjefte fan de klant fan de tunnel as de oanbieder ien toant.

Hâld it parsen, it opnij laden en de oanfraach as aparte kommando's sadat in flater nei ien stap wiist. De earste twa feroarje neat as se fale, en dêrom rinne se krekt foar de werstart.

squid -k parse
sudo squid -k reconfigure
curl -x http://127.0.0.1:3128 -sS -o /dev/null -w '%{http_code} %{remote_ip}\n' https://example.com

As it opnij laden falt, stopje de tsjinst en reparearje it fragmint; in proxy dy't betsjinnet mei in ferâldere útgong is slimmer as in koarte ûnderbrekking. As it opnij laden slagget mar de nije oanfraach giet noch earne ûnferwachts út, gean dan werom nei de rûtekontrôle ynstee fan adressen opnij te bewurkjen. Skriuw de tunnelgeneraasje op dêr't jo tsjin falidearre hawwe, sadat de folgjende werferbining eat konkreets hat om mei te fergelykjen.

Relatearre artikelen