如何將入站到 VPN 伺服器的連接埠轉送到 VPN 用戶端上的用戶端?

如何將入站到 VPN 伺服器的連接埠轉送到 VPN 用戶端上的用戶端?

這是我想要做的基本設定:

用戶端(任何機器) ---> VPN 用戶端 (Raspberry Pi) ---> OpenVPN 伺服器 ---> 互聯網

VPN 用戶端 (Rpi) 可能使用不受信任的網絡,但在這種情況下,我想將連接埠 4443 上的所有互聯網流量轉發回客戶端,以便客戶端做出回應。

我的其他一切都正常工作 - 客戶端連接到 pi 並成功地成為我創建的 VPN 的一部分,但我無法透過任何方式找出返迴路徑。

謝謝!

答案1

我缺少一些資訊來具體回答您的問題,但我會盡力整理一些內容以進一步幫助您。

[...] 我想將連接埠 4443 上來自網際網路的所有流量轉回給客戶端,以便客戶端做出回應。

您無法將其他資料轉送至沒有適合該資料的服務的連接埠。

VPN 透過建立虛擬網路來運作,其中包括虛擬網路介面。為了使虛擬網路介面正常運作,必須執行 VPN 軟體(客戶端或伺服器)。當VPN軟體從虛擬網路介面接收資料/資料包時,資料被重新打包並傳統地加密,然後透過實體網路傳輸,反之亦然。

VPN 透過建立虛擬網路來運作 Physical Ethernet是wan接口。

由於 VPN 特性,您有兩個網路。實體和虛擬都有各自的 IP 位址。透過這些網絡,您可以完成透過網路可以完成的所有常見操作。

用戶端(任何機器) ---> VPN 用戶端 (Raspberry Pi) ---> OpenVPN 伺服器 ---> 互聯網

VPN 並且Physical EthernetPhysical Ethernet 0wan接口。是Physical Ethernet 1與 進行連接Client (machine)

我假設您使用乙太網路電纜連接到Client (machine)VPN Client (Raspberry Pi)並且 Raspberry Pi 上有 iptables...

Physical Ethernet 1為了在兩個網路和之間設定 NAT 轉發Virtuel Ethernet,我假設 的Physical Ethernet 1名稱為 eth0, 的Virtuel Ethernet名稱為 tun0。

# Set default policies
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# NAT
iptables -A POSTROUTING -o tun0 -j MASQUERADE # Enable NAT

# Forwarding
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT # Allow forwarding from client to vpn
iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT # Allow forwarding from client to client
iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # Allow forwarding from vpn to client, for already established connections

也可以看看如何在 Ubuntu 中使用 iptables 設定簡單的路由器

我不知道您在具有 VPN 伺服器的電腦上使用哪個作業系統。因此我無法詳細介紹如何 NAT 轉送...

答案2

我真的想通了!

我寫了一篇關於如何做到這一點的整篇文章 -https://virtualprivatepi.com/diy/

相關內容