IPv6接続タイムアウト

IPv6接続タイムアウト

IPv6接続の問題があります。それだけ。約10分ごとにタイムアウトします(アドレスの更新により)。

この問題は、私が1年ほど他のPC(有線と無線)で試したすべてのDebianベースのLinuxバージョン(x86とx64)で発生します。

私は現在、カーネル3.13.0-37-generic x86_64(以前の3.2.0-60)とNetworkManager 0.9.8.8でLinux Mint 17.1を使用しています。ダウンロードをすぐに再開しようとすると、「ホストへのパスはありません」というメッセージが表示されることがあります。私のIPv6アドレスが一時的に消えたようです。
このように:http://pastebin.com/4Xida2qu

デュアルスタックIPv4 - IPv6(PPPoE)を実行しており、Netgear DGND3700v2ルータ(ファームウェアバージョンV1.1.00.22_1.00.22)の設定方法は次のとおりです。https://i.stack.imgur.com/VWkcV.png

関連するネットワークプロファイルは次のように設定されます。無視するIPv6ですが、とにかくグローバルIPv6アドレスを取得します。自動的に変更しても特に違いはありません。混乱していますが、カーネルが私の役割を果たしているようです。

ファイアウォールルールやファイアウォールルールの欠如は違いはありませんが、基本的には次のようになります。

iptables -P INPUT DROP
ip6tables -P INPUT DROP
iptables -P FORWARD DROP
ip6tables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -I INPUT  -p icmpv6 -j ACCEPT

LANの代わりにDHCPを使用してautoconfを試しましたが、Windowsではタイムアウトは発生しませんが、Linuxではipv6接続がありません(グローバルアドレスがあるように見えますが、とにかく「ネットワークに接続できません」というエラーが発生しました)。

tcpdump -vvni wlan0 icmp6出力の関連部分

目的地に到達できません:

19:25:05.381081 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 88) {GW's ipv6 - redacted} > {My pc's ipv6 link-local addr - redacted}: [icmp6 sum ok] ICMP6, destination unreachable, beyond scope 2001:760:ffff:b1::34, source address {My pc's ipv6 link-local addr - redacted}
19:25:12.948944 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 88) {GW's ipv6 - redacted} > {My pc's ipv6 link-local addr - redacted}: [icmp6 sum ok] ICMP6, destination unreachable, beyond scope 2001:760:ffff:b1::34, source address {My pc's ipv6 link-local addr - redacted}
19:25:18.446900 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 88) {GW's ipv6 - redacted} > {My pc's ipv6 link-local addr - redacted}: [icmp6 sum ok] ICMP6, destination unreachable, beyond scope 2001:760:ffff:b1::34, source address {My pc's ipv6 link-local addr - redacted}

ルーターコレクション:

19:25:18.775794 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 16) {Unknown link-local ipv6 addr - redacted} > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 16
      source link-address option (1), length 8 (1): {Unknown MAC - redacted}
        0x0000:  {Unknown MAC - redacted}

ルーター広告:

19:25:18.777825 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 112) {GW's ipv6 - redacted} > ff02::1: [icmp6 sum ok] ICMP6, router advertisement, length 112
    hop limit 64, Flags [other stateful], pref medium, router lifetime 1800s, reachable time 30000s, retrans time 1000s
      prefix info option (3), length 32 (4): 2a01:2000:2001:91b1::/64, Flags [onlink, auto], valid time 360s, pref. time 360s
        0x0000:  40c0 0000 0168 0000 0168 0000 0000 2a01
        0x0010:  2000 2001 91b1 0000 0000 0000 0000
      unknown option (24), length 24 (3): 
        0x0000:  4000 0000 0168 2a01 2000 2001 91b1 0000
        0x0010:  0000 0000 0000
      rdnss option (25), length 24 (3):  lifetime 600s, addr: 2a01:2000:2001:91b1:861b:{Gateway}
        0x0000:  8800 0000 0258 2a01 2000 2001 91b1 861b
        0x0010:  {gateway MAC - redacted}
      mtu option (5), length 8 (1):  1492
        0x0000:  0000 0000 05d4
      source link-address option (1), length 8 (1): {gateway MAC - redacted}
        0x0000:  {gateway MAC - redacted}

私も時々次のメッセージを受け取ります。これが重要かどうかはわかりません。

17:09:42.546840 IP6 (hlim 64, next-header ICMPv6 (58) payload length: 1240) {GW's ipv6 - redacted} > {My pc's temp ipv6 addr - redacted}: [icmp6 sum ok] ICMP6, packet too big, mtu 1462

ルータのradvd.conf(Telnetを使用して検出)

interface group1 {
    AdvSendAdvert on;
    AdvManagedFlag off;
    AdvOtherConfigFlag on;
    MaxRtrAdvInterval 600;
    MinRtrAdvInterval 198;
    AdvSourceLLAddress on;
    AdvReachableTime 30000;
    AdvRetransTimer 1000;
    AdvDefaultLifetime 1800;
    AdvCurHopLimit 64;
    AdvLinkMTU 1492;
    prefix 2a01:2000:2001:cd96::/64 {
        AdvPreferredLifetime 360;
        AdvValidLifetime 360;
        AdvOnLink on;
        AdvAutonomous on;
    };
    route 2a01:2000:2001:cd96::/64 {
            AdvRouteLifetime 360;
    };
    RDNSS 2a01:2000:2001:cd96:XXXX:XXXX:XXXX:XXXX  {
        AdvRDNSSOpen on;
    };
};

ベストアンサー1

IPv6 アドレス自動設定情報

現在のIPv6自動構成は、通常、ICMPv6パケット交換に基づいてルーターの検索に常に依存しています。基本的なアイデアは、ルータからクライアントへのネットワークに関する情報を取得することです。顧客が一度受け取ったらルーター広告この情報により、DHCP が使用されているかどうか、特に他の構成にのみ使用されるのか、アドレス構成にも使用されているのかがわかります。 NetworkManagerを使用してテストされた特定の構成は次のとおりです。Fedora Wikiに記載されている

NetworkManagerを使用したIPv6の設定

NetworkManager 0.9.6以降、NetworkManagerのIPv6サポートはほとんど利用可能ですが、制限されたカーネル自動設定機能に大きく依存しています。 NetworkManager 0.9.10 以降、IPv6 設定はユーザ空間で完全に管理され、カーネルの設定方法がより効率的です。 NetworkManager の現在の分岐は 1.0 です。

次のセクションは、同様の問題をデバッグするのに適したNetworkManagerを使用して良いホストテスト設定を構成するのに役立ちます。

接続構成

/etc/NetworkManager/system-connections/:

[ipv6]
method=auto

method=ignoreIPv6接続が正常に機能すると予想される場合は、使用しないでください。しかし、無視するDNSのようなものを必要とせずに限られたカーネルベースのIPv6設定を可能にするための好ましいアプローチは、NetworkManagerにIPv6設定を処理させることです。実際に削除したい無視する未来。 NetworkManagerは、IPv6自動設定標準の[既知のバグ][1]を解決しようとしていますmethod=auto

ファイアウォールが重要なパケットをブロックしていないことを確認してください。

簡単なテストのためにファイアウォールを許可します。

ip6tables -P INPUT ACCEPT
ip6tables -F INPUT

ip6tables -P OUTPUT ACCEPT
ip6tables -F OUTPUT

プライバシー拡張機能を使用していないことを確認してください

過去にはプライバシー拡張(一時アドレスとも呼ばれる)に問題がありました。あなたはデフォルトでオンになっているディストリビューションの1つであるLinux Mintを使用しています。

注:現在経験している問題は次のとおりです。いいえプライバシーの拡大によるものです。このセクションはスキップできますが、同様の症状を持つ他の問題をデバッグする人のためにこのセクションを維持したいと思いました。

/etc/sysctl.conf:

net.ipv6.conf.default.use_tempaddr = 0

一般的にはみんな挿入済み基本ただし、NetworkManagerはファイルを読み込み、次のものを探しています。基本具体的に。この設定は、どの接続にもプライバシー拡張を使用しないことをNetworkManagerに保証するのに十分なはずです。 NetworkManagerは、接続固有のプライバシー設定を無視する必要があります。その後、NetworkManagerを再起動します。

ルーターのリクエストと広告タイミング

更新された質問により、Networkmanagerがルーター要求を発行すると、ルーターがすぐにルーター広告に応答することがわかります。これは必要な情報を受け取ったので、ホストの観点から見ると良い動作です。問題は、これが常に起こるかどうかです。

また、ルーターは、アドレスタイムアウトが発生するよりも頻繁にルーター広告を定期的に送信する必要があります。タイムアウトが近づくと、ルータから情報が失われた場合に備えて、ホストはルータ要求を送信する必要があります。 NetworkManager バージョンの場合、これはカーネルの責任です。

別のアップデートでは、ルーターがルーター広告を必要なだけ頻繁に送信しないようです。。一部の情報は、次の短期間で有効です。360秒ただし、ルーター広告の最大頻度は次のとおりです。600秒。正しい設定は次のとおりです。360秒それらのいくつかが迷子になる場合に備えた時間範囲。

一方、寿命がすぐに期限切れになると、ホストはおそらくルータ要求を介して情報を要求する必要があります。。 tcpdumpを使用すると、リクエストと広告を監視して、カーネルが最後の広告から約6分以内にリクエストを行ったことを確認できます。そうでない場合は、最後に宣伝した後に接続が6分だけ続くという症状が表示されることがあります。つまり、接続が確立されてから6分以上経過したことを意味します。

推奨ルータの設定

標準ではいくつかの値を推奨しているようですが、常識を使用することをお勧めします。非常に悪いリンク(Wi-Fiなど)では、多くのパケットが失われる可能性があります。したがって、デフォルトでは、すべての寿命がルータの最大広告間隔の最小倍数に維持されます。

あなたの最大RtrAdv間隔はい600秒これは、10分以内に更新された情報を受け取ることができるという点で非常に良いです。唯一の目的は最小RtrAdv間隔時間を少しランダムに指定して保存または使用できます。300秒例えば。すべての寿命は最大間隔の5倍に変更できます。3600秒これは、すべての情報が1時間有効ですが、約10分ごとに更新されることを意味します。

最終メモ

機械のタイミングを変更するには、ベンダーに連絡する必要があります。設定が可能かどうかわかりません。ただし、ファイルを直接変更すると、設定をコミットするときにルータがファイルを書き換えるため、役に立たない可能性があります。

ルーター要求の送信に関するコメントが必要な場合は、カーネルネットワーク開発者に連絡することもできます。すべてのコミュニケーションに私を含めてください。

おすすめ記事