Mae mynediad o bell yn troi'n anghyflawn yr eiliad y bydd VPN yn cymryd y llwybr diofyn, tra bo'r un gweinydd yn parhau i ffrydio i'r LAN heb gwyn. Nid oes dim yn logiau Plex yn esbonio'r newid, oherwydd nid Plex yw'r rhan a dorrodd: mae'n cyhoeddi cyfeiriad lle nad yw traffig yn glanio mwyach. Mae darparwr sy'n rhannu un cyfeiriad cyhoeddus rhwng cleientiaid yn anfon porth ymlaen i gyfeiriad eich tiwnel, ac mae rhywbeth ar eich peiriant eich hun yn dal i orfod symud y porth hwnnw i wrandawr Plex. Rhaid i'r tair dolen gytuno ar un porth allanol cyn i'r prawf cyrhaeddedd droi'n wyrdd.

Mae tair dolen yn y gadwyn, a dim ond yr un olaf mae Plex yn ei gweld

Mae'r darparwr yn berchen ar gyfeiriad cyhoeddus ac yn mapio un o'i byrth i gyfeiriad eich tiwnel. Mae eich peiriant yn cymryd popeth sy'n cyrraedd y porth hwnnw ac yn ei ailgyfeirio at wrandawr Plex, sydd fel arfer yn eistedd ar borth loopback 32400. Yna dywedir wrth Plex y rhif porth allanol fel bod ei brof ei hun yn cyfateb i'r hyn y mae'r byd allanol yn ei ddeialu.

Torrwch unrhyw un ddolen a bydd y rhyngwyneb gwe yn adrodd bod mynediad o bell yn anghyflawn, heb unrhyw awgrym pa ddolen a fethodd. Y distawrwydd hwnnw yw'r rheswm pam mae pobl yn ailgychwyn y gweinydd, yn ailosod yr ap ac yn toglo'r gosodiad drosodd a throsodd heb symud nodwydd. Mae'r tair dolen yn methu'n annibynnol: anfoniad porth ymlaen at gyfeiriad tiwnel hen, ailgyfeiriad sy'n cwmpasu'r rhyngwyneb Ethernet yn unig, a maes Plex sy'n dal 32400 i gyd yn cynhyrchu'r un testun coch. Gweithiwch allan o'r gwrandawr yn hytrach na dyfalu, ac mae'r ddolen fethu fel arfer yn enwi ei hun o fewn munud.

Dolen un: anfonwch borth ymlaen gan y darparwr VPN

Agorwch dudalen anfon pyrth ymlaen y darparwr ac ychwanegwch fapiad. Mae'r rhan fwyaf o weithrediadau'n rhoi porth allanol ar hap i chi ac yn gadael i chi ddewis yr un mewnol, felly derbyniwch y clustniad a'i anelu at gyfeiriad y tiwnel sydd gan eich cleient ar hyn o bryd. Ysgrifennwch y rhif hwnnw, oherwydd mae pob cam diweddarach yn ei ailadrodd yn union.

Darparwyr sy'n cylchdroi'r fapiad wrth aildgysylltu yw'r rheswm arferol pam mae'r gosodiad hwn yn goroesi noson ac yna'n marw. Mae rhai'n gadael i chi ofyn am borth sefydlog, eraill yn ailddyrannu un ar bob cydlawenfyd, felly darllenwch y dudalen fapiad gyfredol cyn cyffwrdd ag unrhyw beth arall.

Dolen dau: ailgyfeiriwch y porth gydag angor pf

Ar macOS mae'r ailgyfeiriad yn perthyn mewn angor pf, un rheol i bob rhyngwyneb sy'n gallu cario'r pecyn. Ysgrifennwch reol y tiwnel yn gyntaf a rheol Ethernet yn ail, gyda'r un porth allanol ar y ddwy, neu bydd traffig sy'n cyrraedd dros Wi-Fi yn ystod failover yn glanio yn unman.

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

Nid yw'r ffeil angor ar ei phen ei hun yn gwneud dim; rhaid i'r brif ffurfweddiad gyfeirio ati a'i llwytho. Rhowch y ddwy linell hyn yn /etc/pf.conf o flaen unrhyw reolau ailgyfeirio sydd eisoes yn bodoli, yna ail-lwythwch a darllenwch yn ôl yr hyn y derbyniodd y cnewyllyn mewn gwirionedd.

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

Mae cwyn cystrawen am borth anhysbys yn golygu bod daliwr lle wedi goroesi eich golygiad. Mae tabl nat gwag yn golygu na lwythwyd yr angor erioed, ac ers nad yw pf wedi'i alluogi'n ddiofyn ar macOS cyfredol, mae sudo pfctl -E yn perthyn i'r atgyweiriad yn hytrach na'r ychwanegion dewisol. Ail-lwythwch yr angor ar ôl pob ailgychwyn ac ar ôl pob newid fapiad. Cadwch y ffeil angor o dan reolaeth fersiwn fel bod newid porth gan y darparwr yn dod yn olygiad un llinell yn hytrach nag ymarfer ailddarganfod.

Dolen tri: pinwch yr un porth y tu mewn i Plex

Yn Plex, agorwch Osodiadau, yna Gweinydd, yna Mynediad o Bell, a thiciwch y blwch sy'n gadael i chi nodi porth â llaw. Nodwch borth allanol y darparwr yn hytrach na 32400, yna gadewch i'r prawf cyrhaeddedd redeg. Mae fersiynau mwy diweddar wedi symud y rheolaeth hon oddi wrth y dudalen Connect hŷn, felly edrychwch o dan Fynediad o Bell os nad yw'r maes lle mae canllaw'n honni ei fod.

Nid yw profi o'r LAN yn profi dim o gwbl. Mae gliniadur ar yr un Wi-Fi yn cyrraedd y gweinydd yn uniongyrchol, felly mae'r prawf yn llwyddo hyd yn oed tra bo'r llwybr cyhoeddus yn farw. Defnyddiwch ffôn ar ddata symudol, neu unrhyw westeiwr y tu allan i'ch rhwydwaith, a deialwch y cyfeiriad cyhoeddus a'r porth allanol oddi yno.

Cadarnhewch bob dolen cyn beio Plex

Dechreuwch gyda'r gwrandawr a gweithio allan. Os yw Plex wedi'i rwymo i gyfeiriad y LAN yn unig, bydd yn anwybyddu ailgyfeiriad at loopback, felly'r gorchymyn cyntaf yw'r un sy'n profi lle mae'n gwrando.

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

Nesaf, profwch fod yr ailgyfeiriad yn bodoli ac yn cyfateb i'r porth a roesoch i'r darparwr. Dylai'r tabl nat ddangos yr un porth allanol ar y ddau ryngwyneb.

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

Rhedwch y gorchymyn olaf hwnnw o'r tu allan i'r rhwydwaith, nid o'r Mac. Os yw'r cysylltiad TCP yn cwblhau o ddata symudol tra bo Plex yn dal i ddangos yn anghyflawn, mae'r porth yn cyrraedd y gwrandawr a'r unig amheuwr sy'n weddill yw'r rhif a deipiwyd i faes Plex. Os nad oes dim yn ateb o gwbl, mae'r toriad i fyny'r afon: mapiad y darparwr, cyfeiriad y tiwnel, neu pf heb ei alluogi.

Erthyglau cysylltiedig