最近、 http://www.chronos-tachyon.net/reference/debian-ipv6-and-hurricane-electric の手順に従って、IPv6をネットワークに追加しました。
ただし、ネットワーク上のホストは、グローバルアドレスではなく、ルーターのlink-localアドレスへのデフォルトルートを自動的に構成します。
http://ipvsix.me/?p=88 の記事は次のように述べています。
LANホストでは、デフォルトルートとゲートウェイが、IPv6ゲートウェイ/ルーターとして機能するLinuxマシン上のeth1のリンクローカルアドレスを指していることがわかります。これは完全に正常であり、予想されます。
私の問題は、ルーター(Debianの派生を実行している)がグローバルアドレスが構成されているため、リンクローカルアドレスに対するNDP要求に応答しないことです。
次のいずれかにする方法はありますか?
ルーターの/etc/radvd.conf:
interface eth0 {
AdvSendAdvert on;
AdvLinkMTU 1480;
MinRtrAdvInterval 60;
MaxRtrAdvInterval 180;
prefix 2001:xxxx:xxxx:xxxx::1/64 {
AdvRouterAddr on;
AdvPreferredLifetime 600;
AdvValidLifetime 3600;
};
route ::/0 {
};
RDNSS 2001:xxxx:xxxx:xxxx::2 {};
};
/etc/radvd.conf
で指定されたインターフェイスが間違っていたことがわかりました。それを修正することで問題は解決しました。
IPv6のバックツーバックルーティングは完全にリンクローカルアドレスに基づいているため、ルーターがゲートウェイリンクローカルを考慮しているのが普通です。
IPv6グローバルアドレスを使用している場合でも、デバイスはネットワークディスカバリを使用してレイヤー2解決を行い、リンクローカルアドレスを取得します。
ファイアウォールの設定を確認してください。私の推測では、何かがicmp6をブロックしているため、IPv4の同等のエラーよりもさらにひどくIPv6が壊れます。 ipv6ファイアウォールルールを(rootとして)リストする最も簡単なコマンド:
ip6tables -L -n