Adresa e partnerit ndryshoi në mes të sesionit: çfarë bën float në OpenVPN
float lejon një partner të vërtetuar të ndryshojë adresën e tij të jashtme në mes të sesionit. Ai nuk zbulon pika fundore, nuk rihap një lidhje të vdekur dhe nuk i kalon kontrollet e identitetit.
Laptopi kalon nga Wi-Fi i zyrës në një hotspot telefoni, tuneli qëndron edhe disa sekonda, dhe pastaj trafiku ndalet ndërsa ndërfaqja vazhdon të pohojë se është e lidhur. Në server, lista e statusit vazhdon të tregojë adresën e vjetër publike. Kjo është situata për të cilën ekziston float, dhe njëkohësisht situata ku njerëzit presin shumë më tepër prej tij sesa bën. Kuptimi i saktë i kufirit e kthen një bllokim konfuz ose në një ndryshim konfigurimi prej një rreshti, ose në një hetim krejt tjetër.
Çfarë lehtëson float dhe çfarë nuk lehtëson kurrë
Zakonisht një sesion vazhdon të flasë me adresën dhe portin e jashtëm me të cilin filloi, dhe paketat që vijnë nga kudo tjetër injorohen. Opsioni float heq atë lidhje të rreptë pasi partneri tashmë e ka vërtetuar veten, kështu që një hartëzim burimi i ndryshuar mund të vazhdojë të njëjtin sesion në vend që të hidhet. Asgjë në kontrollet kriptografike nuk ndryshon: çelësat, certifikatat dhe çdo mbrojtje HMAC mbeten saktësisht siç janë konfiguruar.
Ky është një vendim për çdo paketë, jo një politikë për kë mund të lidhet. Një makinë e panjohur që dërgon një paketë nga një adresë e re nuk ka provuar asgjë, dhe paketa e saj hidhet si çdo trafik tjetër i pavërtetuar. Vetëm trafiku që kalon vërtetimin e vetë sesionit mund të lëvizë adresën e regjistruar të partnerit, dhe për këtë arsye është e sigurt të lihet float i ndezur në mjedise ku klientët lëvizin.
Nuk thotë asgjë as për tunelin e brendshëm. Një adresë e jashtme e lëvizur nuk riakordon një adresë tuneli, nuk ndryshon grupin dhe nuk i jep partnerit akses në diçka të re. Brenda tunelit, i njëjti identitet dhe të njëjtat rrugë të shtyra zbatohen para dhe pas lëvizjes. Lëvizja nuk rinegocion as kanalin e të dhënave, kështu që shifrimi dhe çelësat e negociuar vazhdojnë.
Paketa që lëviz një sesion duhet të vërtetohet
Filloni një sesion në mënyrën e zakonshme kundrejt skajit të largët të konfiguruar, dhe float kujdeset për atë që ndodh kur hartëzimi ndryshon. Një operator celular që rinumeron në mes të rrjedhës, një portë NAT që rishkruan hartëzimin e portës së saj, ose një laptop që ndryshon lidhjen e sipërme të gjitha prodhojnë të njëjtën formë: paketa të vërtetuara nga një tuple e re, që mbërrijnë në një sesion që ende beson në atë të vjetër.
Kur pyetet nëse float funksionon, prova e dobishme është një shtrëngim duarsh i përfunduar i ndjekur nga një ndryshim burimi i pranuar, jo një rresht regjistri vetëm për adresën. Lidhni adresat e jashtme të vjetra dhe të reja me sesionin që mbeti gjallë, dhe pastaj konfirmoni se trafiku vërtet vazhdoi përmes tunelit.
Nëse sesioni vdes në vend që të lëvizë, paketa që mbërriti nga adresa e re ndoshta dështoi në vërtetim ose nuk mbërriti fare. Të dyja rastet duken identike nga ana e klientit. Në server, një kapje në ndërfaqen publike ju tregon se cila prej tyre është, përpara se të prekni ndonjë konfigurim.
Zbulimi është një mekanizëm krejt i veçantë
float nuk zgjidh emra me një kohëmatës dhe nuk ndjek një regjistrim DNS dinamik. Nëse emri i hostit të serverit fillon të zgjidhet në një adresë të re, një klient në pritje nuk ka arsye ta vërë re dhe nuk ka paketë nga pika e re fundore për të vërtetuar. Ai problem i përket logjikës së rilidhjes, sjelljes së vetë klientit në riprovim dhe DNS-së, jo float.
Shtimi i opsionit edhe një herë nuk mund të kompensojë mungesën e një rruge drejt adresës së re. Nuk ndihmon as kur partneri është i heshtur, sepse një partner i heshtur nuk dërgon kurrë paketën e vërtetuar që do të lëvizte diçka.
Firewall-i poshtë ka gjithashtu fjalën e vet. Një rregull që lejon vetëm skajin e vjetër të jashtëm bllokon adresën e ndryshuar para se OpenVPN ta shohë fare, dhe asnjë konfigurim nga ana e klientit nuk e rregullon atë. Rishikoni ciklin e jetës së adresave të lejuara si një detyrë më vete; zgjerimi i rregullit në çdo burim shkëmben një problem të vogël me një të madh.
Kur NetworkManager zotëron profilin
Një profil i rreshtit të komandës dhe një lidhje e importuar janë konfigurime të veçanta, dhe redaktimi i njërës nuk e prek tjetrën. Përpara se të supozoni se opsioni nuk mbështetet, përcaktoni çfarë lloj shtojce përdor vërtet profili i ruajtur dhe ku jetojnë vlerat e tij. UUID-ja e profilit është identifikuesi që ka rëndësi kur inspektoni ose ndryshoni diçka.
Inspektoni lidhjen e ruajtur dhe jo skedarin origjinal të importit. Një rresht që mbijeton në një skedar .ovpn nuk provon asgjë nëse menaxheri aktiv nuk e ka zbatuar kurrë, dhe një redaktor pa kuti kontrolli për një opsion të caktuar nuk provon asgjë për aftësitë e protokollit.
Mos e rregulloni me patch një shtojcë të paketuar për të shtuar sjelljen, sidomos jo me një diff të shkruar për një version historik të një komponenti të palidhur. Nëse integrimi i instaluar vërtet nuk mund ta shprehë cilësimin, hapi i saktë është një profil i mbështetur ose një rrugë tjetër klienti e miratuar nga ai që zotëron vendosjen.
Provojeni tranzicionin në vend që ta supozoni
Ekzekutoni testin ashtu siç ndodh dështimi. Lidhuni, verifikoni trafikun përmes tunelit, detyroni adresën e jashtme të ndryshojë, dhe pastaj kontrolloni tre gjëra: sesioni ekziston ende, adresa e regjistruar e partnerit është zhvendosur, dhe një kërkesë e vërtetë ende arrin në destinacionin e saj. Çdo gjë më pak se të treja është një përgjigje e pjesshme.
Mbani aksesin e rikuperimit të disponueshëm gjatë testimit, sepse eksperimentet e lëvizjes kanë zakon ta lënë makinën nga e cila punoni në hall. Një konsolë serike ose një rrugë jashtë brezit e kthen një test të dështuar në një rikuperim pesë minutash në vend të një vizite në terren.
Së fundi, përshkruani vetëm rastin që keni ushtruar. Një ndryshim i suksesshëm adrese gjatë një sesioni nuk është provë që migrimet DNS, një zbatim tjetër klienti ose një profil i rindërtuar do të sillen njësoj. Dokumentacioni i link-options përcakton me saktësi shtrirjen e opsionit; regjistri juaj i testit duhet të thotë se cilën pjesë të asaj shtrirjeje keni mbuluar vërtet.