Как да свържете qBittorrent с VPN интерфейс на macOS
Задайте Network Interface в Advanced на qBittorrent под macOS, съпоставете имената utun с активния тунел, рестартирайте клиента и докажете връзката с трансфер.
Отворих 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 see | What it means for the bind |
|---|---|
| A utun with a provider address and the default route pointing at it | Full tunnel; the bind covers peer and tracker traffic |
| A utun with a provider address but the default route still on en0 | Split tunnel; the bind will stall transfers unless the provider routes 0.0.0.0/0 |
| No utun carrying a provider address | The VPN is down or connects on demand; bring it up before selecting |
| A utun number that changed since the last session | The 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 приложението.