Linux ゲートウェイに 6in4 / 6to4 トンネル サーバーを設定する方法は?

Linux ゲートウェイに 6in4 / 6to4 トンネル サーバーを設定する方法は?

ネイティブ IPv6 接続 (/64 プレフィックス) があり、OpenWrt ルーターの背後で IPv6 接続を設定しようとしています。しかし、ebtables を使用してすべての IPv6 トラフィックを通過させることも (ファームウェアの制限)、ndppd を使用してすべての ICMPv6 要求をプロキシすることもできないことがわかりました (近隣要請/広告、制御できない上流ルーターが不明な理由でそれらを受け入れていません)。

現時点では、すべての IPv6 トラフィックをトンネリングするしか選択肢がないようです。以下はネットワーク トポロジです。

   インターネット -- ルーター -- PC
            WAN プレフィックス::/64
            ワン 219.242.xx
            10.224.0.1 10.224.36.223 のLAN

IPv6 接続を確立するために、2 つの 10.224.xx アドレス間にトンネルを作成して、すべての IPv6 トラフィックをトンネリングしようとしています。

いくつかのチュートリアルを検索しましたが、トンネルを設定するときにどのアドレスをパラメーターとして使用すればよいかわかりません。

PC は Windows を実行しています。設定例も提供していただけるとさらに良いと思います。

(ゲートウェイは OpenWrt を実行していますが、Linux ゲートウェイとほぼ同じように動作すると思います。)

答え1

トンネルはあなたが直面している問題の解決策ではありません。

トンネルで接続する 2 台のマシン間は直接物理的に接続されているため、そもそもトンネルは必要ありません。トンネルで実行したいアドレス指定は、2 つのエンドポイント間のイーサネット接続で直接実行できます。また、トンネルではなくイーサネットで実行することで、構成の複雑さが軽減され、カプセル化のオーバーヘッドも軽減されます。

もう 1 つ問題があります。それは、その接続に割り当てるアドレスがないことです。ただし、イーサネット経由の IPv6 またはトンネル経由の IPv6 を使用しても、この問題は変わりません。どちらも同じ数のアドレスが必要です (ただし、イーサネット経由で行うと、そのプレフィックスを LAN 全体で使用できるようになります)。

これを正しく行うには、LAN のプレフィックスが必要であり、これをルーターにルーティングする必要があります。説明によると、現在、WAN のリンク プレフィックスしかありません。これでは不十分です。LAN には別のリンク プレフィックスが必要であり、これをルーターにルーティングされたプレフィックスから取得する必要があります。

このルーティング プレフィックスを設定するための標準化されたプロトコルとして、DHCPv6 が知られています。ルータは WAN インターフェイスで DHCPv6 要求を送信し、ルーティング プレフィックスを要求する必要があります。ルーティングされた /64 は、今やりたいことに対しては十分ですが、すぐに /48、/56、または /60 に切り替えたほうがよいでしょう。LAN 上で /64 を 1 つ以上使用することになる可能性が高いからです。プレフィックス委任による DHCPv6 の代替案は、ISP がルータにルーティングされるプレフィックスの静的ルートを構成することです。

ISP に DHCPv6 サーバーがない場合、または /60 や /64 を委任しない場合は、ISP に連絡して、プレフィックスをルーターにルーティングする方法を問い合わせる必要があります。

一度要求したのに、ISP がプレフィックスのルーティングを拒否した場合は、回避策を探す必要があります。私が知っている 2 つの回避策は、ブリッジングと近隣探索プロキシです。ISP の観点から見ると、どちらも同じ動作をするため、ルーターのメモリ消費量が増加します。ISP は、プレフィックスを代わりにあなたにルーティングすることで、余分なメモリ消費を回避できたはずです。

どちらの回避策もルーターのファームウェアではサポートされていないとのことですが、それをサポートするファームウェアにアップグレードする必要があるということだと思います。

また、関係のない 6to4 についても質問しています。6to4 は、あなたの設定にはほとんど関係ないと思います。ただし、ルーターのファームウェアで設定できる場合は、ルーターで 6to4 リレーを有効にします。これにより、6to4 を使用している人と通信するときに、より信頼性の高い通信が可能になります。まったく同じ理由で Teredo リレーを有効にします。これは、IPv4 のみのネットワーク上のラップトップから自宅に接続する必要がある場合に非常に便利です。

答え2

OpenWRT をブリッジとして設定して IPv6 トラフィックを通過させるだけで、ルーターのブリッジ インターフェイスにパブリック IP とプライベート IP を追加して NAT を使用したプライベート IPv4 ネットワークを維持することは可能ですか。OpenWRT は片腕ルーターとして動作できます。それ以外の場合は、NDP プロキシを動作させることが次のステップになるかもしれません。Linux カーネルが NDP トラフィックを消費していないことを確認してください。/proc/sys/net/ipv6/conf/*/accept_ra をチェックして、ルーター広告のカーネル処理を切り替えると動作が変わるかどうかを確認してください。ブリッジでレイヤー 2 トラフィックをフィルターしたいのでなければ、ebtables を調べる理由がわかりません。デフォルトでは、レイヤー 2 ですべてのトラフィックが許可され、レイヤー 3 で iptables を使用してほとんどのフィルターが行われます。トラフィックをフィルターしたい場合は、/etc/ethertypes に記述されているタイプに基づいて IPv6 トラフィックのみを選択できます。IPv4 をフィルターしたい場合は、ARP も許可するようにしてください。これは別のイーサネット プロトコルです。

関連情報