Fjerntilgang slår over til utilgjengeleg i det augneblunken ein VPN tek over standardruta, medan den same tenaren held fram med å strøyme til LAN utan klagar. Ingenting i Plex-loggene forklarer endringa, fordi Plex ikkje er delen som gjekk i stykke: han publiserer ei adresse der trafikken ikkje lenger landar. Ein leverandør som deler éi offentleg adresse mellom kundar, videresender ei port til tunneladressa di, og noko på din eigen maskin må framleis flytte den porten til Plex-lyttaren. Alle tre ledda må bli samde om éi ekstern port før tilgjengelegheitstesten blir grøn.

Kjeda har tre ledd, og Plex ser berre det siste

Leverandøren eig ei offentleg adresse og mappar ei av portane sine til tunneladressa di. Maskina di tek alt som kjem inn på den porten og omdirigerer det til Plex-lyttaren, som vanlegvis sit på loopback-port 32400. Deretter får Plex vite nummeret på den eksterne porten, slik at hans eigen sjekk samsvarar med det omverda slår.

Bryt eitt enkelt ledd, og nettgrensesnittet rapporterer fjerntilgang som utilgjengeleg, utan antyding om kva ledd som svikta. Den stilla er grunnen til at folk startar tenaren på nytt, reinstalerer appen og slår innstillinga av og på igjen og igjen utan å flytte nåla. Dei tre ledda sviktar uavhengig: ei videresending retta mot ei utdatert tunneladresse, ei omdirigering som berre dekkjer Ethernet-grensesnittet, og eit Plex-felt som framleis held 32400 gjev alle den same raude teksten. Arbeid utover frå lyttaren i staden for å gjette, og det sviktande leddet namngjev seg vanlegvis innan eitt minutt.

Fyrste ledd: videresend ei port hos VPN-leverandøren

Opne portvideresendingssida til leverandøren og legg til ein mapping. Dei fleste implementasjonar gjev deg ei tilfeldig ekstern port og lèt deg velje den interne, så godta tildelinga og peik ho mot tunneladressa klienten din har akkurat no. Skriv ned det nummeret, fordi kvart seinare steg gjer det same nøyaktig.

Leverandørar som roterer mappinga ved gjenoppkopling er den vanlege grunnen til at dette oppsettet overlever ein kveld og deretter døyr. Nokre lèt deg be om ei stabil port, andre tildeler ei ny ved kvar handtrykk, så les den gjeldande mapping-sida før du rører noko anna.

Andre ledd: omdiriger porten med eit pf-anker

På macOS høyrer omdirigeringa til eit pf-anker, éi regel per grensesnitt som kan bera pakken. Skriv tunnelregelen fyrst og Ethernet-regelen deretter, med den same eksterne porten på begge, elles landar trafikk som kjem over Wi-Fi under ein failover, ingen stad.

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

Ankarfila åleine gjer ingenting; hovudkonfigurasjonen må visa til ho og lasta ho. Set desse to linjene i /etc/pf.conf før alle eksisterande omdirigeringsreglar, last deretter inn på nytt og les tilbake kva kjernen faktisk godtok.

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

Ein syntaksklage over ei ukjend port betyr at ein plasshaldar overlevde redigeringa di. Ei tom nat-tabell betyr at ankeret aldri vart lasta, og sidan pf ikkje er aktivert som standard på noverande macOS, høyrer sudo pfctl -E til i rettinga og ikkje i dei valfrie tillegga. Last ankeret på nytt etter kvar omstart og etter kvar mapping-endring. Hald ankarfila under versjonskontroll slik at ei leverandørportendring blir ei redigering på éi linje i staden for ei ny oppdaging.

Tredje ledd: fest den same porten inne i Plex

I Plex opnar du Innstillingar, deretter Tenar, deretter Fjerntilgang, og kryssar av i boksen som lèt deg angi ei port manuelt. Skriv inn den eksterne porten til leverandøren i staden for 32400, og la deretter tilgjengelegheitstesten køyre. Nyare versjonar har flytta denne kontrollen bort frå den eldre Connect-sida, så sjå under Fjerntilgang om feltet ikkje er der ei rettleiing påstår.

Testing frå LAN beviser overhovudet ingenting. Ein berbar PC på same Wi-Fi når tenaren direkte, så sjekken lukkast sjølv medan den offentlege vegen er død. Bruk ein telefon på mobildata, eller ein kva som helst vert utanfor nettverket ditt, og slå den offentlege adressa og den eksterne porten derfrå.

Stadfest kvart ledd før du gjev Plex skulda

Start ved lyttaren og arbeid utover. Viss Plex berre er bunde til LAN-adressa, vil han ignorera ei omdirigering retta mot loopback, så den fyrste kommandoen er den som beviser kvar han lyttar.

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

Deretter beviser du at omdirigeringa finst og samsvarar med porten du gav leverandøren. nat-tabellen skal visa den same eksterne porten på begge grensesnitta.

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

Køyr den siste kommandoen frå utanfor nettverket, ikkje frå Macen. Viss TCP-tilkoplinga blir fullført frå mobildata medan Plex framleis viser utilgjengeleg, når porten lyttaren, og den gjenverande mistenkte er nummeret som er skrive i Plex-feltet. Viss ingenting svarar i det heile, er brotet lenger oppe: mappinga til leverandøren, tunneladressa eller pf som ikkje er aktivert.

Relaterte artiklar