VPN ਪਿੱਛੇ Plex ਦੀ ਰਿਮੋਟ ਪਹੁੰਚ ਕਿਉਂ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰੀਏ
VPN ਪਿੱਛੇ Plex ਰਿਮੋਟ ਪਹੁੰਚ ਲਈ ਤਿੰਨ ਕੜੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ: ਪ੍ਰਦਾਤਾ ਕੋਲ ਪੋਰਟ ਫਾਰਵਰਡ, ਸਥਾਨਕ pf ਰੀਡਾਇਰੈਕਟ ਅਤੇ Plex ਵਿੱਚ ਟਾਈਪ ਕੀਤਾ ਉਹੀ ਬਾਹਰੀ ਪੋਰਟ।
VPN ਵੱਲੋਂ ਡਿਫ਼ਾਲਟ ਰੂਟ ਲੈਣ ਦੇ ਪਲ ਹੀ ਰਿਮੋਟ ਪਹੁੰਚ ਅਣਉਪਲਬਧ ਹੋ ਜਾਂਦੀ ਹੈ, ਜਦਕਿ ਉਹੀ ਸਰਵਰ ਬਿਨਾਂ ਕਿਸੇ ਸ਼ਿਕਾਇਤ ਦੇ LAN ਵੱਲ ਸਟ੍ਰੀਮ ਕਰਦਾ ਰਹਿੰਦਾ ਹੈ। Plex ਦੇ ਲੌਗਾਂ ਵਿੱਚ ਇਸ ਬਦਲਾਅ ਦੀ ਕੋਈ ਵਿਆਖਿਆ ਨਹੀਂ ਹੈ, ਕਿਉਂਕਿ ਟੁੱਟਿਆ ਹਿੱਸਾ Plex ਨਹੀਂ ਹੈ: ਇਹ ਉਹ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਟ੍ਰੈਫ਼ਿਕ ਹੁਣ ਨਹੀਂ ਪਹੁੰਚਦਾ। ਜੋ ਪ੍ਰਦਾਤਾ ਗਾਹਕਾਂ ਵਿਚਕਾਰ ਇੱਕ ਜਨਤਕ ਪਤਾ ਸਾਂਝਾ ਕਰਦਾ ਹੈ, ਉਹ ਇੱਕ ਪੋਰਟ ਤੁਹਾਡੇ ਟਨਲ ਪਤੇ ਵੱਲ ਫਾਰਵਰਡ ਕਰਦਾ ਹੈ, ਅਤੇ ਤੁਹਾਡੀ ਆਪਣੀ ਮਸ਼ੀਨ ਉੱਤੇ ਕੁਝ ਨੂੰ ਅਜੇ ਵੀ ਉਹ ਪੋਰਟ Plex ਸਰੋਤੇ ਤੱਕ ਪਹੁੰਚਾਉਣਾ ਪੈਂਦਾ ਹੈ। ਪਹੁੰਚਯੋਗਤਾ ਟੈਸਟ ਹਰਾ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤਿੰਨੇ ਕੜੀਆਂ ਨੂੰ ਇੱਕੋ ਬਾਹਰੀ ਪੋਰਟ ਉੱਤੇ ਸਹਿਮਤ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
ਜ਼ੰਜੀਰ ਵਿੱਚ ਤਿੰਨ ਕੜੀਆਂ ਹਨ, ਅਤੇ Plex ਸਿਰਫ਼ ਆਖ਼ਰੀ ਦੇਖਦਾ ਹੈ
ਪ੍ਰਦਾਤਾ ਕੋਲ ਇੱਕ ਜਨਤਕ ਪਤਾ ਹੈ ਅਤੇ ਉਹ ਆਪਣੇ ਇੱਕ ਪੋਰਟ ਨੂੰ ਤੁਹਾਡੇ ਟਨਲ ਪਤੇ ਉੱਤੇ ਮੈਪ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਉਸ ਪੋਰਟ ਉੱਤੇ ਆਉਣ ਵਾਲਾ ਸਭ ਕੁਝ ਲੈਂਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ Plex ਸਰੋਤੇ ਵੱਲ ਰੀਡਾਇਰੈਕਟ ਕਰਦੀ ਹੈ, ਜੋ ਆਮ ਤੌਰ ਉੱਤੇ ਲੂਪਬੈਕ ਪੋਰਟ 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 ਸਾਰਣੀ ਦਾ ਅਰਥ ਹੈ ਕਿ ਐਂਕਰ ਕਦੇ ਵੀ ਲੋਡ ਨਹੀਂ ਹੋਇਆ, ਅਤੇ ਕਿਉਂਕਿ ਮੌਜੂਦਾ macOS ਉੱਤੇ pf ਡਿਫ਼ਾਲਟ ਰੂਪ ਵਿੱਚ ਸਮਰੱਥ ਨਹੀਂ ਹੈ, sudo pfctl -E ਸੁਧਾਰ ਦਾ ਹਿੱਸਾ ਹੈ, ਵਿਕਲਪਿਕ ਵਾਧਿਆਂ ਦਾ ਨਹੀਂ। ਹਰ ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਅਤੇ ਹਰ ਮੈਪਿੰਗ ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ ਐਂਕਰ ਮੁੜ ਲੋਡ ਕਰੋ। ਐਂਕਰ ਫ਼ਾਈਲ ਨੂੰ ਵਰਜ਼ਨ ਕੰਟਰੋਲ ਵਿੱਚ ਰੱਖੋ ਤਾਂ ਜੋ ਪ੍ਰਦਾਤਾ ਦੀ ਪੋਰਟ ਤਬਦੀਲੀ ਮੁੜ ਖੋਜਣ ਦੀ ਕਸਰਤ ਦੀ ਥਾਂ ਇੱਕ ਲਾਈਨ ਦਾ ਸੰਪਾਦਨ ਬਣੇ।
ਤੀਜੀ ਕੜੀ: Plex ਦੇ ਅੰਦਰ ਉਹੀ ਪੋਰਟ ਪਿੰਨ ਕਰੋ
Plex ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ, ਫਿਰ ਸਰਵਰ, ਫਿਰ ਰਿਮੋਟ ਪਹੁੰਚ, ਅਤੇ ਉਸ ਬਾਕਸ ਉੱਤੇ ਟਿੱਕ ਕਰੋ ਜੋ ਤੁਹਾਨੂੰ ਹੱਥ ਨਾਲ ਪੋਰਟ ਦੱਸਣ ਦਿੰਦਾ ਹੈ। 32400 ਦੀ ਥਾਂ ਪ੍ਰਦਾਤਾ ਦੀ ਬਾਹਰੀ ਪੋਰਟ ਦਾਖਲ ਕਰੋ, ਫਿਰ ਪਹੁੰਚਯੋਗਤਾ ਟੈਸਟ ਚੱਲਣ ਦਿਓ। ਨਵੇਂ ਬਿਲਡ ਨੇ ਇਸ ਨਿਯੰਤਰਣ ਨੂੰ ਪੁਰਾਣੇ Connect ਸਫ਼ੇ ਤੋਂ ਦੂਰ ਕਰ ਦਿੱਤਾ ਹੈ, ਇਸ ਲਈ ਜੇ ਖੇਤਰ ਉੱਥੇ ਨਹੀਂ ਹੈ ਜਿੱਥੇ ਕੋਈ ਗਾਈਡ ਦਾਅਵਾ ਕਰਦੀ ਹੈ ਤਾਂ ਰਿਮੋਟ ਪਹੁੰਚ ਹੇਠ ਦੇਖੋ।
LAN ਤੋਂ ਜਾਂਚ ਕਰਨਾ ਕੁਝ ਵੀ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ। ਉਸੇ Wi-Fi ਉੱਤੇ ਲੈਪਟਾਪ ਸਿੱਧਾ ਸਰਵਰ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਇਸ ਲਈ ਜਨਤਕ ਰਾਹ ਮਰੇ ਹੋਣ ਸਮੇਂ ਵੀ ਜਾਂਚ ਸਫਲ ਹੁੰਦੀ ਹੈ। ਸੈਲੂਲਰ ਡੇਟਾ ਵਾਲਾ ਫ਼ੋਨ, ਜਾਂ ਤੁਹਾਡੇ ਨੈੱਟਵਰਕ ਤੋਂ ਬਾਹਰ ਕੋਈ ਵੀ ਹੋਸਟ ਵਰਤੋ ਅਤੇ ਉੱਥੋਂ ਜਨਤਕ ਪਤਾ ਅਤੇ ਬਾਹਰੀ ਪੋਰਟ ਡਾਇਲ ਕਰੋ।
Plex ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਕੜੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
ਸਰੋਤੇ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਬਾਹਰ ਵੱਲ ਕੰਮ ਕਰੋ। ਜੇ Plex ਸਿਰਫ਼ LAN ਪਤੇ ਨਾਲ ਬੱਝਾ ਹੈ ਤਾਂ ਇਹ ਲੂਪਬੈਕ ਵੱਲ ਦੇ ਰੀਡਾਇਰੈਕਟ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰੇਗਾ, ਇਸ ਲਈ ਪਹਿਲਾ ਆਦੇਸ਼ ਉਹੀ ਹੈ ਜੋ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਕਿੱਥੇ ਸੁਣਦਾ ਹੈ।
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 ਸਮਰੱਥ ਨਾ ਹੋਣਾ।