Защо държавният етикет на VPN не е адресът, от който излизате
Поле в списъка, маршрутизиран адрес и мнението на приложение могат да се разминават. Разберете кое от тях четете, преди да наречете изхода сгрешен.
Избирате държава, свързвате се и сайт ви посреща в друга. Етикетът в списъка никога не е обещавал нищо за адреса, от който ще излезете: това е поле, което някой е публикувал, изведено по метод, който не сте виждали. Да третирате това поле като адрес е мястото, откъдето започва объркването.
Три отделни неща носят стойност за държава и могат да се разминават, без някой да лъже. Когато ги разграничите, несъответствието става диагностицируемо, вместо загадъчно.
Три различни неща носят етикет за държава
Първото е собственото поле на каталога, което може да е самоотчетено от оператора, изведено от база с адреси или просто копирано при създаването на записа. Второто е самият адрес, който принадлежи на мрежата, която го анонсира, и точно на това отговаря справката за геолокация, използвайки публикувани данни за картографиране във вида, описан в RFC 8805. Третото е това, което приложението решава да покаже, а то може да идва от друга база, от настройка на профила или от разрешение, което сте дали на устройството. Само второто е мрежов факт и дори то е справка, а не наблюдение.
Съгласуваност между тези три би била приятна и никъде не се изисква. Несъответствието е доказателство, че са изведени по различен начин, и нищо повече.
Проверете адреса, не знамето
Полезният въпрос е от кой публичен адрес трафикът ви действително излиза. Това може да се отговори от клиента и не зависи от никое поле в списъка. Сравнете отговора с префикса, който сте очаквали, и с това, което справката за геолокация казва за него, като държите двата резултата отделно в бележките си. Разликата между очакваната държава и справката е въпрос на маршрутизация или база, а разликата между справката и мнението на приложението отново е въпрос на база.
Направете проверката два пъти, ако услугата има няколко изхода в региона. Пулът може да раздава различни адреси при последователни връзки и една проба описва само един от тях.
Близостта на картата не е близост в мрежата
Близка държава може да е по-дълъг път от далечна, защото оптичният маршрут не следва границата. Изборът на възел по закъснение означава измерване на дестинацията, която ви интересува, вместо избор на най-близкото знаме. Същата логика важи и за капацитета, защото леко натоварен изход на две държави разстояние може да надмине наситен такъв наблизо. Първо измервайте, после решавайте, и запишете часа, защото и двете числа се менят.
Местоположението също не казва нищо за съхранението или за това кой управлява крайната точка. За тях са нужни собствени доказателства, които колона за държава не може да побере.
Потвърдете адреса на изхода сами
Попитайте клиента и външна услуга как изглежда адресът ви, после попитайте локалната таблица за маршрутизация как е избран този път. Командите по-долу правят и трите, а третата е тази, която хората пропускат. Заменете името на интерфейса със своето тунелно устройство.
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
Първите два реда трябва да съвпадат и когато не съвпадат, маршрутът, който смятате, че имате, не е маршрутът, по който върви трафикът ви. Справката за маршрута посочва интерфейса и изходния адрес, които ядрото би използвало за дадена дестинация, и това е механизмът зад адреса на изхода. Редът за IPv6 е важен, защото машината може да държи тунел за едно семейство и директен път за другото. Етикет за държава не покрива нито един от тези случаи сам по себе си.
Запишете наблюдавания адрес, мнението на базата и показаното от приложението като три отделни бележки. Тогава следващото несъответствие, което срещнете, ще е лесно за приписване.