Ինչպես qBittorrent-ը կապել VPN ինտերֆեյսին macOS-ում
macOS-ում qBittorrent-ի Advanced-ում սահմանեք Network Interface-ը, utun անունները կապեք գործող թունելի հետ, վերագործարկեք հաճախորդը և ապացուցեք կապը փոխանցումով։
Ես բացեցի qBittorrent-ը Mac mini-ում, Network Interface-ը դրեցի utun4-ի վրա, վերագործարկեցի և հետո մի ամբողջ կեսօր անցկացրի դիտելով, թե ինչպես torrent-ը կանգնում է մետատվյալների ստացման վրա, մինչ VPN-ը դեռ ցույց էր տալիս առողջ կապ։ Կարգավորումը սկզբունքորեն սխալ չէր. անունը հնացել էր։ macOS-ը utun համարները տալիս է ծառայությունների մեկնարկին, ուստի նախորդ շաբաթ ճիշտ utun4-ը ցույց էր տալիս այն թունելին, որն այլևս չկար, և հաճախորդը իր socket-ները կապում էր առանց երթուղու սարքի։ Ստորև ներկայացված հաջորդականությունն այն է, ինչ ես հիմա օգտագործում եմ. կարդալ ինտերֆեյսը գործող թունելից, ընտրել այն հաճախորդում, վերագործարկել նստաշրջանը և ապա ապացուցել կապը փոխանցումով և դիտավորյալ անջատումով։
Բացեք Advanced-ը և գտեք ինտերֆեյսի դաշտը
qBittorrent-ի պատուհանում բացեք Preferences-ը Cmd+, -ով և անցեք Advanced էջ։ Network Interface-ը այն դաշտն է, որ կարևոր է. այն թվարկում է համակարգի ինտերֆեյսների անունները և լռելյայն կանգնած է Any Interface-ի վրա, ինչը նշանակում է, որ օպերացիոն համակարգը երթուղի է ընտրում հաճախորդի բացած յուրաքանչյուր socket-ի համար։ Նախագծի ընտրանքների տեղեկատուն փաստաթղթավորում է այդ դաշտը և այդ լռելյայնը, և սա նույն կարգավորումն է բոլոր հարթակներում, թեև դրա մեջ եղած անունները նույնը չեն։
Երկու մանրամասնություն այստեղ մարդկանց շփոթեցնում է։ Ցանկը ցույց է տալիս սարքերի անուններ, ինչպիսիք են 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-ի մեջ, ապա այդ սարքին կապելը ուղարկում է յուրաքանչյուր peer միացում և յուրաքանչյուր tracker հարցում VPN-ի միջով։ Եթե VPN-ը բաժանված թունել է, որը երթուղում է միայն մի քանի ենթացանց, ապա utun-ին կապելը peer երթևեկությունն ուղարկում է սարքի, որն այդ peer-ների համար երթուղի չունի, և փոխանցումները կանգնում են արտահոսելու փոխարեն։ Երկու արդյունքներն էլ ավելի անվտանգ են, քան 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 peer-ները ձախողվում են Wi-Fi-ով դուրս սահելու փոխարեն։ Առանձին՝ socket-ների կապումը չի ամրացնում անունների լուծումը. tracker հոսթանունները լուծվում են macOS-ի լուծիչով, որը հետևում է համակարգի DNS կազմաձևին, այլ ոչ ընտրված սարքին։
Երեք եղանակ, որոնցով ճիշտ թվացող ընտրությունը ձախողվում է
Առաջին ձախողումը վերագործարկելը չլինելն է։ Դաշտը ցույց է տալիս utun4, կարգավորումները կազմաձևված են թվում, և փորձնական փոխանցումը դեռ դուրս է գալիս Wi-Fi-ով, որովհետև գործող նստաշրջանը պահել է հին կապը։ Ամբողջությամբ փակեք, հաստատեք pgrep-ով, նորից բացեք և նորից սկսեք փոխանցումը։
Երկրորդը վերամիացումից հետո հնացած անունն է։ Հենց կապված սարքը անհետանում է, peer միացումները ձախողվում են, և հաճախորդը հակված է tracker սխալներ հաղորդելու՝ ինտերֆեյսի գնալու մասին մաքուր հաղորդագրության փոխարեն, ինչը մեռած torrent-ի տպավորություն է թողնում։ Նորից կարդացեք ifconfig-ը, ընտրեք նոր անունը և վերագործարկեք։
Երրորդը այն ենթադրությունն է, որ կապը ձախողվում է փակ վիճակում։ Ինտերֆեյս ընտրելը համակարգից խնդրում է socket-ները կցել սարքի անվանը. ինչ է տեղի ունենում, երբ այդ անունը բացակայում է կամ վերամշակվում է, կարգավորումների էկրանը չի երաշխավորում։ Հաջորդ բաժնի անջատման թեստը միակ ապացույցն է, որ հաշվի է առնվում։
Ստուգեք իրական փոխանցումով և անջատումով
Օգտագործեք փոխանցում, որը ձեզ թույլատրվում է գործարկել, օրինակ Linux բաշխման պատկեր, և սկսեք այն VPN-ը միացված վիճակում։ Դիտեք ինտերֆեյսային հաշվիչները առաջ և հետո և համեմատեք դրանք VPN հաճախորդի սեփական տվյալների հաշվիչի հետ. երկուսն էլ պետք է միասին բարձրանան, մինչ peer ցանկը լցվում է։
netstat -ib | grep utun
pgrep -fl qbittorrentԱպա անջատեք VPN-ը իր իսկ ինտերֆեյսից և դիտեք փոխանցումը։ Peer-ները պետք է հեռանան, և նոր միացումները պետք է ձախողվեն թունելի անկումից քիչ անց։ Եթե թողունակությունը շարունակվում է, կապը ուժի մեջ չէ, և դուք վերադարձել եք վերագործարկման քայլին, ոչ թե firewall-ին։
Նորից միացեք և նորից ստուգեք ընտրված անունը, որովհետև թունելը կարող է վերադառնալ այլ utun-ի տակ։ Կարճ նշումը թունելի տեսակի, ինտերֆեյսի անվան և VPN-ի անկման դեպքում սպասվող վարքի մասին խնայում է հաջորդ նստաշրջանը. այս կարգավորումը յուրաքանչյուր մեքենայի և յուրաքանչյուր մատակարարի համար է, և այն չի վերապրում ոչ հաճախորդի թարմացումը, ոչ VPN հավելվածի փոփոխությունը։