Nega VPN ortida Plex masofaviy kirishi ishlamaydi va uni qanday tuzatish kerak
VPN ortidagi Plex masofaviy kirishi uchta bo‘g‘inni talab qiladi: provayderda port yo‘naltirish, mahalliy pf qayta yo‘naltirish va Plex ga kiritiladigan o‘sha tashqi port.
VPN standart marshrutni o‘z qo‘liga olgan lahzada masofaviy kirish mavjud emas holatiga o‘tadi, shu bilan birga o‘sha server LAN ga shikoyatsiz uzatishni davom ettiradi. Plex jurnallarida bu o‘zgarishni tushuntiruvchi hech narsa yo‘q, chunki buzilgan qism Plex emas: u trafik endi yetib bormaydigan manzilni e’lon qiladi. Bitta umumiy manzilni mijozlar o‘rtasida bo‘lishadigan provayder portni sizning tunnel manzilingizga yo‘naltiradi, va sizning shaxsiy mashinangizdagi biror narsa hali ham o‘sha portni Plex tinglovchisiga ko‘chirishi kerak. Qayta yetib borish sinovi yashil bo‘lishidan oldin uchta bo‘g‘in ham bitta tashqi portda kelishishi shart.
Zanjirda uchta bo‘g‘in bor va Plex faqat oxirgisini ko‘radi
Provayder umumiy manzilga ega va o‘z portlaridan birini sizning tunnel manzilingizga moslaydi. Mashinangiz o‘sha portga kelgan hamma narsani olib, Plex tinglovchisiga qayta yo‘naltiradi, u odatda loopback 32400 portida o‘tiradi. Keyin Plex ga tashqi port raqami aytiladi, shunda uning tekshiruvi tashqi dunyo teradigan raqamga mos keladi.
Har qanday bitta bo‘g‘inni uzsangiz, veb-interfeys masofaviy kirishni mavjud emas deb xabar beradi, qaysi bo‘g‘in ishlamay qolgani haqida hech qanday ishora bermaydi. Ana shu sukunat odamlarning serverni qayta ishga tushirishi, ilovani qayta o‘rnatishi va sozlamani qayta-qayta almashtirishi sababidir, ammo natija o‘zgarmaydi. Uchta bo‘g‘in mustaqil ravishda ishlamay qoladi: eskirgan tunnel manziliga qaratilgan yo‘naltirish, faqat Ethernet interfeysini qamrab oluvchi qayta yo‘naltirish va hanuz 32400 ni saqlab turgan Plex maydoni bir xil qizil matn hosil qiladi. Taxmin qilish o‘rniga tinglovchidan tashqariga qarab ishlang, va ishlamay qolgan bo‘g‘in odatda bir daqiqa ichida o‘zini nomlaydi.
Birinchi bo‘g‘in: VPN provayderida portni yo‘naltiring
Provayderning port yo‘naltirish sahifasini oching va moslashtirish qo‘shing. Aksariyat amalga oshirishlar sizga tasodifiy tashqi port beradi va ichkisini tanlashga ruxsat beradi, shuning uchun taqsimotni qabul qiling va uni mijozingiz hozir ushlab turgan tunnel manziliga qarating. O‘sha raqamni yozib qo‘ying, chunki har bir keyingi qadam uni aynan takrorlaydi.
Qayta ulanishda moslashtirishni aylantiradigan provayderlar bu sozlamaning bir kechada ishlab, keyin o‘lishining odatiy sababidir. Ba’zilari barqaror port so‘rashga ruxsat beradi, boshqalari har bir qo‘l siqishda yangisini tayinlaydi, shuning uchun boshqa narsaga tegishdan oldin joriy moslashtirish sahifasini o‘qing.
Ikkinchi bo‘g‘in: portni pf ankor bilan qayta yo‘naltiring
macOS da qayta yo‘naltirish pf ankorida bo‘ladi, paketni tashiy oladigan har bir interfeys uchun bitta qoida. Avval tunnel qoidasini, keyin Ethernet qoidasini yozing, ikkalasida ham bir xil tashqi port bo‘lsin, aks holda nosozlik vaqtida Wi-Fi orqali kelgan trafik hech qayerga tushmaydi.
# /etc/pf.anchors/plex.forward
rdr pass on tun0 inet proto tcp from any to any port 41893 -> 127.0.0.1 port 32400
rdr pass on en0 inet proto tcp from any to any port 41893 -> 127.0.0.1 port 32400
Ankor fayli o‘z-o‘zidan hech narsa qilmaydi; asosiy konfiguratsiya unga murojaat qilib, uni yuklashi kerak. Bu ikki satrni /etc/pf.conf ichiga, mavjud qayta yo‘naltirish qoidalaridan oldin qo‘ying, so‘ng qayta yuklang va yadro aslida nima qabul qilganini o‘qing.
rdr-anchor "plex"
load anchor "plex" from "/etc/pf.anchors/plex.forward"
sudo pfctl -vnf /etc/pf.anchors/plex.forward
sudo pfctl -f /etc/pf.conf
sudo pfctl -s nat
Noma’lum port haqidagi sintaksis shikoyati sizning tahriringizdan o‘rin egallovchi qolganini bildiradi. Bo‘sh nat jadvali ankor hech qachon yuklanmaganini bildiradi, va pf joriy macOS da standart bo‘yicha yoqilmaganligi uchun, sudo pfctl -E tuzatishning bir qismi, ixtiyoriy qo‘shimchalarning emas. Har qayta yuklashdan va har moslashtirish o‘zgarishidan keyin ankorni qayta yuklang. Ankor faylini versiya nazoratida saqlang, shunda provayder portining o‘zgarishi qaytadan kashf qilish mashqi emas, bir satrlik tahrir bo‘ladi.
Uchinchi bo‘g‘in: o‘sha portni Plex ichida mahkamlang
Plex da Sozlamalarni, keyin Serverni, keyin Masofaviy kirishni oching va portni qo‘lda ko‘rsatishga ruxsat beruvchi katakni belgilang. 32400 o‘rniga provayderning tashqi portini kiriting, so‘ng qayta yetib borish sinovini ishga tushiring. Yangi versiyalar bu boshqaruvni eski Connect sahifasidan uzoqlashtirgan, shuning uchun maydon qo‘llanma aytgan joyda bo‘lmasa Masofaviy kirish ostidan qarang.
LAN dan sinash hech narsani isbotlamaydi. Xuddi shu Wi-Fi dagi noutbuk serverga to‘g‘ridan-to‘g‘ri yetib boradi, shuning uchun umumiy yo‘l o‘lik bo‘lsa ham tekshiruv muvaffaqiyatli bo‘ladi. Uyali ma’lumotli telefondan yoki tarmog‘ingizdan tashqaridagi istalgan xostdan foydalaning va u yerdan umumiy manzil va tashqi portni tering.
Plex ni ayblashdan oldin har bir bo‘g‘inni tasdiqlang
Tinglovchidan boshlang va tashqariga qarab ishlang. Agar Plex faqat LAN manziliga bog‘langan bo‘lsa, u loopback ga qaratilgan qayta yo‘naltirishni e’tiborsiz qoldiradi, shuning uchun birinchi buyruq uning qayerda tinglayotganini isbotlaydigan buyruqdir.
sudo lsof -nP -iTCP:32400 -sTCP:LISTEN
Keyin qayta yo‘naltirish mavjudligini va provayderga bergan portingizga mos kelishini isbotlang. nat jadvali ikkala interfeysda ham bir xil tashqi portni ko‘rsatishi kerak.
sudo pfctl -s nat | grep 41893
nc -vz 203.0.113.42 41893
O‘sha oxirgi buyruqni Mac dan emas, tarmoqdan tashqarida bajaring. Agar TCP ulanishi uyali ma’lumotdan yakunlansa-yu, Plex hali ham mavjud emas deb ko‘rsatsa, port tinglovchiga yetib bormoqda, qolgan gumondor Plex maydoniga yozilgan raqamdir. Agar hech narsa umuman javob bermasa, uzilish yuqori tomonda: provayder moslashuvi, tunnel manzili yoki yoqilmagan pf.