Би Mac mini дээр qBittorrent нээж, Network Interface-ийг utun4 болгож, дахин эхлүүлсэн бөгөөд дараа нь VPN нь эрүүл холболт харуулж байхад торрент мета өгөгдөл татахад гацсаныг хагас өдөржин ажиглав. Тохиргоо зарчмын хувьд буруу биш байсан; нэр нь хуучирсан байв. macOS нь үйлчилгээнүүд эхлэхэд utun дугаар өгдөг тул өмнөх долоо хоногт зөв байсан utun4 нь одоо байхгүй туннель рүү зааж, клиент нь сокетуудаа маршрутгүй төхөөрөмжтэй холбож байв. Доорх дараалал бол миний одоо хэрэглэдэг арга: ажиллаж байгаа туннелиас интерфэйсийг уншиж, клиент дээр сонгож, сессийг дахин эхлүүлээд, дараа нь дамжуулалт болон санаатай салгалтаар холболтыг батална.

Advanced-ыг нээж интерфэйсийн талбарыг ол

qBittorrent цонхонд Cmd+, -ээр Preferences нээж, 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 бичлэгт VPN-ийн сангийн inet хаяг хэрэгтэй. scutil --nwi нь систем аль интерфэйсийг идэвхтэй гэж үзэж, аль нь үндсэн болохыг харуулна. netstat -rn нь анхдагч маршрут хаашаа чиглэхийг харуулах бөгөөд хэрэв тэр маршрут одоо ч en0 руу чиглэж байгаа боловч utun хаягтай бол туннель бүх урсгалыг зөөхгүй, энэ нь холболт дараа нь юу хийхийг өөрчилнө.

Нэгэн зэрэг хоёр туннель оршин байж болох үед, жишээ нь ажлын профайл ба хувийн профайл, хоёр utun төхөөрөмж байх ба тэдгээрийн зөвхөн нэг нь ашигтай. Байтын тоолуурууд энэ асуултыг шийднэ: тоолууруудыг тэмдэглээд, хуудас ачаалах эсвэл жижиг дамжуулалт эхлүүлж, аль нь хөдөлснийг хар.

netstat -ib | grep utun

Дугаарыг тогтвортой гэж битгий бод. Дахин холболт нь нэг туннельд өөр utun нэр өгч болох бөгөөд iCloud эсвэл Continuity үйлчилгээ таны VPN холбогдохоос хамаагүй өмнө utun0-ийг эзэлж болно.

Холболтыг туннелийн хүрээтэй тааруул

Талбар нь төхөөрөмжийг холбодог, тэгээд л болоо. Хэрэв VPN нь 0.0.0.0/0-ийг utun руу чиглүүлдэг бүрэн туннель бол тэр төхөөрөмжтэй холбох нь peer холболт бүр болон tracker хүсэлт бүрийг VPN-ээр дамжуулна. Хэрэв VPN нь зөвхөн хэдэн дэд сүлжээг чиглүүлдэг хуваагдсан туннель бол, utun-тэй холбох нь peer урсгалыг тэдгээр peer-ийн маршрутгүй төхөөрөмж рүү илгээх бөгөөд дамжуулалтууд алдагдахын оронд зогсоно. Хоёр үр дүн 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 peer-үүд Wi-Fi-аар гулсаж гарахын оронд бүтэлгүйтдэг. Тусдаа нь, сокетыг холбох нь нэрийн шийдвэрийг бэхжүүлэхгүй: tracker хост нэрсийг macOS шийдэгчээр шийддэг бөгөөд энэ нь сонгосон төхөөрөмж биш системийн DNS тохиргоог дагадаг.

Зөв мэт харагдах сонголт бүтэлгүйтэх гурван арга

Эхний бүтэлгүйтэл нь дахин эхлүүлэхгүй байх. Талбар utun4-ийг харуулж, тохиргоо хийгдсэн мэт харагдана, гэтэл туршилтын дамжуулалт Wi-Fi-аар гарсаар байна, учир нь ажиллаж байгаа сесс хуучин холболтыг хадгалсан. Бүрэн хааж, pgrep-ээр баталж, дахин нээгээд дамжуулалтыг дахин эхлүүл.

Хоёр дахь нь дахин холбогдсоны дараах хуучирсан нэр. Холбосон төхөөрөмж алга болмогц peer холболтууд бүтэлгүйтэж, клиент нь интерфэйс явсан гэсэн тодорхой мессежийн оронд tracker алдаа мэдээлэх хандлагатай бөгөөд энэ нь үхсэн торрент мэт харагдана. ifconfig-ийг дахин уншиж, шинэ нэрийг сонгоод дахин эхлүүл.

Гурав дахь нь холболт хаалттай байдлаар бүтэлгүйтдэг гэж үзэх. Интерфэйс сонгох нь системээс сокетыг төхөөрөмжийн нэртэй холбохыг хүсдэг; тэр нэр байхгүй эсвэл дахин ашиглагдвал юу болохыг тохиргооны дэлгэц баталгаажуулдаггүй. Дараагийн хэсгийн салгалтын тест л тооцогдох цорын ганц нотолгоо юм.

Бодит дамжуулалт ба салгалтаар шалга

Өөрт тань зөвшөөрөгдсөн дамжуулалтыг ашигла, жишээ нь Linux түгээлтийн дүрс, мөн VPN холбогдсон үед эхлүүл. Интерфэйс тус бүрийн тоолуурыг өмнө болон дараа ажиглаж, VPN клиентийн өөрийн өгөгдлийн тоолууртай харьцуул; peer жагсаалт дүүрэх үед хоёулаа хамт өсөх ёстой.

netstat -ib | grep utun
pgrep -fl qbittorrent

Дараа нь VPN-ийг өөрийн интерфэйсээс салгаж, дамжуулалтыг ажигла. Peer-үүд алга болж, туннель унасны дараа удалгүй шинэ холболтууд бүтэлгүйтэх ёстой. Хэрэв дамжуулах чадвар үргэлжилбэл холболт хэрэгжихгүй байгаа бөгөөд та галт ханын биш, дахин эхлүүлэх шатанд буцаж ирсэн байна.

Дахин холбогдож, сонгосон нэрийг дахин шалга, учир нь туннель өөр utun дор эргэж ирж болно. Туннелийн төрөл, интерфэйсийн нэр, VPN унах үед хүлээгдэх зан төлөвийг тэмдэглэсэн богино тэмдэглэл дараагийн сессийг хэмнэнэ: энэ тохиргоо нь машин бүр, үйлчилгээ үзүүлэгч бүрт хамаарах бөгөөд клиентийн шинэчлэл эсвэл VPN апп солихоос хамгаалахгүй.

Холбоотой нийтлэлүүд