透過 VPN 路由專用網路流量

透過 VPN 路由專用網路流量

我使用 RaspberryPi 作為家庭網路的 DHCP 和 DNS 伺服器,並使用wireguard 伺服器來遠端存取我的網路。

我的設定如下: 192.168.1.4 - ISP 路由器 192.168.1.1 - 運行 Raspbian 的 Raspi 4

在 Raspberry Pi 上,我運行: Docker 容器中的 pi-hole Wireguard DNSmasq HostAPd OpenVPN 用戶端

Raspi 上的介面如下: br0 具有 192.168.1.1 並為 HostAPd、DNSmasq 和 Wireguard 伺服器橋接 eth0 和 wlan0。 tun0 由 OpenVPN 用戶端建立。

我想要實現的是,raspi 透過 OpenVPN 用戶端路由來自我的家庭網路的網路流量,同時保持wireguard 伺服器正常運作。

到目前為止,我只成功使用 OpenVPN 和腳本這裡用於透過 VPN 隧道運行所有流量。然而,這會導致 Wireguard 伺服器不再回應任何流量。我認為這是因為 OpenVPN 預設更改了所有網路流量的預設路由。

我的另一個嘗試是將“route-nopull”選項添加到 OpenVPN 配置中,並使用以下命令啟用偽裝:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o br0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i br0 -o tun0 -j ACCEPT

但是,透過該設置,我無法透過連接獲得任何流量。

所以,我最終想要的是一個允許以下配置的配置:

所有出站流量,包括透過 OpenVPN 隧道來自 RaspberryPi 的流量,同時允許通過普通網關的入站流量。

或者

僅透過 OpenVPN 來自專用網路的流量,而不更改 RaspberryPi 的路由。

感謝您的任何幫助!

編輯:addinf 的輸出

ip route show table main:

default via 172.21.2.1 dev tun0 
default via 192.168.1.4 dev br0 src 192.168.1.1 metric 204 
10.10.10.0/24 dev wg0 proto kernel scope link src 10.10.10.1 
146.255.57.19 via 192.168.1.4 dev br0 
169.254.0.0/16 dev vethcf887f2 scope link src 169.254.226.72 metric 210 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-743f216227c9 proto kernel scope link src 172.18.0.1 
172.21.2.0/24 dev tun0 proto kernel scope link src 172.21.2.43 
192.168.1.0/24 dev br0 proto dhcp scope link src 192.168.1.1 metric 204

目前的狀態是,所有網路流量都透過 VPN 連線離開,這很好。現在我想讓所有入口流量直接進入 RaspberryPi。

相關內容