VPN ले डिफल्ट मार्ग लिएको क्षणमै रिमोट पहुँच अनुपलब्ध हुन्छ, तर त्यही सर्भर कुनै गुनासो बिना LAN मा स्ट्रिम गरिरहन्छ। Plex का लगहरूमा यो परिवर्तनको कुनै व्याख्या छैन, किनकि बिग्रिएको भाग Plex होइन: यसले त्यस्तो ठेगाना प्रकाशित गर्छ जहाँ ट्राफिक अब पुग्दैन। ग्राहकहरूबीच एउटै सार्वजनिक ठेगाना बाँड्ने प्रदायकले एउटा पोर्ट तपाईंको टनेल ठेगानामा फर्वार्ड गर्छ, र तपाईंको आफ्नै मेसिनमा केही कुराले अझै त्यो पोर्ट Plex श्रोतासम्म पुर्याउनुपर्छ। पहुँच परीक्षण हरियो हुनुअघि तीनै कडीले एउटै बाह्य पोर्टमा सहमत हुनुपर्छ।

श्रृंखलामा तीन कडी छन्, र Plex ले अन्तिम मात्र देख्छ

प्रदायकसँग सार्वजनिक ठेगाना छ र आफ्ना पोर्टमध्ये एउटालाई तपाईंको टनेल ठेगानामा म्याप गर्छ। तपाईंको मेसिनले त्यो पोर्टमा आउने सबै लिन्छ र Plex श्रोतामा पुनर्निर्देशन गर्छ, जो सामान्यतया लूपब्याक पोर्ट 32400 मा बस्छ। त्यसपछि Plex लाई बाह्य पोर्ट नम्बर भनिन्छ ताकि यसको आफ्नै जाँच बाहिरी संसारले डायल गर्नेसँग मिलोस्।

कुनै एउटा कडी तोड्नुहोस् र वेब इन्टरफेसले रिमोट पहुँच अनुपलब्ध भएको जनाउँछ, कुन कडी असफल भयो भन्ने कुनै संकेत बिना। यही मौनता हो जसका कारण मानिसहरू सर्भर पुनः सुरु गर्छन्, एप पुनः स्थापना गर्छन् र सेटिङ बारम्बार टगल गर्छन् तर सुई हल्लिँदैन। तीनै कडी स्वतन्त्र रूपमा असफल हुन्छन्: पुरानो टनेल ठेगानामा लक्षित फर्वार्ड, Ethernet इन्टरफेस मात्र ढाक्ने पुनर्निर्देशन, र अझै 32400 राखेको Plex फिल्ड, सबैले एउटै रातो पाठ उत्पादन गर्छन्। अनुमान गर्नुको सट्टा श्रोताबाट बाहिर काम गर्नुहोस्, र असफल कडीले सामान्यतया एक मिनेटभित्र आफ्नो नाम बताउँछ।

पहिलो कडी: VPN प्रदायकमा पोर्ट फर्वार्ड गर्नुहोस्

प्रदायकको पोर्ट फर्वार्डिङ पृष्ठ खोल्नुहोस् र म्यापिङ थप्नुहोस्। अधिकांश कार्यान्वयनले तपाईंलाई अनियमित बाह्य पोर्ट दिन्छन् र भित्री छान्न दिन्छन्, त्यसैले आवंटन स्वीकार गर्नुहोस् र यसलाई तपाईंको क्लाइन्टसँग अहिले भएको टनेल ठेगानामा लक्षित गर्नुहोस्। त्यो नम्बर लेख्नुहोस्, किनकि प्रत्येक पछिल्लो चरणले यसलाई ठ्याक्कै दोहोर्याउँछ।

पुनः जडान हुँदा म्यापिङ घुमाउने प्रदायकहरू यो सेटअप एक साँझ टिकेर त्यसपछि मर्ने सामान्य कारण हुन्। केहीले स्थिर पोर्ट माग्न दिन्छन्, अरूले प्रत्येक ह्यान्डशेकमा नयाँ आवंटन गर्छन्, त्यसैले अरू केही छुनुअघि हालको म्यापिङ पृष्ठ पढ्नुहोस्।

दोस्रो कडी: pf एङ्करले पोर्ट पुनर्निर्देशन गर्नुहोस्

macOS मा पुनर्निर्देशन pf एङ्करमा जान्छ, प्याकेट बोक्न सक्ने प्रत्येक इन्टरफेसका लागि एउटा नियम। पहिले टनेल नियम र त्यसपछि Ethernet नियम लेख्नुहोस्, दुवैमा त्यही बाह्य पोर्ट राख्नुहोस्, नत्र फेलओभरका बेला Wi-Fi बाट आउने ट्राफिक कतै पनि अवतरण हुँदैन।

# /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

एङ्कर फाइल आफैंले केही गर्दैन; मुख्य कन्फिगरेसनले यसलाई सन्दर्भ गर्नुपर्छ र लोड गर्नुपर्छ। यी दुई लाइन /etc/pf.conf मा राख्नुहोस्, कुनै पनि हालका पुनर्निर्देशन नियमभन्दा पहिले, त्यसपछि पुनः लोड गर्नुहोस् र कर्नेलले वास्तवमा के स्वीकार गर्यो पढ्नुहोस्।

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

अज्ञात पोर्टबारे सिन्ट्याक्स गुनासोको अर्थ तपाईंको सम्पादनबाट प्लेसहोल्डर बाँकी रह्यो। खाली nat तालिकाको अर्थ एङ्कर कहिल्यै लोड भएन, र हालको macOS मा pf डिफल्ट रूपमा सक्षम नभएकोले, sudo pfctl -E सुधारको भाग हो, वैकल्पिक थप होइन। प्रत्येक रिबुटपछि र प्रत्येक म्यापिङ परिवर्तनपछि एङ्कर पुनः लोड गर्नुहोस्। एङ्कर फाइललाई संस्करण नियन्त्रणमा राख्नुहोस् ताकि प्रदायकको पोर्ट परिवर्तन पुनः खोजीको अभ्यास होइन, एक लाइनको सम्पादन बनोस्।

तेस्रो कडी: Plex भित्र त्यही पोर्ट पिन गर्नुहोस्

Plex मा सेटिङ खोल्नुहोस्, त्यसपछि सर्भर, त्यसपछि रिमोट पहुँच, र हातले पोर्ट निर्दिष्ट गर्न दिने बाकसमा टिक गर्नुहोस्। 32400 को सट्टा प्रदायकको बाह्य पोर्ट हाल्नुहोस्, त्यसपछि पहुँच परीक्षण चल्न दिनुहोस्। नयाँ बिल्डहरूले यो नियन्त्रण पुरानो Connect पृष्ठबाट सारेका छन्, त्यसैले कुनै मार्गदर्शिकाले भनेको ठाउँमा फिल्ड नभए रिमोट पहुँचमुनि हेर्नुहोस्।

LAN बाट परीक्षण गर्दा केही पनि प्रमाणित हुँदैन। उही Wi-Fi मा भएको ल्यापटप सिधै सर्भरमा पुग्छ, त्यसैले सार्वजनिक मार्ग मृत हुँदा पनि जाँच सफल हुन्छ। सेलुलर डेटामा फोन, वा तपाईंको नेटवर्क बाहिरको कुनै पनि होस्ट प्रयोग गर्नुहोस् र त्यहाँबाट सार्वजनिक ठेगाना र बाह्य पोर्ट डायल गर्नुहोस्।

Plex लाई दोष दिनुअघि प्रत्येक कडी पुष्टि गर्नुहोस्

श्रोताबाट सुरु गर्नुहोस् र बाहिर काम गर्नुहोस्। Plex LAN ठेगानामा मात्र बाँधिएको छ भने यसले लूपब्याकतर्फको पुनर्निर्देशन बेवास्ता गर्नेछ, त्यसैले पहिलो आदेश त्यो हो जसले यो कहाँ सुन्छ भनी प्रमाणित गर्छ।

sudo lsof -nP -iTCP:32400 -sTCP:LISTEN

त्यसपछि पुनर्निर्देशन अवस्थित छ र तपाईंले प्रदायकलाई दिएको पोर्टसँग मिल्छ भनी प्रमाणित गर्नुहोस्। nat तालिकाले दुवै इन्टरफेसमा त्यही बाह्य पोर्ट देखाउनुपर्छ।

sudo pfctl -s nat | grep 41893
nc -vz 203.0.113.42 41893

त्यो अन्तिम आदेश Mac बाट होइन, नेटवर्क बाहिरबाट चलाउनुहोस्। यदि सेलुलरबाट TCP जडान पूरा हुन्छ तर Plex अझै अनुपलब्ध देखाउँछ भने, पोर्ट श्रोतासम्म पुगिरहेको छ र बाँकी शंकास्पद Plex फिल्डमा लेखिएको नम्बर हो। यदि केही पनि जवाफ दिँदैन भने, टुटाइ माथितिर छ: प्रदायकको म्यापिङ, टनेल ठेगाना, वा pf सक्षम नहुनु।

सम्बन्धित लेखहरू