web-dev-qa-db-ja.com

IPv6ICMPv6メッセージのフィルタリング

ですから、私はホームネットワークでIPv6をもう少し遊んでいて、静的アドレスなどを設定するという少し古風なことをしています。これは、さまざまなICMPv6メッセージを介してIPv6に組み込まれているすべての自動構成を本当に必要としないことを意味します。しかし、wiresharkを実行し、IPv6トラフィックのみをキャプチャすると、Linuxを実行している私のIPv6システムのうちの2つは、おしゃべりなことであることが証明されています。彼らは常に「近隣要請」、「近隣アドバタイズメント」、およびICMPv6マルチキャストリスナレポート」パケットを交換しています。これは、各マシンに設定した静的に割り当てられたULAアドレスと、自動的に構成されたリンクローカルアドレスの両方で行われます。 。

私の質問は、Linuxでこれらを無効にするにはどうすればよいですか? 'netsh'コマンドを使用してWindows用のガイドをいくつか見つけました(これは私を驚かせました-WindowsはLinuxよりもこの点ではるかに調整可能であるようです)。これまでのところ、Linuxでの私の唯一の選択は、ip6tablesを使用して特定のICMPv6メッセージタイプをブロックすることだと思われます。ただし、RFC4890を見ると、IPv6ホストがIPv6ネットワークに正常に参加する場合は、これらのメッセージをブロックしてはならないことが示されています。

私がIPv6プロトコルを読んだことは、大規模なエンタープライズネットワークで直面している問題の影響を強く受けていることを示唆しています。プロトコルエンジニアは、小規模なプライベートネットワークをほとんど考慮していないようでした。これは、大企業やその他のそのような企業ネットワークのシステム管理者であれば素晴らしいことですが、ホームネットワークでプロトコルを試して学習しようとしているだけの「誰か」である場合は少し面倒です。私の学習方法は、IPv4ネットワークのようなものをベースラインとして確立し、必要に応じて機能を有効にすることを意味します。

だから私は専門家に尋ねます、私は私のLinuxとWindowsホストでこれらの3つのメッセージタイプを無効にするべきですか?そうした場合、内部IPv6セットアップがひどく壊れますか?その段階に達すると、外部IPv6にどのように影響しますか(私のISPはまだ顧客にIPv6アドレスを割り当てていないため、現時点では外部IPv6ルーティングはなく、6対4のトンネルもありません)。 Linuxではip6tablesが私の唯一の選択肢ですか?

また、リンクローカルアドレスで立ち往生していると思いますよね?それらを取り除く方法はありませんか?彼らは暗記することは不可能です...(多分それは彼が指摘しているのですか?)

2
Kumba

IPv6のICMPを無効にすると、完全に破壊される可能性があります。これは、v4よりもv6でlot多くのものに使用されます。これは、エラー報告、近隣探索(ご存知のとおり)などに使用されます。

ICMPv6を任意のレベルでブロックすることにより、IPv6がその仕事をする能力を深刻に妨げる可能性があります。 (簡単な) ウィキペディアのアークティクル 通常の 非常に包括的なRFC と一緒にあります。

4
Mark Henderson

グローバルアドレスを取得するには、6to4を使用できます。グローバルv4アドレスの変換をv6アドレスとして取得します。欠点は、6to4トンネルノードを通過する必要があることです。それらは、ノードにどれだけ近いかによって、「遅い」から「痛々しいほど遅い」の範囲になります(192.88.99.1にpingを実行します。これは、最も近いエンドポイントであるはずのエニーキャストアドレスです)。テストと学習のためのライブリンクを取得するには十分です。しかし、それだけです。

ICMPv6に関しては、Markはすでにそれを十分にカバーしています。私はこれを追加します:それについて強調しないでください。現在チューニングに慣れているすべてのチャタリングについて考えてみてください-ARP、DHCP。 Windowsシステムをお持ちの場合は、NetBIOS、コンピューターブラウザ、Teredo。 SSDP/DNLA/UPnPのようなマルチキャストジャンク。これらのICMPメッセージには慣れていませんが、IPv6の動作の重要な部分です。そのため、最初に学習するように設定しています。

1
Shane Madden