Як прывязаць qBittorrent да інтэрфейсу VPN на macOS
Задайце Network Interface у пашыраных наладах 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.