答案1
由於您表明無法變更伺服器,因此必須使用 NAT。這是因為伺服器需要知道將回應傳送到哪裡,而且它只知道 VPN 用戶端本身,也就是您的本機伺服器。它不知道可透過 VPN 用戶端存取的 PC。
在本機伺服器上,您需要在 OpenVPN 介面上啟用 NAT。這可以透過使用腳本來完成。一種可能的鉤子是--route-up
.記得適當改變--script-security
。您需要運行的命令是iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE
.由於 IPTables 允許一切都是預設的,因此進一步的配置是可選的。您可能還應該添加一個--route-pre-down
(或類似的)腳本來再次刪除 IPTables 規則。
路由可以透過編輯啟用/etc/sysctl.conf
,net.ipv4.ip_forward
需要的話1
。echo 1 > /proc/sys/net/ipv4/ip_forward
使變更立即生效。sysctl.conf
用於重新啟動後的持久性。
在您的路由器上,您需要設定一條到目的地(透過 VPN 存取的網路)的靜態路由,網關是您的本機伺服器(VPN 用戶端)。請注意:由於您與網關位於同一網絡,因此您的路由器可能會發送重定向。您可能無法改變這種行為。您的作業系統必須接受重定向。但首先嘗試一下,無需額外設定。
您可能希望正確設定本機伺服器的防火牆,因為有權存取 VPN 伺服器的惡意行為者可能會存取您的本機網路。