ルーターはIPv6アドレスの割り当てにSLAACを使用する必要がありますか?


11

IPv6に関連する次の2つのRFCに少し混乱しています。

  • RFC 4862(IPv6ステートレスアドレス自動構成)
  • RFC 7084(IPv6 CEルーターの要件)

RFC 4862は次のように述べています:

このドキュメントで指定されている自動設定プロセスはホストにのみ適用され、ルーターには適用されません。ホストの自動構成はルーターによってアドバタイズされた情報を使用するため、ルーターは他の方法で構成する必要があります。

RFC 7084には、アドレス割り当てに関するWAN側の構成要件の1つが次のように記載されています。

WAA-1:IPv6 CEルーターは、ステートレスアドレス自動構成(SLAAC)[RFC4862]をサポートする必要があります。

ここに矛盾はありますか?

ルーターは、WANインターフェイスのIPv6アドレスを自動構成できますか?


RFC 4862が言う理由

ホストの自動構成はルーターによってアドバタイズされた情報を使用するため、ルーターは他の方法で構成する必要があります。

たとえば、ルーターを使用してLANをISPに接続している場合、ISPのネットワークにルーターと通信しているルーターはありませんか?

2つ(またはそれ以上)のルーターをチェーン化することは完全に合理的だと思っていたでしょう。その場合、2番目のルーターのWANインターフェイスでSLAACを使用しないのはなぜですか。


たぶん問題は、ホストとルーターの人為的な違いに起因するのでしょうか?RFC 4862から:

ノード-IPを実装するデバイス。

ルーター-明示的にアドレス指定されていないIPパケットを転送するノード。

ホスト-ルーターではないノード。

しかし、ホスト(つまり、サーバーまたはアプリケーションをホストしているマシン)もルーティングテーブルを持つことができず、ルーターとして機能できないのでしょうか。そして、2つのルーターを再び効果的に連結しています。


編集:後で発見したいくつかの追加情報...

LinuxカーネルはSLAACを処理し、RFC 4862に厳密に従っています。ホストとルーターの違いまで。ip-sysctlに関するカーネルのドキュメントを参照してください:

  • HOSTの動作が想定されています。つまり、ルーター要請が送信され、ルーターアドバタイズメントがアドレスの自動構成に使用されます。
  • 転送が有効になっている場合のみ(/proc/sys/net/ipv6/conf/all/forwarding)、デバイスはルーターと見なされます。つまり、ルーター要請は送信されず、ルーター通知は無視されます。

この違いは、IPv6より前にさかのぼります。パラメータを参照してください/proc/sys/net/ipv4/ip_forward

この変数は特別であり、その変更によりすべての構成パラメーターがデフォルト状態にリセットされます(ホストの場合はRFC1122、ルーターの場合はRFC1812

回答:


7

RFC 7084では、次のようにも述べられています。

W-1:ルーターがWANインターフェイスリンクに接続されている場合、ステートレス[RFC4862]またはステートフル[RFC3315]インターフェイスアドレス割り当ての目的で、IPv6ホストとして機能する必要があります。

要するに、はい-ルーターは、WANインターフェースのIPv6アドレスを自動構成できるはずです。

ただし実際には、ほとんどのISPは、ダウンストリームアドレスの割り当てにDHCPv6およびDHCPv6-PD(RFC3633)を、プレフィックス委任と共に実装しています。

これにより、ルーターはWANインターフェースでアドレスを受信するだけでなく、内部LANインターフェースで使用できるプレフィックスも受信します。


6

RFC 4862は、単一の管理コントロール内のルーターを実際に記述しています。RFC 7084では、顧客のルーターの動作が明確になっています。これにより、ISPはIPv6をサポートする方法にある程度の自由度を顧客に与えます。

PEルータにとって、CEルータホストです。LAN(PEからCEへのリンクを含むレイヤー2ドメイン)の観点から見ると、ルーターは実際にはネットワーク上の別のホストにすぎません。ほとんどの場合、WANリンクアドレスは、DHCP、またはPPPを介して静的に定義され、実際にはSLAACを使用しません。

私はあなたが引用したものに先行するRFC 7084の部分を見逃したと思います:

WAN側の要件:

W-1:ルーターがWANインターフェイスリンクに接続されている場合、ステートレス[ RFC4862 ]またはステートフル[ RFC3315 ]のインターフェイスアドレス割り当てのために、IPv6ホストとして機能する必要があります。


1
多くのISPは、番号なしのWAN相互接続も実行しています(リンクローカルのみ)。WANリンクで発生するのは、ISPルーターがパケットをCPEに送信し、CPEがパケットをデフォルトゲートウェイに送信することだけです。どちらにしても、通常はどちらもリンクローカルアドレスを使用します。
サンダーステファン

5

RFC 4862で「ホストの自動構成はルーターによってアドバタイズされた情報を使用するので、ルーターは他の方法で構成する必要がある」と述べているのはなぜですか。

そのドキュメントを書いた人々(そしてその前身であるRFC 2462)は、ほぼ確実に2種類のデバイスがあるという世界観を持っていました。多数の「ホスト」と管理の負担、および有能なネットワーク管理者によって管理された「ルーター」。

2000年代の初めには、常時接続のDSL /ケーブル接続の普及と、インターネット接続を利用できる自宅に複数のコンピューターを所有する人々の数の増加がありました。多くのISPは1つのIPアドレスしか顧客に提供しないため(少なくとも追加料金なしで)、このような接続の背後にある複数のコンピューターを隠すためのNATを備えた「ホームルーター」の使用が大幅に増加しました。NATは、「ホームルーター」がISPから本当の性質を隠すことを許可しましたが、ISPに関する限り、「ホームルーター」はホストのようなものでした。

そのような使用法は、最初はISPによって「許容」されただけでしたが、結局、彼らは結局それはそれほど悪いことではないと判断し、実際に顧客に「ホームルーター」を提供/販売し始めました。その結果、私たちはこれらのデバイスの多くが家や小さな場所に置かれることになりました。

IETFが「ホームルーター」とそれらにサービスを提供するISPがIPv6のコンテキストでどのように動作するかを適切に調査し始めたのは、比較的最近のことです。その答えは、「WAN側」のインターフェースは通常のルーターのように動作するのに対し、「WAN側」のインターフェースはホストのように動作する必要があるということです。NATがないため、LAN側のアドレスの供給を処理するためにいくつかの追加の詳細が必要です。


Linuxカーネルに関しては、ルーティングが有効になっている場合、実際にはデフォルトでRAを無視しますが、必要に応じてこの動作をオーバーライドできます。


オーバーライドする方法について言及していません。私の/ etc / network / interfacesファイルに、sysctl -w net.ipv6.conf.eth0.accept_ra = 2を次のように記述しています。これは、RAを有効にする設定だと思います。
tgunr 2017

はい、0は無効、1は通常モード(ホストでは有効ですがルーターではありません)、2は強制的に有効です。
Peter Green
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.