OpenVPN remote-random: premiešané poradie, jeden tunel
remote-random mieša poradie nakonfigurovaných remote položiek pri pripájaní. Nemení vaše výstupné rozhranie pri každej požiadavke, nevyvažuje pakety a nemení aktívny tunel.
Predpoklad je, že pridanie remote-random premení profil na rotujúci fond, takže každé pripojenie vychádza z inej adresy. Čo direktíva v skutočnosti robí: raz premieša zoznam remote položiek, keď sa klient začne pripájať, a potom ich skúša v tomto novom poradí. Tunel, ktorý sa nakoniec zdvihne, stále končí na jednom koncovom bode a zostáva tam po celý čas života relácie.
Tento rozdiel je dôležitý pre testovanie aj pre tvrdenia o súkromí.
Čo voľba mení pri pripájaní
Klientsky profil môže obsahovať viac riadkov remote, každý s vlastným názvom hostiteľa a portom. Bez direktívy sa skúšajú v poradí súboru; s ňou sa zoznam raz na začiatku relácie preusporiada a vyhrá prvá adresa, ktorá odpovie. Ostatné zostávajú záložnými možnosťami pre tento pokus, nie paralelnými cestami. Profil s jediným remote nedáva direktíve čo miešať, a to je najrýchlejší spôsob, ako zistiť, či to môže mať význam.
Príručka OpenVPN dokumentuje túto voľbu ako ovplyvňujúcu poradie pokusov o pripojenie, a presne taký rozsah treba v správaní očakávať.
Opätovné pripojenie začína nový cyklus výberu, takže neskoršia relácia môže skončiť inde. Aktívny tunel sa počas prevádzky nepresúva.
Mýtus: každá požiadavka dostane nový server
Po nadviazaní tunel prenáša všetku prevádzku danej relácie k vybranému partnerovi. Neexistuje opätovný výber pri každej požiadavke a direktíva nie je vyvažovač záťaže pre jednotlivé spojenia: mieša kandidátov, nerozdeľuje pakety. Každá aplikácia, ktorá tento tunel zdieľa, zdieľa aj toho istého partnera. Čokoľvek prehliadač hlási o svojom výstupe, patrí relácii, nie jednotlivej požiadavke.
Ak test ukáže dva rôzne výstupy, hľadajte dve samostatné relácie, nie jednu dômyselnú voľbu. Tento rozdiel tiež vysvetľuje, prečo sa test v prehliadači a test sťahovania môžu rozchádzať, keď medzi nimi prebehlo opätovné pripojenie.
Na čo slúži remote-random-hostname
Druhá direktíva s podobným názvom mení názov hostiteľa používaný na rozlíšenie, nie poradie zoznamu remote. Existuje pre nasadenia, kde sa názov rozlišuje na viacero adries cez round-robin DNS, a mala by sa používať len vtedy, keď je služba na to postavená. Mení sa iba krok rozlíšenia; poradie zoznamu kandidátov nie.
Zapínať ju preto, že názvy vyzerajú príbuzne, je častá chyba. Certifikát s divokou kartou alebo usporiadanie DNS, ktoré nečaká zmenený názov, jednoducho zlyhá pri rozlíšení alebo overení.
Prečítajte vybraný koncový bod z logu
Pred vyvodzovaním záverov si poznamenajte, ktorého partnera relácia skutočne použila. Podrobný výstup uvádza skúšanú adresu a samotný profil ukazuje, koľko kandidátov existuje. Porovnajte tento počet s adresou v logu, skôr než začnete viniť miešanie.
grep -c '^remote ' client.ovpn openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'attempting|peer connection' openvpn --help | grep -A2 remote-random head -20 client.ovpn
Pri porovnaní výkonu pripnite koncový bod zakomentovaním ostatných remote položiek, aby testovanou premennou bol protokol alebo klient, a nie cesta. Pri otázke súkromia posudzujte identitu služby a jej logovanie ako celok; premiešaná prvá voľba nevymaže cookies, neodstráni prihlásenie do účtu a neurobí dvoch operátorov rovnocennými.
Udržujte dodané materiály dôvery a podporovanú množinu koncových bodov pohromade. Premiešanie mení len poradie, v ktorom sa táto množina skúša.