Subnet: 2a02:f99:0:64::/64
Gateway: 2a02:f99:0:64::1
所以我做了(是的eth3是正确的界面)
ip addr add 2a02:f99:0:64::2/64 dev eth3 ip -6 route add ::/0 via 2a02:f99:0:64::1 dev eth3
但
$ip -6 neigh show 2a02:f99:0:64::1 dev eth3 Failed $ping6 google.com PING google.com(ams16s30-in-x0e.1e100.net) 56 data bytes From 2a02:f99:0:64::2 icmp_seq=1 Destination unreachable: Address unreachable ...
我也试过了
ip -6 route del ::/0 via 2a02:f99:0:64::1 dev eth3 ip -6 route add ::/0 via fe80::1 dev eth3
但是没有改变任何东西,仍然无法ping入或退出.
我哪里做错了?如何让IPv6运行?
更新2017-07-07:
托管服务提供商坚持认为基础设施很好.
另一台可以访问同一子网的机器可以绑定地址,并通过我认为的路由器广告(RA)建立IPv6连接,因为只有fe80 :: 20a:8bff:fe98:3400作为网关工作,提供商指定网关地址没有.
然而,这篇文章所关注的机器仍然没有找到任何邻居.启用RA似乎也没有任何效果.
通过两台机器的交叉连接(在其辅助NIC上)运行IPv6立即工作,因此IPv6基本上可用于它们(所有来自问题机器的粘贴):
PING fe80::62eb:69ff:fed2:a122%eth2(fe80::62eb:69ff:fed2:a122) 56 data bytes 64 bytes from fe80::62eb:69ff:fed2:a122: icmp_seq=1 ttl=64 time=0.224 ms 64 bytes from fe80::62eb:69ff:fed2:a122: icmp_seq=2 ttl=64 time=0.171 ms --- fe80::62eb:69ff:fed2:a122%eth2 ping statistics --- 2 packets transmitted,2 received,0% packet loss,time 999ms PING fd00:32::3(fd00:32::3) 56 data bytes 64 bytes from fd00:32::3: icmp_seq=1 ttl=64 time=0.286 ms 64 bytes from fd00:32::3: icmp_seq=2 ttl=64 time=0.168 ms --- fd00:32::3 ping statistics --- 2 packets transmitted,time 1000ms
IP配置如下:
2: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP qlen 1000 link/ether f0:1f:af:df:c8:7b brd ff:ff:ff:ff:ff:ff inet 85.XX.XX.186/30 brd 85.XX.XX.187 scope global eth3 inet6 2a02:f99:0:64::2/64 scope global valid_lft forever preferred_lft forever inet6 fe80::f21f:afff:fedf:c87b/64 scope link valid_lft forever preferred_lft forever 2a02:f99:0:64::/64 dev eth3 proto kernel metric 256 fd00:32::/32 dev eth2 proto kernel metric 256 fe80::/64 dev eth2 proto kernel metric 256 fe80::/64 dev eth3-ifb proto kernel metric 256 fe80::/64 dev eth3 proto kernel metric 256 default via 2a02:f99:0:64::1 dev eth3 metric 1024
邻居发现只查找接口的链路本地地址:
PING ff02::1%eth3(ff02::1) 56 data bytes 64 bytes from fe80::f21f:afff:fedf:c87b: icmp_seq=1 ttl=64 time=0.055 ms 64 bytes from fe80::f21f:afff:fedf:c87b: icmp_seq=2 ttl=64 time=0.076 ms 64 bytes from fe80::f21f:afff:fedf:c87b: icmp_seq=3 ttl=64 time=0.060 ms --- ff02::1%eth3 ping statistics --- 3 packets transmitted,3 received,time 1998ms
尝试ping网关还会导致:
PING 2a02:f99:0:64::1(2a02:f99:0:64::1) from 2a02:f99:0:64::2 eth3: 56 data bytes From 2a02:f99:0:64::2 icmp_seq=1 Destination unreachable: Address unreachable From 2a02:f99:0:64::2 icmp_seq=2 Destination unreachable: Address unreachable From 2a02:f99:0:64::2 icmp_seq=3 Destination unreachable: Address unreachable --- 2a02:f99:0:64::1 ping statistics --- 5 packets transmitted,0 received,+3 errors,100% packet loss,time 3999ms
这是sysctl -A |的内容grep ipv6吐出来(我也看不出任何错误):
net.ipv6.neigh.default.mcast_solicit = 3 net.ipv6.neigh.default.ucast_solicit = 3 net.ipv6.neigh.default.app_solicit = 0 net.ipv6.neigh.default.delay_first_probe_time = 5 net.ipv6.neigh.default.gc_stale_time = 60 net.ipv6.neigh.default.unres_qlen = 3 net.ipv6.neigh.default.proxy_qlen = 64 net.ipv6.neigh.default.anycast_delay = 100 net.ipv6.neigh.default.proxy_delay = 80 net.ipv6.neigh.default.locktime = 0 net.ipv6.neigh.default.retrans_time_ms = 1000 net.ipv6.neigh.default.base_reachable_time_ms = 30000 net.ipv6.neigh.default.gc_interval = 30 net.ipv6.neigh.default.gc_thresh1 = 128 net.ipv6.neigh.default.gc_thresh2 = 512 net.ipv6.neigh.default.gc_thresh3 = 1024 net.ipv6.neigh.lo.mcast_solicit = 3 net.ipv6.neigh.lo.ucast_solicit = 3 net.ipv6.neigh.lo.app_solicit = 0 net.ipv6.neigh.lo.delay_first_probe_time = 5 net.ipv6.neigh.lo.gc_stale_time = 60 net.ipv6.neigh.lo.unres_qlen = 3 net.ipv6.neigh.lo.proxy_qlen = 64 net.ipv6.neigh.lo.anycast_delay = 100 net.ipv6.neigh.lo.proxy_delay = 80 net.ipv6.neigh.lo.locktime = 0 net.ipv6.neigh.lo.retrans_time_ms = 1000 net.ipv6.neigh.lo.base_reachable_time_ms = 30000 net.ipv6.neigh.eth3.mcast_solicit = 3 net.ipv6.neigh.eth3.ucast_solicit = 3 net.ipv6.neigh.eth3.app_solicit = 0 net.ipv6.neigh.eth3.delay_first_probe_time = 5 net.ipv6.neigh.eth3.gc_stale_time = 60 net.ipv6.neigh.eth3.unres_qlen = 3 net.ipv6.neigh.eth3.proxy_qlen = 64 net.ipv6.neigh.eth3.anycast_delay = 100 net.ipv6.neigh.eth3.proxy_delay = 80 net.ipv6.neigh.eth3.locktime = 0 net.ipv6.neigh.eth3.retrans_time_ms = 1000 net.ipv6.neigh.eth3.base_reachable_time_ms = 30000 net.ipv6.neigh.eth2.mcast_solicit = 3 net.ipv6.neigh.eth2.ucast_solicit = 3 net.ipv6.neigh.eth2.app_solicit = 0 net.ipv6.neigh.eth2.delay_first_probe_time = 5 net.ipv6.neigh.eth2.gc_stale_time = 60 net.ipv6.neigh.eth2.unres_qlen = 3 net.ipv6.neigh.eth2.proxy_qlen = 64 net.ipv6.neigh.eth2.anycast_delay = 100 net.ipv6.neigh.eth2.proxy_delay = 80 net.ipv6.neigh.eth2.locktime = 0 net.ipv6.neigh.eth2.retrans_time_ms = 1000 net.ipv6.neigh.eth2.base_reachable_time_ms = 30000 net.ipv6.neigh.eth3-ifb.mcast_solicit = 3 net.ipv6.neigh.eth3-ifb.ucast_solicit = 3 net.ipv6.neigh.eth3-ifb.app_solicit = 0 net.ipv6.neigh.eth3-ifb.delay_first_probe_time = 5 net.ipv6.neigh.eth3-ifb.gc_stale_time = 60 net.ipv6.neigh.eth3-ifb.unres_qlen = 3 net.ipv6.neigh.eth3-ifb.proxy_qlen = 64 net.ipv6.neigh.eth3-ifb.anycast_delay = 100 net.ipv6.neigh.eth3-ifb.proxy_delay = 80 net.ipv6.neigh.eth3-ifb.locktime = 0 net.ipv6.neigh.eth3-ifb.retrans_time_ms = 1000 net.ipv6.neigh.eth3-ifb.base_reachable_time_ms = 30000 net.ipv6.xfrm6_gc_thresh = 2048 net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.all.hop_limit = 64 net.ipv6.conf.all.mtu = 1280 net.ipv6.conf.all.accept_ra = 1 net.ipv6.conf.all.accept_redirects = 1 net.ipv6.conf.all.autoconf = 1 net.ipv6.conf.all.dad_transmits = 1 net.ipv6.conf.all.router_solicitations = 3 net.ipv6.conf.all.router_solicitation_interval = 4 net.ipv6.conf.all.router_solicitation_delay = 1 net.ipv6.conf.all.force_mld_version = 0 net.ipv6.conf.all.use_tempaddr = 0 net.ipv6.conf.all.temp_valid_lft = 604800 net.ipv6.conf.all.temp_prefered_lft = 86400 net.ipv6.conf.all.regen_max_retry = 3 net.ipv6.conf.all.max_desync_factor = 600 net.ipv6.conf.all.max_addresses = 16 net.ipv6.conf.all.accept_ra_defrtr = 1 net.ipv6.conf.all.accept_ra_pinfo = 1 net.ipv6.conf.all.accept_ra_rtr_pref = 1 net.ipv6.conf.all.router_probe_interval = 60 net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.all.proxy_ndp = 0 net.ipv6.conf.all.accept_source_route = 0 net.ipv6.conf.all.optimistic_dad = 0 net.ipv6.conf.all.mc_forwarding = 0 net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.all.accept_dad = 1 net.ipv6.conf.all.force_tllao = 0 net.ipv6.conf.default.forwarding = 0 net.ipv6.conf.default.hop_limit = 64 net.ipv6.conf.default.mtu = 1280 net.ipv6.conf.default.accept_ra = 1 net.ipv6.conf.default.accept_redirects = 1 net.ipv6.conf.default.autoconf = 1 net.ipv6.conf.default.dad_transmits = 1 net.ipv6.conf.default.router_solicitations = 3 net.ipv6.conf.default.router_solicitation_interval = 4 net.ipv6.conf.default.router_solicitation_delay = 1 net.ipv6.conf.default.force_mld_version = 0 net.ipv6.conf.default.use_tempaddr = 0 net.ipv6.conf.default.temp_valid_lft = 604800 net.ipv6.conf.default.temp_prefered_lft = 86400 net.ipv6.conf.default.regen_max_retry = 3 net.ipv6.conf.default.max_desync_factor = 600 net.ipv6.conf.default.max_addresses = 16 net.ipv6.conf.default.accept_ra_defrtr = 1 net.ipv6.conf.default.accept_ra_pinfo = 1 net.ipv6.conf.default.accept_ra_rtr_pref = 1 net.ipv6.conf.default.router_probe_interval = 60 net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.default.proxy_ndp = 0 net.ipv6.conf.default.accept_source_route = 0 net.ipv6.conf.default.optimistic_dad = 0 net.ipv6.conf.default.mc_forwarding = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.default.accept_dad = 1 net.ipv6.conf.default.force_tllao = 0 net.ipv6.conf.lo.forwarding = 0 net.ipv6.conf.lo.hop_limit = 64 net.ipv6.conf.lo.mtu = 16436 net.ipv6.conf.lo.accept_ra = 1 net.ipv6.conf.lo.accept_redirects = 1 net.ipv6.conf.lo.autoconf = 1 net.ipv6.conf.lo.dad_transmits = 1 net.ipv6.conf.lo.router_solicitations = 3 net.ipv6.conf.lo.router_solicitation_interval = 4 net.ipv6.conf.lo.router_solicitation_delay = 1 net.ipv6.conf.lo.force_mld_version = 0 net.ipv6.conf.lo.use_tempaddr = -1 net.ipv6.conf.lo.temp_valid_lft = 604800 net.ipv6.conf.lo.temp_prefered_lft = 86400 net.ipv6.conf.lo.regen_max_retry = 3 net.ipv6.conf.lo.max_desync_factor = 600 net.ipv6.conf.lo.max_addresses = 16 net.ipv6.conf.lo.accept_ra_defrtr = 1 net.ipv6.conf.lo.accept_ra_pinfo = 1 net.ipv6.conf.lo.accept_ra_rtr_pref = 1 net.ipv6.conf.lo.router_probe_interval = 60 net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.lo.proxy_ndp = 0 net.ipv6.conf.lo.accept_source_route = 0 net.ipv6.conf.lo.optimistic_dad = 0 net.ipv6.conf.lo.mc_forwarding = 0 net.ipv6.conf.lo.disable_ipv6 = 0 net.ipv6.conf.lo.accept_dad = -1 net.ipv6.conf.lo.force_tllao = 0 net.ipv6.conf.eth3.forwarding = 0 net.ipv6.conf.eth3.hop_limit = 64 net.ipv6.conf.eth3.mtu = 1500 net.ipv6.conf.eth3.accept_ra = 1 net.ipv6.conf.eth3.accept_redirects = 1 net.ipv6.conf.eth3.autoconf = 0 net.ipv6.conf.eth3.dad_transmits = 1 net.ipv6.conf.eth3.router_solicitations = 3 net.ipv6.conf.eth3.router_solicitation_interval = 4 net.ipv6.conf.eth3.router_solicitation_delay = 1 net.ipv6.conf.eth3.force_mld_version = 0 net.ipv6.conf.eth3.use_tempaddr = 1 net.ipv6.conf.eth3.temp_valid_lft = 604800 net.ipv6.conf.eth3.temp_prefered_lft = 86400 net.ipv6.conf.eth3.regen_max_retry = 3 net.ipv6.conf.eth3.max_desync_factor = 600 net.ipv6.conf.eth3.max_addresses = 16 net.ipv6.conf.eth3.accept_ra_defrtr = 1 net.ipv6.conf.eth3.accept_ra_pinfo = 1 net.ipv6.conf.eth3.accept_ra_rtr_pref = 1 net.ipv6.conf.eth3.router_probe_interval = 60 net.ipv6.conf.eth3.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.eth3.proxy_ndp = 0 net.ipv6.conf.eth3.accept_source_route = 0 net.ipv6.conf.eth3.optimistic_dad = 0 net.ipv6.conf.eth3.mc_forwarding = 0 net.ipv6.conf.eth3.disable_ipv6 = 0 net.ipv6.conf.eth3.accept_dad = 1 net.ipv6.conf.eth3.force_tllao = 0 net.ipv6.conf.eth2.forwarding = 0 net.ipv6.conf.eth2.hop_limit = 64 net.ipv6.conf.eth2.mtu = 1500 net.ipv6.conf.eth2.accept_ra = 1 net.ipv6.conf.eth2.accept_redirects = 1 net.ipv6.conf.eth2.autoconf = 1 net.ipv6.conf.eth2.dad_transmits = 1 net.ipv6.conf.eth2.router_solicitations = 3 net.ipv6.conf.eth2.router_solicitation_interval = 4 net.ipv6.conf.eth2.router_solicitation_delay = 1 net.ipv6.conf.eth2.force_mld_version = 0 net.ipv6.conf.eth2.use_tempaddr = 0 net.ipv6.conf.eth2.temp_valid_lft = 604800 net.ipv6.conf.eth2.temp_prefered_lft = 86400 net.ipv6.conf.eth2.regen_max_retry = 3 net.ipv6.conf.eth2.max_desync_factor = 600 net.ipv6.conf.eth2.max_addresses = 16 net.ipv6.conf.eth2.accept_ra_defrtr = 1 net.ipv6.conf.eth2.accept_ra_pinfo = 1 net.ipv6.conf.eth2.accept_ra_rtr_pref = 1 net.ipv6.conf.eth2.router_probe_interval = 60 net.ipv6.conf.eth2.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.eth2.proxy_ndp = 0 net.ipv6.conf.eth2.accept_source_route = 0 net.ipv6.conf.eth2.optimistic_dad = 0 net.ipv6.conf.eth2.mc_forwarding = 0 net.ipv6.conf.eth2.disable_ipv6 = 0 net.ipv6.conf.eth2.accept_dad = 1 net.ipv6.conf.eth2.force_tllao = 0 net.ipv6.conf.eth3-ifb.forwarding = 0 net.ipv6.conf.eth3-ifb.hop_limit = 64 net.ipv6.conf.eth3-ifb.mtu = 1500 net.ipv6.conf.eth3-ifb.accept_ra = 1 net.ipv6.conf.eth3-ifb.accept_redirects = 1 net.ipv6.conf.eth3-ifb.autoconf = 1 net.ipv6.conf.eth3-ifb.dad_transmits = 1 net.ipv6.conf.eth3-ifb.router_solicitations = 3 net.ipv6.conf.eth3-ifb.router_solicitation_interval = 4 net.ipv6.conf.eth3-ifb.router_solicitation_delay = 1 net.ipv6.conf.eth3-ifb.force_mld_version = 0 net.ipv6.conf.eth3-ifb.use_tempaddr = 0 net.ipv6.conf.eth3-ifb.temp_valid_lft = 604800 net.ipv6.conf.eth3-ifb.temp_prefered_lft = 86400 net.ipv6.conf.eth3-ifb.regen_max_retry = 3 net.ipv6.conf.eth3-ifb.max_desync_factor = 600 net.ipv6.conf.eth3-ifb.max_addresses = 16 net.ipv6.conf.eth3-ifb.accept_ra_defrtr = 1 net.ipv6.conf.eth3-ifb.accept_ra_pinfo = 1 net.ipv6.conf.eth3-ifb.accept_ra_rtr_pref = 1 net.ipv6.conf.eth3-ifb.router_probe_interval = 60 net.ipv6.conf.eth3-ifb.accept_ra_rt_info_max_plen = 0 net.ipv6.conf.eth3-ifb.proxy_ndp = 0 net.ipv6.conf.eth3-ifb.accept_source_route = 0 net.ipv6.conf.eth3-ifb.optimistic_dad = 0 net.ipv6.conf.eth3-ifb.mc_forwarding = 0 net.ipv6.conf.eth3-ifb.disable_ipv6 = 0 net.ipv6.conf.eth3-ifb.accept_dad = -1 net.ipv6.conf.eth3-ifb.force_tllao = 0 net.ipv6.ip6frag_high_thresh = 262144 net.ipv6.ip6frag_low_thresh = 196608 net.ipv6.ip6frag_time = 60 net.ipv6.route.gc_thresh = 1024 net.ipv6.route.max_size = 4096 net.ipv6.route.gc_min_interval = 0 net.ipv6.route.gc_timeout = 60 net.ipv6.route.gc_interval = 30 net.ipv6.route.gc_elasticity = 9 net.ipv6.route.mtu_expires = 600 net.ipv6.route.min_adv_mss = 1220 net.ipv6.route.gc_min_interval_ms = 500 net.ipv6.icmp.ratelimit = 1000 net.ipv6.bindv6only = 0 net.ipv6.ip6frag_secret_interval = 600 net.ipv6.mld_max_msf = 64
更新2017-07-07#2:
提供商称两台机器都连接在同一台交换机上.这意味着这必须是一个配置问题.
更新2017-07-08:
我已将内核从3.4升级到3.16,并将Intel igb NIC驱动程序升级到他们网站上的最新软件包.然而,无济于事,观察到的行为根本没有改变.
解决方法
>提供商向您提供了错误的信息.
>使用的正确接口实际上不是eth3,而是其他东西.
>从机器到网关的路径上存在严重错误配置的防火墙.
>通信不应该使用IPv6 over Ethernet,而是使用其他协议,这可能是IPv6 over PPP over Ethernet.
whois查找将显示您正在使用的IP地址是分配给RIPE的2a00 :: / 12的一部分,但尚未分配给任何ISP.所以我的猜测是提供商在收到的信息中输错了IP地址.
一些可能或可能不感兴趣的附加说明.您的route命令可以缩写为:
ip -6 route add ::/0 via 2a02:f99:0:64::1
在这里指定dev eth3是多余的,因为您已经有一条路由指示2a02:f99:0:64 :: 1
我见过至少有一家提供商使用fe80 :: 1作为网关地址.鉴于提供商告诉你使用2a02:f99:0:64 :: 1作为网关地址它不应该工作,但它仍然是一个明智的尝试,找出问题所在.
您可以尝试查找正在发生的事情的其他一些事情是查看数据包捕获,例如键入以下内容:
tcpdump -ni eth3 ip6 -s0
您可以尝试使用以下方法查找该段上的所有IPv6节点:
ping6 ff02::1%eth3
但我最好的建议是要求提供商提供正确的信息,提到2a02:f99 :: / 32是未分配的.