Vyberete zemi, připojíte se a web vás přivítá v jiné. Označení v seznamu nikdy nic neslibovalo o adrese, ze které vyjdete: je to pole, které někdo zveřejnil, odvozené metodou, kterou jste neviděli. Považovat toto pole za adresu je místo, kde začíná zmatek.

Tři oddělené věci nesou hodnotu země a mohou se lišit, aniž by někdo lhal. Když je rozlišíte, nesoulad se stane diagnostikovatelným místo záhadným.

Tři různé věci nesou označení země

První je vlastní pole adresáře, které může uvést sám provozovatel, být odvozeno z databáze adres, nebo prostě zkopírováno při vytvoření záznamu. Druhá je samotná adresa, která patří síti, jež ji oznamuje, a na to odpovídá dotaz na geolokaci pomocí zveřejněných mapovacích dat ve formě popsané v RFC 8805. Třetí je to, co se aplikace rozhodne zobrazit, což může pocházet z jiné databáze, z nastavení účtu nebo z oprávnění, které jste udělili v zařízení. Síťovým faktem je jen ta druhá, a i ta je dotazem, nikoli pozorováním.

Soulad mezi těmito třemi by byl příjemný a nikde se nevyžaduje. Nesoulad je důkaz, že byly odvozeny různě, nic víc.

Kontrolujte adresu, ne vlajku

Užitečná otázka je, ze které veřejné adresy váš provoz skutečně vychází. To lze zodpovědět z klienta a nezávisí to na žádném poli seznamu. Porovnejte odpověď s prefixem, který jste očekávali, a s tím, co o něm říká dotaz na geolokaci, a oba výsledky držte v poznámkách odděleně. Rozdíl mezi očekávanou zemí a dotazem je otázka směrování nebo databáze, zatímco rozdíl mezi dotazem a názorem aplikace je znovu otázka databáze.

Kontrolu proveďte dvakrát, pokud má služba v regionu několik výstupů. Fond adres může při po sobě jdoucích připojeních vydávat různé adresy a jeden vzorek popisuje jen jednu z nich.

Blízkost na mapě není blízkost v síti

Blízká země může být delší cestou než vzdálená, protože optická trasa nenásleduje hranici. Volba uzlu kvůli latenci znamená měřit cílové místo, na kterém vám záleží, místo vybírání nejbližší vlajky. Stejná logika platí pro kapacitu, protože málo zatížený výstup o dvě země dál může porazit přesycený sousední. Nejprve měřte, potom rozhodujte, a poznamenejte hodinu, protože se obě čísla mění.

Poloha také nic neříká o uchovávání ani o tom, kdo provozuje koncový bod. To potřebuje vlastní důkazy, které sloupec země pojmout nemůže.

Ověřte adresu výstupu sami

Zeptejte se klienta a vnější služby, jak vaše adresa vypadá, a potom se zeptejte místní směrovací tabulky, jak byla tato cesta zvolena. Níže uvedené příkazy dělají všechny tři věci a ten třetí lidé přeskakují. Nahraďte název rozhraní svým tunelovým zařízením.

curl -sS https://api.ipify.org; echo
curl -sS --interface tun0 https://api.ipify.org; echo
ip route get 1.1.1.1
ip -6 addr show dev tun0

První dva řádky by se měly shodovat, a když se neshodují, trasa, o které si myslíte, že ji máte, není trasou, která nese váš provoz. Dotaz na trasu uvádí rozhraní a zdrojovou adresu, které by jádro použilo pro cíl, a to je mechanismus za adresou výstupu. Řádek IPv6 je důležitý, protože stroj může držet tunel pro jednu rodinu a přímou cestu pro druhou. Označení země samo o sobě nepokrývá žádný z těchto případů.

Zapište pozorovanou adresu, názor databáze a zobrazení v aplikaci jako tři samostatné poznámky. Příští nesoulad, na který narazíte, pak bude snadné připsat.

Související články