Předpoklad je, že přidání remote-random promění profil v rotující fond, takže každé připojení vychází z jiné adresy. Co direktiva ve skutečnosti dělá: jednou promíchá seznam remote položek, když se klient začne připojovat, a pak je zkouší v tomto novém pořadí. Tunel, který nakonec vznikne, stále končí na jednom koncovém bodě a zůstává tam po celou dobu života relace.

Tento rozdíl je důležitý jak pro testování, tak pro tvrzení o soukromí.

Co volba mění v okamžiku připojení

Klientský profil může obsahovat několik řádků remote, každý s vlastním názvem hostitele a portem. Bez direktivy se zkoušejí v pořadí souboru; s ní se seznam jednou na začátku relace přehází a vyhraje první adresa, která odpoví. Ostatní zůstávají záložními možnostmi pro tento pokus, nikoli paralelními cestami. Profil s jediným remote nedává direktivě co míchat, a to je nejrychlejší způsob, jak zjistit, zda může mít význam.

Příručka OpenVPN dokumentuje tuto volbu jako ovlivňující pořadí pokusů o připojení, a přesně takový rozsah je třeba v chování očekávat.

Opětovné připojení zahajuje nový cyklus výběru, takže pozdější relace může skončit jinde. Živý tunel se během provozu nepřesouvá.

Mýtus: každý požadavek dostane nový server

Po navázání tunel přenáší veškerý provoz dané relace k vybranému protějšku. Neexistuje opětovný výběr u každého požadavku a direktiva není vyvažovač zátěže pro jednotlivá spojení: míchá kandidáty, nerozděluje pakety. Každá aplikace, která tento tunel sdílí, sdílí i stejný protějšek. Cokoli prohlížeč hlásí o svém výstupu, patří relaci, nikoli jednotlivému požadavku.

Pokud test ukáže dva různé výstupy, hledejte dvě samostatné relace, nikoli jednu důmyslnou volbu. Tento rozdíl také vysvětluje, proč se test v prohlížeči a test stahování mohou rozcházet, když mezi nimi proběhlo opětovné připojení.

K čemu je remote-random-hostname

Druhá direktiva s podobným názvem mění název hostitele používaný k překladu, nikoli pořadí seznamu remote. Existuje pro nasazení, kde se název překládá na několik adres pomocí round-robin DNS, a má se používat jen tehdy, když je pro to služba postavená. Mění se pouze krok překladu; pořadí seznamu kandidátů nikoli.

Zapínat ji proto, že názvy vypadají příbuzně, je častá chyba. Certifikát s divokou kartou nebo uspořádání DNS, které nečeká změněný název, jednoduše selže při překladu nebo ověření.

Přečtěte vybraný koncový bod z logu

Před vyvozováním závěrů si poznamenejte, který protějšek relace skutečně použila. Podrobný výstup uvádí adresu, která se zkouší, a samotný profil ukazuje, kolik kandidátů existuje. Porovnejte tento počet s adresou v logu, než začnete vinit míchání.

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

Pro srovnání výkonu připněte koncový bod zakomentováním ostatních remote, aby testovanou proměnnou byl protokol nebo klient, a ne cesta. Pro otázku soukromí posuzujte identitu služby a logování jako celek; promíchaná první volba nesmaže cookies, neodstraní přihlášení k účtu ani neučiní dva operátory rovnocennými.

Udržujte dodané materiály důvěry a podporovanou sadu koncových bodů pohromadě. Přemíchání mění jen pořadí, v němž se tato sada zkouší.

Související články