VPN към Tor, Tor към VPN: защо веригата се къса
Когато VPN, Tor и прокси се натрупват едно върху друго, редът решава какво се разрешава и какво се пренася. Намерете първата скъсана граница, преди да промените и трите.
Натрупването на VPN, Tor и прокси за приложения изглежда като умножаване на поверителността, а всъщност умножава местата, където една връзка може да умре. Обичайният резултат е браузър, който се върти, докато трите инструмента се отчитат като изправни. Промяната на трите настройки наведнъж пък премахва единствената следа кой от тях лъже.
Първо начертайте предвидения път по ред, като назовете коя програма отваря всяка връзка и кое име се разрешава на всяка стъпка.
Слоевете не се сумират, а си взаимодействат
VPN преди Tor означава, че входящата връзка на клиента на Tor пътува вътре в тунела. VPN, пренасян през Tor, означава, че крайната точка на самия VPN клиент трябва да е достъпна през Tor, което е съвсем различно изискване. Проксито на браузъра добавя още един скок, за който операционната система не знае нищо. Три подредби, три отделни списъка със зависимости.
Всяка подредба променя какво може да се разреши, какво може да се пренесе и кой вижда първия пакет. Само една от тях може да е конфигурацията, която сте имали предвид.
Добавете към схемата и директния път. Резервен маршрут, изключение за разделен тунел или заобикаляне на проксито могат да заредят страница, докато тихо прескачат веригата, която сте искали да проверите, и такъв успех заблуждава повече от провала.
Редът решава какво може да се пренесе
Tor пренася TCP потоци през интерфейса си SOCKS, а клиент, който помоли проксито да разреши името на хоста, запазва търсенето вътре във веригата. UDP не пътува така при обичайните конфигурации, затова тунел WireGuard не може да се вложи в Tor без допълнително TCP реле по средата.
OpenVPN може да бъде принуден да работи през TCP, така че тази подредба поне е описуема. Той е и по-бавен и по-крехък, а режимът на отказ, когато се скъса, изглежда еднакво с блокиран порт. Очаквайте да отделите повече време за различаването на двете, отколкото за поправянето на което и да е от тях.
Разрешаването е другата половина. С --socks5-hostname проксито разрешава дестинацията, докато обикновеното --socks5 първо пита локалния резолвер и изтича името извън веригата. Точно това едно флагче решава дали търсенето на името принадлежи на веригата, или на вашия доставчик.
| Order | What must resolve the endpoint | What usually breaks |
|---|---|---|
| VPN, then Tor | The tunnel's resolver | Entry guards blocked by the VPN provider's filters |
| Tor, then VPN | The SOCKS proxy, remotely | UDP transports, which Tor does not carry |
| App proxy on top | The application itself | Proxy bypass rules and cached connections |
Намиране на първата скъсана граница
Тествайте етапите в реда, в който пътуват пакетите, с безвредни заявки и спрете на първия, който се провали. Отбележете коя команда е изпълнена първа, защото редът е част от доказателството. Две команди разделят мъртва верига от мъртъв изход:
curl -s --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip curl -4 -s https://api.ipify.org; echo
Първата показва дали заявката изобщо завършва през SOCKS проксито, а втората показва адреса, който мрежата представя в момента. Ако първата се провали, а втората успее, проблемът е при клиента на Tor или преди него. Ако и двете успеят, а браузърът продължава да се проваля, приложението използва различен път от обвивката.
Страницата с публичен IP също описва само последния видим изход. Тя не може да ви каже колко скока са го предхождали, затова я съчетавайте с поддържания изход за състоянието на всеки инструмент, вместо да приемате едно число за схема.
Кога да спрем да добавяме слоеве
Ако не можете да кажете в едно изречение какво добавя даден слой, премахнете го. Верига, чиято цел е неясна, е верига, която никой не може да отстрани в три през нощта, а печалбата за поверителността от необяснен скок обикновено е по-малка от загубената наличност.
Ако един слой наистина заслужава мястото си, тествайте го сам първо, после добавете следващия и потвърдете пътя отново със същите две команди. Възстановете пълната верига преди обичайна употреба и оставете проверката на TLS и удостоверяването включени; предупреждение за сертификат, прието, за да се зареди страница, е заобикаляне на маршрутизацията, не поправка. Запишете реда, на който сте се спрели, докато е свеж.
Запишете този ред, включително резолвера, който отговаря на всеки етап. Работеща верига, която можете да опишете, преживява следващата актуализация, докато работеща верига, сглобена чрез проби, изчезва с нея. Добавете датата и версиите, за да може по-късен отказ да се сравни с известно добро състояние, вместо да се спори по спомен. Десет реда в текстов файл спестяват една вечер догадки.