IPv6连接超时

ppparadox

我在IPv6连接方面遇到问题。只有那些。他们大约每10分钟超时一次(我想是由于地址更新所致)。

我在一年左右的时间内尝试过的各种基于debian的linux,x86和x64,可在不同的PC(有线和无线)上进行。

我目前正在使用Linux Mint 17.1,内核3.13.0-37-通用x86_64(以前是3.2.0-60)和NetworkManager 0.9.8.8。有时,当我尝试立即重新开始下载时,我收到“没有通往主机的路由”。因为我的IPv6地址似乎暂时消失了。
像这样:http : //pastebin.com/4Xida2qu

我正在运行双协议栈IPv4-IPv6(PPPoE),这是配置Netgear DGND3700v2路由器(固件版本V1.1.00.22_1.00.22)的方式:http ://i.imgur.com/YgxAyQb.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

尝试使用DHCP代替LAN的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;
    };
};
帕维尔·西默达(PavelŠimerda)

在自动配置IPv6地址时

当前,IPv6自动配置(通常)始终依赖于基于ICMPv6数据包交换的路由器发现。基本思想是从路由器到客户端获取有关网络的信息。一旦客户端收到带有该信息路由器公告,它还将了解是否使用DHCP,尤其是是否仅将DHCP用于其他配置或地址配置。Fedora Wiki描述了使用NetworkManager测试的特定配置

使用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=ignore当您期望IPv6连接正常工作时,请勿使用尽管ignore允许在没有DNS和类似内容的情况下基于内核进行有限的IPv6配置,但是首选方法是让NetworkManager处理IPv6配置。我们实际上希望在将来消除忽略在IPv6自动配置标准中,NetworkManager还尝试在when时变通[bug] [1] method=auto

确保您的防火墙没有阻止重要的数据包

为了进行简单的测试,请允许防火墙:

ip6tables -P INPUT ACCEPT
ip6tables -F INPUT

ip6tables -P OUTPUT ACCEPT
ip6tables -F OUTPUT

确保您没有使用隐私扩展

过去,隐私扩展(也称为临时地址)存在问题。您正在使用Linux Mint,这是默认情况下将其打开的发行版之一。

注意:您遇到的问题不是由于隐私扩展。您可能可以跳过本节,但我想将其保留给可能正在调试具有类似症状的另一个问题的任何人。

/etc/sysctl.conf:

net.ipv6.conf.default.use_tempaddr = 0

通常,您将只使用默认的所有insetad,但NetworkManager会读取文件并专门查找默认值此设置应该足以说服NetworkManager,我们不想对任何连接使用隐私扩展。现在,NetworkManager应该忽略每个连接的隐私配置。之后只需重新启动NetworkManager。

路由器请求和通告时间

从您更新的问题中,我可以看到,当Networkmanager发送路由器请求时,路由器会立即以路由器通告进行响应,从主机的角度来看,这是一种良好的行为,因为您会收到必要的信息。问题是它是否总是发生。

路由器还应该定期发送路由器广告,而不是地址超时。当超时临近时,主机可能会发出路由器请求,以防万一您错过了路由器的信息。对于您的NetworkManager版本,这将是内核的责任。

从另一个更新中可以很明显地看出,路由器不会像发送路由器通告那样频繁地发送路由器通告某些信息的有效性只有360秒,但是路由器通告的频率却高达600秒正确的配置是在360秒的时间内为您提供几个路由器广告,以防万一其中的一些丢失。

另一方面,当生存期即将到期时您的主机可能应该通过路由器请求来请求信息您可以使用tcpdump监视请求和广告,以查看您的内核是否在最后一次发送广告后大约六分钟之内发出请求。如果不是,则可能的症状是您的连接距离上一个广告仅持续六分钟,这意味着自建立连接以来六分钟或更长时间。

推荐的路由器配置

这些标准似乎建议了一些值,但是我宁愿使用常识。在非常差的链接(适用于wifi等)上,您可能会丢失许多数据包。因此,我基本上将所有生存期至少保持在最大路由器通告间隔的良好倍数上。

MaxRtrAdvInterval600秒这是很酷,你会得到更新的信息每隔十分钟或更小。MinRtrAdvInterval的唯一目的是将时间随机化一点,因此您可以保留该时间或使用300秒所有的生命周期都可以更改为例如最大间隔的五倍,这意味着3600秒,这意味着所有信息将在一个小时内有效,但大约每十分钟更新一次。

最后的笔记

您可能需要与供应商联系以固定其机器中的计时。我不知道它是否可配置。但是直接更改文件可能对您没有帮助,因为路由器在提交配置时会重写它。

您可能还需要联系内核网络开发人员,以对发送路由器请求发表评论。随时让我参与任何交流。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章