
我最近在我的 pi 上安裝了 openvpn,以便 pihole 和其他一些進程可以在 VPN 後面運行。雖然到目前為止效果很好,但它顯然破壞了對我的 Plex 伺服器的遠端訪問,該伺服器依賴路由器上的連接埠轉送。因此,經過一些研究,似乎為 Plex 創建一個命名空間是可行的方法……但對我來說,我無法讓它工作。我希望有一些精通網路的人可以幫助我。
這是我使用 macvlan 設定命名空間的過程(我的 pi 的本地位址是 192.168.1.15,我將命名空間設定在 192.168.1.30 下)。自從我以 pi 身份登入以來,所有這些都使用了 sudo:
ip netns add plexns
啟動環回介面
ip netns exec plexns ip addr add 127.0.0.1/8 dev lo
ip netns exec plexns ip link set lo up
建立 macvlan 介面
ip link add int0 link eth0 type macvlan mode bridge
ip link set int0 netns plexns
分配地址
ip netns exec plexns ip addr add 192.168.1.30/24 dev int0
ip netns exec plexns ip link set int0 up
設定我的網關(路由器IP)
ip netns exec plexns ip route add default via 192.168.1.1
這似乎有效,因為當我跑步時
ip netns exec plexns curl icanhazip.com
它傳回由我的 ISP 分配的外部 IP,而不是我的 VPN。
接下來,我用了
service plexmediaserver stop
停止 plex 運行。我編輯了 /etc/init/plexmediaserver.conf 以便該 start-stop-daemon 行顯示為:
sudo ip netns exec plexns start-stop-daemon --start -c \
$PLEX_MEDIA_SERVER_USER --exec /usr/sbin/start_pms
最後,
ip netns exec plexns service plexmediaserver start
當然,這沒有用。當我在電腦上登入伺服器時,它在本地可見,但在遠端不可見。它仍然在本地 IP 192.168.1.15 下工作,具有我的 VPN 的外部 IP 位址。
對這本小說感到抱歉,但我是一個完全的網路新手,而且一般來說並不是真正的程式設計師,所以任何幫助將不勝感激!