linux – IPv6仅在ping默认网关后才能工作.
我们现在有2013年,我认为在我的服务器上激活IPv6已经很久了.但不幸的是,我遇到了一些问题.说实话,我只有IPv6的经验,所以我希望你能解决我的“小”问题.
一个小小的评论:以下地址被混淆,这不是我在我的配置中使用的;) 我正在运行Debian压缩(Debian 2.6.32-46),我从我的提供者那里获得了一个/ 64 IPv6块:2a01:4f8:a0:aaaa :: / 64 所以我按如下方式更改了/ etc / network / interfaces文件(这也是我的提供者推荐的方式): # Loopback device: auto lo iface lo inet loopback # device: eth0 auto eth0 iface eth0 inet static address 85.10.xxx.zz broadcast 85.10.xxx.yy netmask 255.255.255.224 gateway 85.10.xxx.1 iface eth0 inet6 static # Main IPv6 Address of the server address 2a01:4f8:a0:aaaa::2 netmask 64 gateway fe80::1 auto eth0:1 iface eth0:1 inet static address 85.10.xxxx.uu netmask 255.255.255.224 # default route to access subnet up route add -net 85.10.xxx.0 netmask 255.255.255.224 gw 85.10.xxx.1 eth0 重启后(我很懒,不想用路由或ip添加任何东西)我的eth0界面如下所示: eth0 < first line removed > inet addr:85.10.xxx.zz Bcast:85.10.xxx.yy Mask:255.255.255.224 inet6 addr: 2a01:4f8:a0:aaaa::2/64 Scope:Global inet6 addr: fe80::bbbb:cccc:dddd:eeee/64 Scope:Link <--- from MAC address UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24133 errors:0 dropped:0 overruns:0 frame:0 TX packets:21712 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3464246 (3.3 MiB) TX bytes:5776451 (5.5 MiB) Interrupt:25 Base address:0x2000 和路由ip -6 route看起来像这样: 2a01:4f8:a0:aaaa::/64 dev eth0 metric 1024 mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev vboxnet0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 default via fe80::1 dev eth0 metric 1024 mtu 1500 advmss 1440 hoplimit 4294967295 现在,我的问题是我的IPv6无法正常工作.如果我尝试ping IPv6地址,例如ping6 ipv6.google.com.我得到:“目标无法访问:地址无法访问” 在tcpdump -i eth0 ip6中看起来像这样: 00:29:05.386500 IP6 2a01:4f8:a0:aaaa::2 > ff02::1:ff00:1: ICMP6,neighbor solicitation,who has fe80::1,length 32 00:29:05.390869 IP6 2a01:4f8:a0:bbbb::1 > 2a01:4f8:a0:aaaa::2: ICMP6,neighbor advertisement,tgt is fe80::1,length 32 2a01:4f8:a0:bbbb :: 1是btw.列为我的网关(在我的提供商的在线管理控制台). 我认为,所有这一切的原因是缺少NDP条目/缺少fe80 :: 1的MAC地址.因为ip -6 neigh给了我: fe80::1 dev eth0 router FAILED 我想是的,因为如果我这样做:ping6 -I eth0 fe80 :: 1我得到一个正确的回复回复和我的fe80 :: 1地址所需的mac地址以及一个完美工作的IPv6堆栈: $ip -6 neigh fe80::1 dev eth0 lladdr ll:mm:nn:oo:pp:qq router REACHABLE 这也是来自tcpdump -i eth0 ip6的转储: 00:30:37.555702 IP6 fe80::bbbb:cccc:dddd:eeee > fe80::1: ICMP6,echo request,seq 1,length 64 00:30:37.560219 IP6 fe80::1 > fe80::bbbb:cccc:dddd:eeee: ICMP6,echo reply,length 64 (再次:fe80 :: bbbb:cccc:dddd:eeee是我的链接本地地址,源自MAC地址) 从这一点开始,我可以使用IPv6:我可以ping6网站,我可以使用IPv6连接到服务,甚至可以通过ssh使用IPv6连接到我的服务器. 那么,我在这里做错了什么?我花了很多时间试图找出如何“修复”这个问题.我打赌它可以用两个命令解决.这是我第一次在服务器上处理IPv6时的方式.所以请原谅我缺乏经验.顺便说一句.我还试图改变一些sysctl net.ipv6.*标志,但没有成功.如果解决方案有必要,我也可以在此处发布我的配置. 每个提示都非常受欢迎! 非常感谢你提前! 解决方法
几个星期后,我今天再次尝试了整个问题.我能说什么,我修好了.有人可以解释一下为什么添加ipv6环回修复我的问题?这是我添加到/ etc / network / interfaces文件中的内容:
iface lo inet6 loopback 我不知道为什么我忘了首先添加它!^^谢谢大家的回复! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |