IPルールとIPルーティングによるIPv6ソースアドレスの選択

IPルールとIPルーティングによるIPv6ソースアドレスの選択

ホストがWIFIまたはVPNを介して通信できるように、LinuxファイアウォールとVPN設定を構成しようとしています。 VPN接続のリモート側のファイアウォールはVPNではパケットを許可しますが、WIFIではパケットを許可しない可能性があります。リモートシステムでは、(sanitized)を使用して着信パケットを処理します。

# ip -4 rule add from <myblock> table <mytable>
# ip -4 route add to <remoteblock> src <myaddr> dev <vpn-dev> table <mytable>
# ip -6 rule add from <myblock> table <mytable>
# ip -6 route add to <remoteblock> src <myaddr> dev <vpn-dev> table <mytable>

これは着信接続を正常に処理し、対称にします。 (つまり、VPNで受信されたパケットはWIFIで応答せず、その逆も同様です。)

IPv4の場合は、以下を追加します。

# ip -4 rule add from 0.0.0.0/32 table <mytable>

発信パケットはVPNを介して保護されたネットワークにルーティングされます。

しかし試してみるとき:

# ip -6 rule add from ::/128 table <mytable> 

これは役に立ちません。データパケットはWIFIアドレスから送信されます。これを行うにはどのような魔法のクッキーを呼び出す必要がありますか?それとも、IPv6はまったく異なる機能を実行しますか?

編集する:私は以下を追加しました:

# ip -6 route add not from <wifinet>/64 table <mytable>

すべてが正常です。だからそこにまだ明確ではない住所がありますがありません::。どんな提案がありますか?

編集する:まあ、私も混乱していましたが(それでロールバックしてから最後の編集内容を復元しました)、結果は次のようになります。

# ip -6 route add not from 0000::/1 table <mytable>
# ip -6 route add not from 8000::/1 table <mytable>

有効ですが

# ip -6 route add not from 0000::/0 table <mytable>

いいえ、「何もない」になるからです。

それが明らかに:

# ip -6 route add from 0000::/0 table <mytable>

やっぱりうまくいくようです…個人的にはそうしてはいけないと思います(なぜそんなのかわからないが)。

src私のVPNはFC00 :: 7にあり、WIFIは2000 :: 3にあります。これが役に立ちます。適切なVPNの使用を強制する必要があるようです。

ベストアンサー1

おすすめ記事