Kí ni idi tí ìwọlé jíjìnnà Plex fi kùnà lẹ́yìn VPN àti bí a ṣe lè tún un ṣe
Ìwọlé jíjìnnà Plex lẹ́yìn VPN nílò ìsopọ̀ mẹ́ta: pípénítà pọ́ọ̀tì ní ọ̀dọ̀ olùpèsè, ìtọ́sọ́nà pf àdúgbò àti pọ́ọ̀tì ìta kan náà tí a tẹ̀ sínú Plex.
Ìwọlé jíjìnnà yí padà sí àìsí ní àkókò tí VPN gbà ipa ọ̀nà àkọ́kọ́, nígbà tí server kan náà ń tẹ̀síwájú sí LAN láìsí ẹ̀sùn. Kò sí ohun kan nínú àwọn àkọsílẹ̀ Plex tí ó ṣàlàyé ìyípadà, nítorí Plex kì í ṣe apá tí ó bàjẹ́: ó ń polongo àdírẹ́sì kan tí ìrìn kò dé mọ́. Olùpèsè tí ó ń pín àdírẹ́sì gbogbo ènìyàn kan láàárín àwọn oníbàárà ń fi pọ́ọ̀tì kan ránṣẹ́ sí àdírẹ́sì tunnel rẹ, ohun kan lórí ẹ̀rọ rẹ fúnra rẹ̀ sí ní láti gbé pọ́ọ̀tì yẹn lọ sí olùgbọ́ Plex. Gbogbo ìsopọ̀ mẹ́ta yẹ kí ó gbà lórí pọ́ọ̀tì ìta kan ṣoṣo kí ìdánwò ìwọlé tó di àwọ̀ ewé.
Ẹ̀wọ̀n náà ní ìsopọ̀ mẹ́ta, Plex sì ń rí ìkẹyìn nìkan
Olùpèsè ní àdírẹ́sì gbogbo ènìyàn kan ó sì ń ya ọ̀kan nínú àwọn pọ́ọ̀tì rẹ̀ mọ́ àdírẹ́sì tunnel rẹ. Ẹ̀rọ rẹ gba gbogbo ohun tí ó dé lórí pọ́ọ̀tì yẹn ó sì ń tọ́ ọ sí olùgbọ́ Plex, tí ó sábà jókòó lórí pọ́ọ̀tì loopback 32400. Lẹ́yìn náà a sọ nọ́mbà pọ́ọ̀tì ìta fún Plex kí ìwádìí tirẹ̀ lè bá ohun tí ayé ìta ń tẹ̀ mu.
Fọ́ ìsopọ̀ kan ṣoṣo kí ó sì jẹ́ kí ìfarahàn wẹ́ẹ̀bù sọ ìwọlé jíjìnnà ní àìsí, láìsí àmì kankan pé ìsopọ̀ wo ló kùnà. Ìdákẹ́jẹ́ yẹn ni ìdí tí àwọn ènìyàn fi ń tun server ṣe, tí wọ́n ń fi app sọ́nà, tí wọ́n sì ń yí ètò náà padà lẹ́ẹ̀kọ̀ọ̀kan láìsí pé ọ̀pá ìgbà náà ń gbé. Àwọn ìsopọ̀ mẹ́ta kùnà lọ́nà àràọ̀tọ̀: ìránṣẹ́ tí ó dojú kọ àdírẹ́sì tunnel àtijọ́, ìtọ́sọ́nà tí ó bo interface Ethernet nìkan, àti pápá Plex tí ó ṣì ń di 32400 mú gbogbo wọn ń mú ọ̀rọ̀ pupa kan náà jáde. Ṣiṣẹ́ láti olùgbọ́ sí ìta dípò kí o ṣe àfojúsùn, ìsopọ̀ tí ó kùnà yóò sábà pe orúkọ ara rẹ̀ ní ìṣẹ́jú kan.
Ìsopọ̀ kìíní: rán pọ́ọ̀tì kan lọ ní ọ̀dọ̀ olùpèsè VPN
Ṣí ojú-ìwé pípénítà pọ́ọ̀tì olùpèsè kí o sì fi ìyàsọ́tọ̀ kún un. Ọ̀pọ̀lọpọ̀ ìmúṣẹ ń fún ọ ní pọ́ọ̀tì ìta àìdájú tí wọ́n sì jẹ́ kí o yan ti inú, nítorí náà gba ìpín náà kí o sì tọ́ ọ sí àdírẹ́sì tunnel tí alábàárà rẹ ní báyìí. Kọ nọ́mbà yẹn sílẹ̀, nítorí gbogbo ìgbésẹ̀ tó tẹ̀le yóò tún un ṣe gẹ́gẹ́ bí ó ti rí.
Àwọn olùpèsè tí wọ́n ń yí ìyàsọ́tọ̀ padà nígbà ìsopọ̀ tuntun ni ìdí tí ètò yìí fi lè dúró ní àárọ̀ kan tí yóò sì kú lẹ́yìn náà. Àwọn kan jẹ́ kí o béèrè pọ́ọ̀tì tí ó dúró ṣinṣin, Àwọn mìíràn ń pín tuntun ní gbogbo ìfọwọ́bá, nítorí náà ka ojú-ìwé ìyàsọ́tọ̀ lọ́wọ́lọ́wọ́ kí o tó fọwọ́ kan ohunkóhun mìíràn.
Ìsopọ̀ kejì: tọ́ pọ́ọ̀tì náà sí ọ̀nà mìíràn pẹ̀lú àmùrè pf
Lórí macOS ìtọ́sọ́nà wà nínú àmùrè pf, òfin kan fún gbogbo interface tí ó lè gbé àpò náà. Kọ òfin tunnel ní àkọ́kọ́ kí o sì kọ òfin Ethernet lẹ́yìn náà, pẹ̀lú pọ́ọ̀tì ìta kan náà lórí méjèèjì, bí bẹ́ẹ̀ kọ́ ìrìn tí ó dé nípasẹ̀ Wi-Fi nígbà ìyípadà kò ní balẹ̀ kankan.
# /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
Fáìlì àmùrè fúnra rẹ̀ kò ṣe ohunkóhun; ètò àkọ́kọ́ gbọ́dọ̀ tọ́ka sí i kí ó sì gbé e wọlé. Fi àwọn ìlà méjì yìí sínú /etc/pf.conf ṣáájú gbogbo òfin ìtọ́sọ́nà tí ó wà, lẹ́yìn náà gbé e wọlé lẹ́ẹ̀kan sí i kí o sì ka ohun tí kérnẹ́lì gbà gan-an.
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ùn ìṣekọ́ọ̀ sórí pọ́ọ̀tì àìmọ̀ túmọ̀ sí pé àpò-ìsínú kan yè sílẹ̀ nínú àtúnṣe rẹ. Tábìlì nat tí ó ṣófo túmọ̀ sí pé a kò gbé àmùrè wọlé rí, àti nítorí pé pf kò ṣiṣẹ́ lábẹ́ àkọ́kọ́ lórí macOS ìsinsìnyí, sudo pfctl -E jẹ́ apá àtúnṣe, kì í ṣe àwọn àfikún àṣàyàn. Gbé àmùrè wọlé lẹ́ẹ̀kan sí i lẹ́yìn gbogbo àtúnbẹ̀rẹ̀ àti lẹ́yìn gbogbo ìyípadà ìyàsọ́tọ̀. Tọ́jú fáìlì àmùrè lábẹ́ ìṣàkóso ẹ̀yà kí ìyípadà pọ́ọ̀tì olùpèsè lè di àtúnṣe ìlà kan dípò ìwádìí tuntun.
Ìsopọ̀ kẹta: kan pọ́ọ̀tì kan náà mọ́ inú Plex
Nínú Plex ṣí Ètò, lẹ́yìn náà Server, lẹ́yìn náà Ìwọlé Jíjìnnà, kí o sì samisi àpótí tí ó jẹ́ kí o tọ́ka pọ́ọ̀tì pẹ̀lú ọwọ́. Tẹ pọ́ọ̀tì ìta olùpèsè sínú dípò 32400, lẹ́yìn náà jẹ́ kí ìdánwò ìwọlé ṣiṣẹ́. Àwọn ẹ̀dá tuntun ti gbé ìṣàkóso yìí kúrò ní ojú-ìwé Connect àtijọ́, nítorí náà wo lábẹ́ Ìwọlé Jíjìnnà bí pápá kò bá sí ibi tí ìtọ́sọ́nà kan sọ.
Ìdánwò láti LAN kò fi ohunkóhun hàn. Kọ̀mpútà àgbékalẹ̀ lórí Wi-Fi kan náà dé server tààrà, nítorí náà ìwádìí náà máa ń ṣàṣeyọrí bí ó tilẹ̀ jẹ́ pé ọ̀nà gbogbo ènìyàn ti kú. Lo fọ́nì tí ó ní dátà sẹ́lúlá, tàbí olùgbàlejòkó kan tí ó wà lóde nẹ́tíwọ́kì rẹ, kí o sì tẹ àdírẹ́sì gbogbo ènìyàn àti pọ́ọ̀tì ìta níbẹ̀.
Jẹ́rìí gbogbo ìsopọ̀ kí o tó dá Plex lẹ́bi
Bẹ̀rẹ̀ ní olùgbọ́ kí o sì ṣiṣẹ́ sí ìta. Bí Plex bá so mọ́ àdírẹ́sì LAN nìkan, yóò kọbi ara sí ìtọ́sọ́nà tí ó dojú kọ loopback, nítorí náà àṣẹ àkọ́kọ́ ni èyí tí ó fi hàn ibi tí ó ń gbọ́.
sudo lsof -nP -iTCP:32400 -sTCP:LISTEN
Lẹ́yìn náà fi hàn pé ìtọ́sọ́nà wà pé ó sì bá pọ́ọ̀tì tí o fún olùpèsè mu. Tábìlì nat yẹ kí ó fi pọ́ọ̀tì ìta kan náà hàn lórí interface méjèèjì.
sudo pfctl -s nat | grep 41893
nc -vz 203.0.113.42 41893
Ṣe àṣẹ ìkẹyìn yẹn láti ìta nẹ́tíwọ́kì, kì í ṣe láti Mac. Bí ìsopọ̀ TCP bá parí láti dátà sẹ́lúlá nígbà tí Plex ṣì ń fi àìsí hàn, pọ́ọ̀tì ń dé olùgbọ́, ẹni tí ó kù tí a fura sí ni nọ́mbà tí a tẹ sínú pápá Plex. Bí ohunkóhun kò bá dáhùn rárá, ìjámbá wà lókè: ìyàsọ́tọ̀ olùpèsè, àdírẹ́sì tunnel, tàbí pf tí kò ṣiṣẹ́.