プライベートネットワークトラフィックをVPN経由でルーティングする

プライベートネットワークトラフィックをVPN経由でルーティングする

私は、自宅のネットワークの DHCP および DNS サーバーとして RaspberryPi を使用し、ネットワークへのリモート アクセスを取得するための 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 クライアントによって作成されます。

私が実現したいのは、Wireguard サーバーを機能させながら、raspi が OpenVPN クライアント経由で自宅のネットワークからのインターネット トラフィックをルーティングすることです。

これまでのところ、OpenVPNをスクリプトで使用できたのはここすべてのトラフィックを VPN トンネル経由で実行します。ただし、これにより Wireguard サーバーがトラフィックに応答しなくなります。これは、OpenVPN がデフォルトですべてのインターネット トラフィックのデフォルト ルートを変更するためだと思われます。

もう一つの試みは、OpenVPN 設定に 'route-nopull' オプションを追加し、次のコマンドでマスカレードを有効にすることでした。

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 からのトラフィックを含むすべての送信トラフィック。

または

RaspberryPi のルートを変更せずに、OpenVPN 経由のプライベート ネットワークからのトラフィックのみを送信します。

ご協力いただければ幸いです。

編集: 出力を追加

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 に直接送信したいと思います。

関連情報