VPN демейки маршрутту өз колуна алган учурда алыскы кирүү жеткиликсиз болуп калат, ошол эле сервер LAN'га нааразылыксыз агымды улантат. Plex журналдарында бул өзгөрүүнү түшүндүргөн эч нерсе жок, анткени сынган бөлүк Plex эмес: ал трафик эми түшпөгөн даректи жарыялайт. Бир коомдук даректи кардарлардын ортосунда бөлүшкөн провайдер портту сиздин туннель дарегиңизге өткөрүп берет, ал эми сиздин машинеңиздеги бир нерсе ал портту Plex угуучусуна жеткирүүгө тийиш. Жеткиликтүүлүк тести жашыл болушу үчүн үч звенонун баары бир тышкы портко макул болушу керек.

Чынжырда үч звено бар, ал эми Plex акыркысын гана көрөт

Провайдердин коомдук дареги бар жана өз портторунун бирин сиздин туннель дарегиңизге салыштырат. Сиздин машинеңиз ошол портко келгендин баарын алып, аны Plex угуучусуна багыттайт, ал адатта loopback 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 таблицасы бекиткич эч качан жүктөлбөгөнүн билдирет, жана pf учурдагы macOS'то демейки боюнча күйгүзүлбөгөндүктөн, sudo pfctl -E оңдоонун бөлүгү, милдеттүү эмес кошумчалардын эмес. Ар бир кайра жүктөөдөн жана ар бир салыштыруу өзгөрүүсүнөн кийин бекиткичти кайра жүктөңүз. Бекиткич файлын версия көзөмөлүндө кармаңыз, ошондо провайдердин портунун өзгөрүүсү кайра ачуу көнүгүүсү эмес, бир саптык оңдоо болот.

Үчүнчү звено: ошол эле портту Plex ичинде бекитиңиз

Plex'те Жөндөөлөрдү, анан Серверди, анан Алыскы кирүүнү ачып, портту кол менен көрсөтүүгө мүмкүндүк берген кутучаны белгилеңиз. 32400 ордуна провайдердин тышкы портун киргизип, анан жеткиликтүүлүк тестинин иштешине жол бериңиз. Жаңы курулуштар бул башкарууну эски Connect баракчасынан алыстатты, ошондуктан талаа жетекчилик айткан жерде болбосо, Алыскы кирүүнүн астынан караңыз.

LAN'дан текшерүү эч нерсени далилдебейт. Ошол эле Wi-Fi'деги ноутбук серверге түз жетет, ошондуктан коомдук жол өлүк болсо да текшерүү ийгиликтүү болот. Уюлдук маалыматтагы телефонду же тармагыңыздан тышкаркы каалаган хостту колдонуп, ошол жерден коомдук даректи жана тышкы портту терүңүз.

Plex'ти күнөөлөөдөн мурун ар бир звенону ырастаңыз

Угуучудан баштап тышкары карай иштеңиз. Эгер Plex LAN дарегине гана байланган болсо, ал loopback'ке багытталган багыттоону этибарга албайт, ошондуктан биринчи буйрук анын кайда угуп жатканын далилдеген буйрук.

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.

Тектеш макалалар