あるIPアドレスから別のインターフェイスを介したトラフィックルーティング

あるIPアドレスから別のインターフェイスを介したトラフィックルーティング

ローカルネットワークとリモートネットワークがあります。私のローカルネットワークにはルーター、Ubuntuボックス、テレビがあります。リモートネットワークにはルータとRaspberry Piがあります。ローカルUbuntuボックスとリモートラズベリーパイは、ワイヤガードトンネルを介して接続されています。

目的は、リモートRaspberry Piを介してテレビをインターネットに接続し、テレビのインターネット要求がリモートネットワークのパブリックIPからのものになるようにすることです。これを行うには、Ubuntuボックスをテレビ用ゲートウェイに設定し、テレビのローカルIPからトラフィックをワイヤガードインターフェイス(wg0)にのみ転送して、最終的にリモートラズベリーパイに到達する必要があります。しかし、これはうまくいきません。トラフィックがwg0に達していないようです。

Ubuntuボックスとラズベリーパイの両方でIP転送が有効になっています。次のようにポリシーベースのルーティングを追加しました。

ip rule add from <TV local IP> table wg0
ip route add default via <rpi wireguard IP> dev wg0 table wg

また、次のようにwg0インターフェイスでiptablesを設定します。

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

私は何を見逃していますか?

ベストアンサー1

最初から最初から、Raspberry Piのワイヤガードインターフェイスからイーサネットインターフェイスにトラフィックを転送するための関連するiptablesルールがありませんでした。

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

Linuxボックスをテレビ用ゲートウェイに設定すると、必要に応じてすべてのトラフィックがWireguardを介してRaspberry Piにルーティングされます。

おすすめ記事