Miks Plexi kaugjuurdepääs VPN-i taga ei tööta ja kuidas seda parandada
Plexi kaugjuurdepääs VPN-i taga vajab kolme lüli: portide edastust teenusepakkuja juures, kohalikku pf-ümbersuunamist ja sama välisporti, mis on Plexi sisestatud.
Kaugjuurdepääs muutub kättesaamatuks hetkel, mil VPN võtab üle vaikimisi marsruudi, samal ajal kui sama server jätkab LAN-i voogedastust ilma kurtmata. Miski Plexi logides ei selgita muutust, sest Plex ei ole see osa, mis katki läks: see avaldab aadressi, kuhu liiklus enam ei jõua. Teenusepakkuja, kes jagab klientide vahel ühte avalikku aadressi, edastab pordi sinu tunneliaadressile, ja midagi sinu enda masinas peab selle pordi ikkagi Plexi kuulajani viima. Kõik kolm lüli peavad enne kättesaadavuse testi roheliseks muutumist kokku leppima ühes välispordis.
Ahelas on kolm lüli ja Plex näeb ainult viimast
Teenusepakkujal on avalik aadress ja ta kaardistab ühe oma portidest sinu tunneliaadressile. Sinu masin võtab kõik, mis sellele pordile saabub, ja suunab selle Plexi kuulajale, mis tavaliselt asub loopback-pordil 32400. Seejärel öeldakse Plexile välisporti number, et selle enda sond vastaks sellele, mida välisilm valib.
Katkesta ükskõik milline üksik lüli ja veebiliides teavitab kaugjuurdepääsu kättesaamatuna, ilma vihjetagi, milline lüli ebaõnnestus. See vaikus on põhjus, miks inimesed serverit taaskäivitavad, rakendust uuesti paigaldavad ja seadet ikka ja jälle ümber lülitavad, ilma et osuti liiguks. Kolm lüli ebaõnnestuvad sõltumatult: vananenud tunneliaadressile suunatud edastus, ainult Etherneti liidest kattev ümbersuunamine ja Plexi väli, mis hoiab endiselt 32400, annavad kõik sama punase teksti. Tööta kuulajast väljapoole, selle asemel et oletada, ja rikkis lüli nimetab end tavaliselt minuti jooksul.
Esimene lüli: edasta port VPN-i teenusepakkuja juures
Ava teenusepakkuja portide edastamise leht ja lisa kaardistus. Enamik lahendusi annab sulle juhusliku välisporti ja laseb valida sisemise, seega võta määramine vastu ja suuna see tunneliaadressile, mis sinu kliendil praegu on. Kirjuta see number üles, sest iga järgnev samm kordab seda täpselt.
Pakkujad, kes pööravad kaardistust taasühendamisel, on tavaline põhjus, miks see seadistus peab vastu ühe õhtu ja sureb siis. Mõned lasevad sul taotleda püsivat porti, teised määravad iga käepigistuse järel uue, seega loe enne millegi muu puutumist praegust kaardistuslehte.
Teine lüli: suuna port ümber pf-ankruga
macOS-is kuulub ümbersuunamine pf-ankrusse, üks reegel iga liidese kohta, mis suudab paketti kanda. Kirjuta tunnelireegel esimesena ja Etherneti reegel teisena, mõlemal sama välisport, muidu maandub Wi-Fi kaudu ümberlülituse ajal saabuv liiklus mitte kuskile.
# /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
Ankrufail iseenesest ei tee midagi; peakonfiguratsioon peab sellele viitama ja selle laadima. Pane need kaks rida /etc/pf.conf ette kõikidele olemasolevatele ümbersuunamisreeglitele, seejärel laadi uuesti ja loe tagasi, mida tuum tegelikult vastu võttis.
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
Süntaksikaebus tundmatu pordi kohta tähendab, et kohatäide jäi sinu muudatusest alles. Tühi nat-tabel tähendab, et ankrut ei laaditud kunagi, ja kuna pf ei ole praeguses macOS-is vaikimisi lubatud, kuulub sudo pfctl -E paranduse juurde, mitte valikuliste lisade juurde. Laadi ankur uuesti pärast igat taaskäivitust ja pärast igat kaardistuse muutust. Hoia ankrufail versioonihalduses, et pakkuja pordi muutusest saaks üherealune muudatus, mitte uus avastusretk.
Kolmas lüli: kinnita sama port Plexi sees
Ava Plexis Seaded, seejärel Server, seejärel Kaugjuurdepääs, ja märgi ruut, mis lubab sul pordi käsitsi määrata. Sisesta pakkuja välisport 32400 asemel ja lase seejärel kättesaadavuse testil joosta. Uuemad versioonid on selle juhtnupu vanemalt Connect-lehelt eemale viinud, seega vaata Kaugjuurdepääsu alt, kui väli ei ole seal, kus juhend väidab.
LAN-ist testimine ei tõesta üldse mitte midagi. Sama Wi-Fi sülearvuti jõuab serverini otse, seega õnnestub sond ka siis, kui avalik tee on surnud. Kasuta mobiilse andmesidega telefoni või mistahes hosti väljaspool oma võrku ja vali sealt avalik aadress ja välisport.
Kinnita iga lüli, enne kui Plexi süüdistad
Alusta kuulajast ja tööta väljapoole. Kui Plex on seotud ainult LAN-i aadressiga, eirab see loopbackile suunatud ümbersuunamist, seega on esimene käsk see, mis tõestab, kus see kuulab.
sudo lsof -nP -iTCP:32400 -sTCP:LISTEN
Järgmisena tõesta, et ümbersuunamine on olemas ja vastab pordile, mille pakkujale andsid. nat-tabel peaks näitama sama välisporti mõlemal liidesel.
sudo pfctl -s nat | grep 41893
nc -vz 203.0.113.42 41893
Käivita see viimane käsk väljaspool võrku, mitte Macist. Kui TCP-ühendus lõpeb mobiilse andmeside kaudu, samal ajal kui Plex näitab endiselt kättesaamatust, jõuab port kuulajani ja ülejäänud kahtlusalune on Plexi väljale trükitud number. Kui miski üldse ei vasta, on katkestus ülalpool: pakkuja kaardistus, tunneliaadress või lubamata pf.