Saya membuka qBittorrent pada Mac mini, menetapkan Network Interface kepada utun4, memulakan semula, kemudian menghabiskan sebelah petang menonton torrent tersangkut pada pengambilan metadata sedangkan VPN masih menunjukkan sambungan sihat. Tetapan itu tidak salah pada dasarnya; namanya sudah lapuk. macOS memberikan nombor utun apabila perkhidmatan bermula, jadi utun4 yang betul minggu sebelumnya menunjuk kepada terowong yang tidak lagi wujud, dan klien mengikat soketnya pada peranti tanpa laluan. Urutan di bawah ialah yang saya gunakan sekarang: baca antara muka daripada terowong yang berjalan, pilih dalam klien, mulakan semula sesi, kemudian buktikan ikatan dengan pemindahan dan pemutusan yang disengajakan.

Buka Advanced dan cari medan antara muka

Dalam tetingkap qBittorrent, buka Preferences dengan Cmd+, dan pergi ke halaman Advanced. Network Interface ialah medan yang penting: ia menyenaraikan nama antara muka sistem dan lalai kepada Any Interface, bermakna sistem pengendalian memilih laluan untuk setiap soket yang dibuka klien. rujukan pilihan projek mendokumenkan medan itu dan lalai tersebut, dan ini tetapan yang sama pada setiap platform walaupun nama di dalamnya tidak sama.

Dua perkara mengelirukan orang di sini. Senarai menunjukkan nama peranti seperti en0, en1 dan utun0 hingga utun9, tidak pernah nama produk penyedia VPN, jadi anda perlukan pemetaan sebelum boleh memilih sesuatu yang munasabah. Dan pilihan digunakan apabila sesi BitTorrent bermula, bukan pada saat anda menekan OK, jadi perubahan yang kelihatan disimpan mungkin masih berjalan pada ikatan lama.

Tutup aplikasi dengan betul menggunakan Cmd+Q dan pastikan proses telah hilang sebelum membukanya semula. Menutup tetingkap hanya menyembunyikannya, dan klien tersembunyi mengekalkan sesinya, port mendengarnya dan antara muka lamanya.

pgrep -fl qbittorrent

Cari antara muka yang benar-benar dimiliki VPN anda

Sambungkan VPN dahulu, melalui klien penyedia sendiri, kemudian baca pandangan sistem dan bukan menu klien. Perintah di bawah menyenaraikan setiap antara muka dengan alamatnya, menunjukkan yang mana dianggap aktif oleh sistem dan mencetak jadual laluan; anda mencari peranti utun yang membawa julat peribadi yang diberikan penyedia anda.

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

Tiga bacaan memberitahu anda peranti mana yang menjadi terowong. Entri utun memerlukan alamat inet yang tergolong dalam kolam VPN. scutil --nwi menunjukkan antara muka yang dianggap aktif oleh sistem dan yang mana utama. netstat -rn menunjukkan ke mana laluan lalai menunjuk, dan jika laluan itu masih menunjuk ke en0 sedangkan utun mempunyai alamat, terowong tidak membawa semua trafik, yang mengubah apa yang akan dilakukan ikatan kemudian.

Apabila dua terowong boleh wujud serentak, contohnya profil kerja dan profil peribadi, kedua-dua peranti utun hadir dan hanya satu daripadanya berguna. Pembilang bait menyelesaikan persoalan: catat pembilang, muatkan halaman atau mulakan pemindahan kecil dan lihat mana yang bergerak.

netstat -ib | grep utun

Jangan anggap nombor itu stabil. Sambungan semula boleh memberikan nama utun yang berbeza kepada terowong yang sama, dan perkhidmatan iCloud atau Continuity boleh memegang utun0 jauh sebelum VPN anda bersambung.

Sesuaikan ikatan dengan skop terowong

Medan itu mengikat peranti, dan itu sahaja yang dilakukannya. Jika VPN ialah terowong penuh yang menyalurkan 0.0.0.0/0 ke dalam utun, mengikat pada peranti itu menghantar setiap sambungan rakan sebaya dan setiap permintaan tracker melalui VPN. Jika VPN ialah terowong terbelah yang hanya menyalurkan beberapa subranet, mengikat pada utun menghantar trafik rakan sebaya ke peranti tanpa laluan untuk rakan sebaya tersebut, dan pemindahan berhenti dan bukannya bocor. Kedua-dua hasil lebih selamat daripada Any Interface, tetapi hanya satu yang mengekalkan klien berfungsi. Tiada apa di luar klien berubah: pelayar dan aplikasi lain mengekalkan laluan mereka sendiri, jadi keperluan yang meliputi setiap aplikasi mesti dikuatkuasakan dari pihak VPN.

Baca keadaan sebelum memilih apa-apa:

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

Keluarga alamat juga penting. Penyedia yang hanya memberikan IPv4 membiarkan antara muka terikat tanpa alamat IPv6, jadi rakan sebaya IPv6 gagal dan bukannya menyelinap keluar melalui Wi-Fi. Secara berasingan, mengikat soket tidak menetapkan penyelesaian nama: nama hos tracker diselesaikan melalui penyelesai macOS, yang mengikut konfigurasi DNS sistem dan bukan peranti yang dipilih.

Tiga cara pilihan yang kelihatan betul gagal

Kegagalan pertama ialah tidak memulakan semula. Medan menunjukkan utun4, keutamaan kelihatan dikonfigurasikan, dan pemindahan ujian masih keluar melalui Wi-Fi kerana sesi yang berjalan mengekalkan ikatan lama. Tutup sepenuhnya, sahkan dengan pgrep, buka semula dan mulakan pemindahan sekali lagi.

Yang kedua ialah nama lapuk selepas sambungan semula. Sebaik sahaja peranti yang terikat hilang, sambungan rakan sebaya gagal dan klien cenderung melaporkan ralat tracker dan bukannya mesej bersih bahawa antara muka telah hilang, yang kelihatan seperti torrent mati. Baca ifconfig sekali lagi, pilih nama baharu dan mulakan semula.

Yang ketiga ialah menganggap ikatan gagal tertutup. Memilih antara muka meminta sistem melampirkan soket pada nama peranti; apa yang berlaku apabila nama itu tiada atau dikitar semula tidak dijamin oleh skrin tetapan. Ujian pemutusan dalam bahagian seterusnya ialah satu-satunya bukti yang dikira.

Sahkan dengan pemindahan sebenar dan pemutusan

Gunakan pemindahan yang anda dibenarkan jalankan, seperti imej pengedaran Linux, dan mulakannya dengan VPN bersambung. Perhatikan pembilang setiap antara muka sebelum dan selepas serta bandingkan dengan pembilang data klien VPN sendiri; kedua-duanya sepatutnya naik bersama semasa senarai rakan sebaya dipenuhi.

netstat -ib | grep utun
pgrep -fl qbittorrent

Kemudian putuskan VPN dari antara mukanya sendiri dan perhatikan pemindahan. Rakan sebaya sepatutnya hilang, dan sambungan baharu sepatutnya gagal tidak lama selepas terowong jatuh. Jika daya pemprosesan berterusan, ikatan tidak berkuat kuasa dan anda kembali ke langkah mula semula, bukan ke tembok api.

Sambung semula dan periksa nama yang dipilih sekali lagi, kerana terowong mungkin kembali di bawah utun yang berbeza. Nota ringkas yang merekodkan jenis terowong, nama antara muka dan tingkah laku yang dijangka apabila VPN jatuh menjimatkan sesi seterusnya: tetapan ini adalah bagi setiap mesin dan setiap penyedia, dan ia tidak bertahan terhadap peningkatan klien mahupun perubahan aplikasi VPN.

Artikel berkaitan