Ass de Proxy nach ëmmer op der aler Tunneladress no enger VPN-Neiverbindung?
Eng Neiverbindung kann de Forwarder un eng Adress bannen, déi den Tunnel net méi huet. Véier geuerdnete Kontrollen, eng numeréiert Iwwergab an eng richteg Testufro.
De VPN-Client nei starten beweist nëmmen, datt den Tunnel zréck ass. Et seet näischt iwwer de Proxy, deem gesot gouf, duerch hien erauszegoen. Squid, tinyproxy an déi meescht aner Forwarder halen déi lokal Quelladress, déi si beim Start fonnt hunn, bis eppes se zwéngt, nei ze lueden. Wann eng Neiverbindung eng nei Tunneladress vergëtt, fällt de Forwarder bei all erausgehender Verbindung aus, oder hien fänkt un, iwwer Är gewéinlech Route erauszegoen.
Déi zweet Ausfallass ass déi geféierlech: den Tunnel steet, Säite lueden, an nëmmen d'Erausgondsadress ass falsch.
Fänkt mam Lauschterer un, net mam Tunnel
Dräi Adressen sinn am Spill, an eng Neiverbindung verréckelt nëmmen der e puer. De Lauschterer ass do, wou Äre Browser hivirstrécht, meeschtens 127.0.0.1 oder eng LAN-Adress, an et ass him egal, datt den Tunnel geännert huet. Déi erausgehend lokal Quell ass dat, wat de Forwarder de Kernel freet ze benotzen, wann hien de nächste Sprong undeet, an si ass un den Tunnelapparat gebonnen. Den ëffentlechen Erausgang ass dat, wat e Webserver protokolléiert, an et kann eng iwwersat Adress sinn, e puer Spréng wäit.
Eng Sich no der ëffentlecher IP beäntwert nëmmen déi lescht Fro. Si kann Iech net soen, un wéi eng lokal Adress de Forwarder sech binde soll, well een ëffentlechen Erausgang e puer intern Quelle verstoppe kann. Liest d'Adress bei deem, deen d'Verbindung huet: de Statusausgang vum Client, den Interface selwer oder den Nummraum, wou den Tunnel lieft. Déi éischt Interface ze gräifen, deenen hiren Numm wéi en Tunnel ausgesäit, gëtt déi falsch Äntwert, soubal en zweete Profil existéiert.
Container- an Nummraum-Layouten briechen dës Unnam souguer stëll. E Forwarder an engem Netzwierk-Nummraum kann net un en Tunnel bannen, deen an engem aneren existéiert, a keng Config-Ännerung reparéiert dat.
Véier Kontrollen, ier Dir eppes ännert
Schafft se der Rei no of. Déi éischt Kontroll, déi ausfällt, ass d'Plaz wou Dir ophält, well déi spéider unhuelen, datt déi fréier gëllen.
- Bestätegt, datt den Tunnel an der Notzung de Profil ass, ronderëm deen de Proxy gebaut gouf, net en zweete Profil, deen sech selwer verbonnen huet.
- Dréckt d'Adress, déi elo op deem Apparat ass, a vergläicht se mat der Adress an der lafender Konfiguratioun.
- Frot de Forwarder, wéi eng Quell hien opgeléist huet, anstatt wat d'Datei um Disk behaapt.
- Bestätegt, datt den Trafik vum Forwarder wierklech ënner der Routing- a Firewallpolitik steet, déi Dir erwaart.
D'Apparatadress ass einfach: ip -4 addr show dev tun0 dréckt déi aktuell, an ip -4 route get 1.1.1.1 weist, wéi eng Interface de Kernel fir dat Zil wielen géif. E Forwarder, deen eng exakt Adress bindt, fällt haart aus, wann d'Adress verschwënnt. E Forwarder, deen en Apparat bindt oder op d'Standardquell zréckfällt, schafft weider a leet, an dat ass d'stëll Resultat.
Passt d'Dokumentatioun op d'Verëffentlechung un, déi Dir ausféiert, net op dat iewescht Sichresultat. Dem Squid seng Direktiv fir d'Erausgondsadress ass fir v7 a fréier dokumentéiert, an d'v8-Dokumentatioun seet kloer, datt d'Direktiv do net verfügbar ass, also iwwerlieft e Skript, deen dorëmmer gebaut ass, déi Grenz net (kuckt d'Squid tcp_outgoing_address Referenz). Validéiert mam Produkt sengem eegene Parser, ier eppes nei geluede gëtt: squid -k parse mellt Feeler a goung eraus, ouni de lafende Prozess unzepaken.
Nummeréiert all Tunnel a verwerft veraltete Wiesselen
Eng Neiverbindung ass eng Iwwergab, an Iwwergaben brauchen eng Reihenfolg. Markéiert all observéiert Verbindung mat engem Compteur oder Zäitstempel, dee bei all erfollegräicher Etabléierung klëmmt, an drot déi Markéierung dann an der Kandidatkonfiguratioun. Wann d'Markéierung op engem Kandidat méi al ass wéi déi aktuell, verwerft de Kandidat, amplaz hien unzewennen, well en luesen Update, dee fir den viregen Tunnel geschriwwe gouf, soss d'Astellunge vum aktuelle géif iwwerschreiwen. Fasst Bursts vun Evenementer zesummen, sou datt eng flackernd Verbindung een Iwwergang gëtt an net fofzéng.
Setzt d'Aarbecht a véier Beweegungen: annuléiert den ale Erausgangszoustand, waart, bis den Eegentümer vun der Verbindung d'Fäerdegstellung mellt, baut nëmmen de geréierte Fragment, an dann validéiert an aktivéiert iwwer de Servicemanager. De ganzen Datei aus zwee Adresswäerter nei ze generéieren ass de Wee, wéi Lauschterer-Beschränkungen, Authentifikatioun an Zilpolitik stëll verschwannen. Respektéiert och en absichtleche Stop. En Hëllefer, dee weider en Tunnel undeeet, deen de Benotzer ausgeschalt huet, ass e Feeler, net Widderstandsfäegkeet.
Op Sockets wäerten déi nei Adress net verfollegen
De Forwarder nei konfiguréieren seet näischt iwwer Verbindungen, déi schonn etabléiert sinn. Ob se oflafen oder stierwen, hänkt vum Produkt of, also observéiert d'Verhalen, amplaz et unzehuelen.
Eng Ufro, déi iwwer en Socket zerwéiert gëtt, deen virum Wiesselen opgemaach gouf, geet nach ëmmer iwwer den ale Wee eraus, och wann déi nei Konfiguratioun richteg ass. Wann dat zielt, entscheet explizit: erlaabt eng kuerz Oflaf-Fënster a stoppt nei Aarbecht unzehuelen, oder schléisst déi al Sockets a akzeptéiert d'Feeler. Test dann mat enger neier Verbindung a haalt dëst Resultat getrennt vun der Oflafkontroll. Quellbindung ass och keng Sécherheetsgrenz. Wann den Trafik ni déi gewéinlech Route dierf beréieren, erzwéngt et mat Markéierungen a Firewallregelen, DNS an IPv6 abegraff, sou datt en domm geluedenen Neistart de Proxy explizit erof léisst amplaz op.
Beweist den neien Erausgang mat enger neier Ufro
Wat zielt ass eng Ufro, déi no der Aktivéierung opgemaach gouf, net e Ping an net eng Säit, déi schonn am Cache war. Frot de Proxy no enger richteger URL a liest d'Erausgondsadress, déi déi wäit Säit mellt, an vergläicht se dann mat der Siicht vum Client op den Tunnel, wann de Provider eng ubidet.
Haalt d'Parsen, den Neistart an d'Ufro als getrennt Kommandoen, sou datt en Ausfall op een eenzege Schrëtt weist. Déi éischt zwou änneren näischt, wann se ausfalen, an dofir lafen se just virum Neistart.
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.comWann den Neistart ausfällt, stoppt den Service a reparéiert de Fragment; e Proxy, deen mat engem veralteten Erausgang zerwéiert, ass schlimmer wéi eng kuerz Ënnerbriechung. Wann den Neistart geléngt, awer déi nei Ufro nach ëmmer iergendwou onerwaart erausgeet, gitt zréck op d'Routingkontroll, amplaz d'Adressen nach eng Kéier ze änneren. Notéiert d'Tunnelgeneratioun, géint déi Dir validéiert hutt, sou datt déi nächst Neiverbindung eppes Konkretes zum Vergläiche huet.