我正在使用 OS X、Viscosity 和 AirVPN。 AirVPN 支援連接埠轉發,我可以成功使用 uTorrent 和其他一些應用程式進行連接埠轉發…所以理論上這應該可行:
- 前往 AirVPN,取得轉送的隨機連接埠。例如,
18445
。 - 進入 Plex 媒體伺服器 > 設定 > 連線。勾選手動指定端口,輸入
18445
. - 點擊更新
但是,這行不通。我收到plex can't connect to you
訊息了。
我已經使用 telnet 驗證了這種情況。如果我telnet my.ip.addr 18445
什麼都得不到。如果我遠端登入 uTorrent 端口,我會收到回應。
那麼手動指定連接埠到底是什麼意思呢?看起來 plex 聲稱它將在該連接埠上打開一個外部套接字,但事實並非如此。
答案1
以下是我如何成功讓 MyPlex / PlexPass 與 VPN 搭配使用。
先決條件:
- Mac OS X Mavericks/Yosemite(尚未在 El Capitan 上驗證)
- PIA/AirVPN/其他(任何支援連接埠轉送的VPN都可以)
- Mac 上執行的任何 VPN 用戶端
腳步:
- 在 VPN 上轉送連接埠。
前往您的 VPN 網站新增連接埠轉送。
我正在使用 AirVPN,所以我訪問airvpn.org/ports/並點擊新增按鈕。不要填寫任何欄位。讓它分配一個隨機端口,並讓它轉發到同一個本地端口。
記下隨機產生的連接埠號碼。稍後您將需要它,每當您VPN_PORT
在下面的說明中看到時,您都將用這個數字替換它。
- 在本機電腦上設定連接埠重定向
Mavericks 10.9 和 Yosemite 10.10 使用pf
(OpenBSD 封包過濾器)進行連接埠重新導向。
使用該Terminal
應用程式存取命令列。
/etc/pf.anchors/my.plex.vpn.forward
使用您最喜歡的編輯器或 nano建立檔案:
sudo nano /etc/pf.anchors/my.plex.vpn.forward
將以下內容複製到文件中:
# To allow access to Plex Media Server from outside the VPN AirVPN
# local ethernet for testing (en0)
rdr pass on en0 inet proto tcp from any to any port VPN_PORT -> 127.0.0.1 port 32400
# OpenVPN presumably is tun0
rdr pass on tun0 inet proto tcp from any to any port VPN_PORT -> 127.0.0.1 port 32400
刪除VPN_PORT
第 3 行和第 5 行,然後複製您在上面記下的隨機連接埠。
儲存檔案並退出nano。
若要驗證您的連接埠轉送檔案是否正確:
sudo pfctl -vnf /etc/pf.anchors/my.plex.vpn.forward
如果您看到,unknown port VPN_PORT
那麼您忘記將文件中的 VPN_PORT 替換為您自己在步驟 1 中隨機產生的 VPN 連接埠。
建立一個pf
設定檔:
sudo nano /etc/pf.plex.conf
將其複製到其中:
rdr-anchor "my-plex"
load anchor "my-plex" from "/etc/pf.anchors/my.plex.vpn.forward"
啟動pf
(預設不運行)
sudo pfctl -ef /etc/pf.plex.conf
- 配置Plex伺服器
前往 Plex Media Server Web 介面 > 設定 > 伺服器 > 連接
確保您已使用 plexpass 登入。
選中該框Manually specify port
並輸入VPN_PORT
您在上面寫下的內容。單擊按鈕(更新/重試/其他)。
您將看到“正在連接伺服器...”
幾秒鐘後,您應該會看到“伺服器已映射到連接埠 [VPN_PORT]”
- 用您的手機測試一下
首先關閉WiFi。 (否則您的手機可能會連接到本地網絡,而這不是我們想要的。)
登入
現在應該會自動連線。如果沒有,請嘗試刷新、同步或等待一分鐘。
一旦您看到它正常工作,您就可以重新打開 WiFi。
額外的東西:
- 若要讓 pf 在重新啟動 Mac 時自動執行,請參閱OS X Server:如何啟用自適應防火牆(除了將conf檔從pf.conf改為pf.plex.conf)
- 您可以使用 telnet 從網路內部和外部進行測試,例如,
telnet IP.ADDR.OF.PLEXMAC VPN_PORT
如果它連接,您的設定是否正確。 - 如果 Plex 伺服器更新為偵聽所有網路介面(包括 VPN 介面),則不需要這樣做。