web-dev-qa-db-ja.com

radvdを実行しているDD-WRTルーターに接続されているホストはIPv6アドレスを取得しますが、通信できません

ローカルネットワークでIPv6を機能させようとしています。 ISP(Comcast)がサポートしていることはわかっています。なぜなら、ISP(Comcast)からレンタルしたモデム/ルーターの組み合わせに接続されているものはすべて、IPv6アドレスが割り当てられ、プロトコルを使用して通信するからです(ipv6.google.comに接続でき、20/20を取得します http://test-ipv6.com/ )。

ただし、DD-WRTを実行している自分のルーター(該当する場合はNetgear WNDR3800)をComcastモデム/ルーターコンボに接続すると、Comcastから委任されたプレフィックスでIPv6アドレスが割り当てられますが、どのホストもIPv6経由で通信できません。

LANを離れる前に失敗するようです。ルーターのIPv6アドレスにpingを実行しようとすると、「宛先ホストに到達できません」が返されます。私の推測では、どこかにルートがないのではないかと思いますが、IPv6やルーティングについては、その理論をテストする方法や解決する方法を十分に理解していません。

技術的な詳細:

ルーター:DD-WRTv24-sp2を実行しているWNDR3800。そのIPv6構成は次のようになります。

enter image description here

ルーターifconfig:

root@DD-WRT:~# ifconfig
ath1      Link encap:Ethernet  HWaddr [redacted]
          inet6 addr: fe80::224e:7fff:fe74:13da/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:188122 errors:0 dropped:0 overruns:0 frame:0
          TX packets:227134 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:26587839 (25.3 MiB)  TX bytes:211385503 (201.5 MiB)

br0       Link encap:Ethernet  HWaddr [redacted]
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::224e:7fff:fe74:13d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:190093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:217213 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:24491040 (23.3 MiB)  TX bytes:204922896 (195.4 MiB)

br0:0     Link encap:Ethernet  HWaddr [redacted]
          inet addr:169.254.255.1  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0      Link encap:Ethernet  HWaddr [redacted]
          inet6 addr: fe80::224e:7fff:fe74:13d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1989 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21615 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:569599 (556.2 KiB)  TX bytes:3297349 (3.1 MiB)
          Interrupt:4

eth1      Link encap:Ethernet  HWaddr [redacted]
          inet addr:10.0.0.59  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: 2601:601:XXXX:XXXX:XXXX:XXXX:XXXX:13d9/64 Scope:Global
          inet6 addr: fe80::224e:7fff:fe74:13d9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:216381 errors:0 dropped:0 overruns:0 frame:0
          TX packets:181622 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:202350364 (192.9 MiB)  TX bytes:25482727 (24.3 MiB)
          Interrupt:5

ルーターに接続されたWindows8.1ホストからのipconfig:

C:\Users\seth>ipconfig

Windows IP Configuration


Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2601:601:XXXX:XXXX:XXXX:XXXX:XXXX:75c3
   Temporary IPv6 Address. . . . . . : 2601:601:XXXX:XXXX:XXXX:XXXX:XXXX:2b13
   Link-local IPv6 Address . . . . . : fe80::18b5:93d6:d9db:75c3%4
   IPv4 Address. . . . . . . . . . . : 192.168.2.100
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.2.1

(無関係なインターフェイスが出力から削除されました。lo、VMWareなど)

5
Seth

あなたの質問とコメントの説明に基づいて、あなたが持っているのはISPからモデムに委任された/64であることがわかりました。モデムは、DD-WRTルーターへの接続のリンクプレフィックスとしてその/64を使用しています。そして、その接続にスイッチがある場合(おそらくモデムに組み込まれている場合)、そのリンクにさらに多くのデバイスを接続できます。

あなたが持っていないのはDD-WRTに委任されたプレフィックスです。プレフィックスはそれほど委任されていません。

委任されたかのように、DD-WRT構成にプレフィックスを手動で入力しました。ただし、そうではないため、基本的に、DD-WRTに接続されているすべてのデバイスを、それらが接続されているネットワークセグメントに属していないIPアドレスをスプーフィングするように構成しました。たぶん彼らはインターネットにパケットを送ることができるでしょう、しかし彼らは決して応答を得ません。

それを解決する方法

いくつかのオプションがあります。最もクリーンな解決策は、プレフィックス委任の複数のレイヤーを持つことです。 ISPは、より短いプレフィックスをモデムに委任することになっています。あなたが説明する使用法については、それが/63以下である限り、そのプレフィックスの長さに違いはありません。次の例では、ISPが2001:db8:feed::/48をモデムに委任していると仮定します。

モデムは、/48をサブネットワークに分割し、2001:db8:feed::/64のルーター通知を送信し、2001:db8:feed:100::/56をDD-WRTに委任できます。次に、DD-WRTはその委任を使用して、2001:db8:feed:100::/64のルーターアドバタイズメントを送信できます。これにより、両方のルーターに、サブデリゲートしたり、追加のインターフェイスに使用したりできるアドレス空間の空きブロックがたくさん残ります。たとえば、複数のVLAN)を備えたイーサネットまたは複数のSSIDを備えたWiFiがある場合、DD-WRTがルーターアドバタイズメントを送信できる合計256の/64があります。

モデムがサポートしていない場合

プレフィックス委任の複数のレイヤーは(AFAIK)広くサポートされていません。したがって、モデムがそれをサポートしていない場合、上記の解決策は機能しません。 ISPが委任するプレフィックス長に関するRFCを無視し、RFCが何か短いものを提供することになっている場合にのみ、/64を提供する可能性もあります。その場合、説明されているソリューションを使用することもできません。上記。しかし、別の方法があります。

2つのルーターの1つをルーターとしてではなくブリッジとして動作するように構成すると、LANとインターネットの間のパス上のIPセグメントが1つ少なくなります。つまり、動作する構成を取得するために必要な/64は1つだけであり、プレフィックス委任のレイヤーは1つしかないため、プレフィックス委任の複数のレイヤーのサポートは不要になります。

あなたの質問から判断すると、それはあなたがブリッジしたいモデムであるように聞こえます。次に、ISPはプレフィックスをDD-WRTルーターに直接委任できます。DD-WRTルーターはLAN上で使用できます。

1
kasperd