Отворих qBittorrent на Mac mini, зададох Network Interface на utun4, рестартирах и после прекарах един следобед в гледане как торентът стои на извличане на метаданни, докато VPN все още показваше здрава връзка. Настройката не беше грешна по принцип; името беше остаряло. macOS раздава номера utun при стартиране на услуги, затова utun4, който беше правилен предната седмица, сочеше към тунел, който вече не съществуваше, и клиентът свързваше сокетите си с устройство без маршрут. Последователността по-долу е това, което използвам сега: прочетете интерфейса от работещия тунел, изберете го в клиента, рестартирайте сесията и след това докажете връзката с трансфер и умишлено прекъсване.

Отворете Advanced и намерете полето за интерфейс

В прозореца на qBittorrent отворете Preferences с Cmd+, и преминете към страницата Advanced. Network Interface е полето, което има значение: то изброява имената на интерфейсите в системата и по подразбиране стои на Any Interface, което означава, че операционната система избира маршрут за всеки сокет, който клиентът отваря. справката с опциите на проекта документира полето и тази стойност по подразбиране, и това е същата настройка на всяка платформа, макар имената в нея да не са еднакви.

Две подробности объркват хората тук. Списъкът показва имена на устройства като en0, en1 и utun0 до utun9, никога името на продукта на VPN доставчика, затова ви трябва съпоставянето, преди да изберете нещо разумно. И изборът се прилага при стартиране на BitTorrent сесията, а не в момента, в който натиснете OK, така че промяна, която изглежда запазена, може все още да работи на старата връзка.

Затворете приложението правилно с Cmd+Q и потвърдете, че процесът е изчезнал, преди да го отворите отново. Затварянето на прозореца само го скрива, а скритият клиент запазва сесията си, порта си за слушане и стария си интерфейс.

pgrep -fl qbittorrent

Намерете интерфейса, който вашият VPN наистина притежава

Първо свържете VPN чрез собствения клиент на доставчика и след това прочетете гледната точка на системата, вместо менюто на клиента. Командите по-долу изброяват всеки интерфейс с адресите му, показват кои системата смята за активни и отпечатват маршрутната таблица; търсите устройството utun, което носи частния диапазон, който доставчикът ви дава.

ifconfig -a | grep -A4 '^utun'
scutil --nwi
netstat -rn -f inet | head -n 5

Три прочитания ви казват кое устройство е тунелът. Записът utun се нуждае от inet адрес, който принадлежи на пула на VPN. scutil --nwi показва кои интерфейси системата смята за активни и кой е основният. netstat -rn показва накъде сочи маршрутът по подразбиране и ако този маршрут все още сочи към en0, докато utun има адрес, тунелът не носи целия трафик, което променя какво ще прави връзката по-късно.

Когато два тунела могат да съществуват едновременно, например работен профил и личен, и двете utun устройства присъстват и само едно от тях е полезно. Байтовите броячи решават въпроса: запишете броячите, заредете страница или стартирайте малък трансфер и вижте кой се е преместил.

netstat -ib | grep utun

Не смятайте номера за стабилен. Повторно свързване може да даде на същия тунел различно име utun, а услуга на iCloud или Continuity може да заеме utun0 много преди вашият VPN да се свърже.

Съобразете връзката с обхвата на тунела

Полето свързва устройство и това е всичко, което прави. Ако VPN е пълен тунел, който насочва 0.0.0.0/0 в utun, свързването с това устройство изпраща всяка връзка с партньор и всяка заявка към тракер през VPN. Ако VPN е разделен тунел, който насочва само няколко подмрежи, свързването с utun изпраща трафика на партньорите към устройство без маршрут за тези партньори и трансферите спират, вместо да изтекат. И двата изхода са по-безопасни от Any Interface, но само един от тях запазва клиента работещ. Нищо извън клиента не се променя: браузърите и другите приложения запазват своите маршрути, така че изискване за всяко приложение трябва да се наложи от страна на VPN.

Прочетете ситуацията, преди да изберете нещо:

What you seeWhat it means for the bind
A utun with a provider address and the default route pointing at itFull tunnel; the bind covers peer and tracker traffic
A utun with a provider address but the default route still on en0Split tunnel; the bind will stall transfers unless the provider routes 0.0.0.0/0
No utun carrying a provider addressThe VPN is down or connects on demand; bring it up before selecting
A utun number that changed since the last sessionThe saved name is stale; reselect and restart

Адресното семейство също има значение. Доставчик, който дава само IPv4, оставя свързания интерфейс без IPv6 адрес, затова IPv6 партньорите се провалят, вместо да се изплъзнат през Wi-Fi. Отделно, свързването на сокети не фиксира разрешаването на имена: имената на тракерските хостове се разрешават през резолвера на macOS, който следва DNS конфигурацията на системата, а не избраното устройство.

Три начина, по които правилен на вид избор се проваля

Първият провал е да не рестартирате. Полето показва utun4, предпочитанията изглеждат конфигурирани, а тестов трансфер все още излиза през Wi-Fi, защото работещата сесия е запазила старата връзка. Затворете напълно, потвърдете с pgrep, отворете отново и стартирайте трансфера отново.

Вторият е остарялото име след повторно свързване. Щом свързаното устройство изчезне, връзките с партньори се провалят и клиентът е склонен да съобщава грешки на тракера, а не чисто съобщение, че интерфейсът е изчезнал, което изглежда като мъртъв торент. Прочетете ifconfig отново, изберете новото име и рестартирайте.

Третият е предположението, че връзката се проваля затворена. Избирането на интерфейс иска от системата да прикачи сокети към име на устройство; какво се случва, когато това име липсва или се рециклира, не е нещо, което екранът с настройки гарантира. Тестът за прекъсване в следващия раздел е единственото доказателство, което има значение.

Проверете с реален трансфер и прекъсване

Използвайте трансфер, който ви е разрешен, например образ на Linux дистрибуция, и го стартирайте със свързан VPN. Наблюдавайте броячите за интерфейс преди и след това и ги сравнете със собствения брояч на данни на VPN клиента; и двата трябва да растат заедно, докато списъкът с партньори се пълни.

netstat -ib | grep utun
pgrep -fl qbittorrent

След това прекъснете VPN от собствения му интерфейс и наблюдавайте трансфера. Партньорите трябва да изчезнат, а новите връзки трябва да се провалят малко след падането на тунела. Ако пропускателната способност продължава, връзката не действа и сте отново на стъпката с рестартиране, а не на защитната стена.

Свържете отново и проверете избраното име отново, защото тунелът може да се върне под различен utun. Кратка бележка с типа тунел, името на интерфейса и очакваното поведение при падане на VPN спестява следващата сесия: тази настройка е за всяка машина и всеки доставчик и не оцелява нито при надграждане на клиента, нито при смяна на VPN приложението.

Подобни статии