![配置 IPv6 - CentOS OVH - 无法 ping 通](https://linux22.com/image/663474/%E9%85%8D%E7%BD%AE%20IPv6%20-%20CentOS%20OVH%20-%20%E6%97%A0%E6%B3%95%20ping%20%E9%80%9A.png)
我无法从服务器外部和内部 ping 我的 IPv6,我无法 ping 任何 IPv6。我的 IPv6:2001:41d0:2:XXXX::/64
我使用 CentOS 6.6 和支持 IPv6 的 Xen 内核。我的提供商是 OVH,我遵循了以下指南:http://guide.ovh.com/Ipv4Ipv6 和 http://www.cyberciti.biz/faq/rhel-re...配置/ 这是我的配置:
猫/等/系统配置/网络
...
NETWORKING_IPV6=yes
猫/等/系统配置/网络脚本/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
...
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR="2001:41D0:2:xxxx::/64"
IPV6_DEFAULTGW="2001:41d0:2:xxff:ff:ff:ff:ff"
cat /etc/sysconfig/network-scripts/route6-eth0
...
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.eth0.accept_ra = 0
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.all.router_solicitations=1
net.ipv6.conf.default.proxy_ndp=1
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding = 1
网络重启:service network restart
我添加了一条路线:route -A inet6 add default gw 2001:41d0:2:xxff:ff:ff:ff:ff dev eth0
Ip6tables 已禁用。
配置文件
eth0 ...
inet6 addr: 2001:41d0:2:xxxx::/64 Scope:Global
inet6 addr: fe80::230:48ff:fefd:7a86/64 Scope:Link
跟踪路由 ipv6.google.com
traceroute to ipv6.google.com (2a00:1450:4007:80d::200e), 30 hops max, 80 byte packetsping ipv6.
1 2001:41d0:2:xxxx::) 3005.167 ms !H 3005.118 ms !H 3005.089 ms !H
ping ipv6.google.com
ping: unknown host ipv6.google.com
从 IPv6 进行 Ping 也失败了。
我像这样更改 IPv6:2001:41d0:2:XXXX::1234/64
我有一个用于 IPv6 路由的文件:
cat /etc/sysconfig/network-scripts/route6-eth0
2001:41D0:2:xxff:ff:ff:ff:ff dev eth0
default via 2001:41D0:2:xxff:ff:ff:ff:ff
我重新启动了网络服务并收到以下警告消息:
服务网络重启
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
全局 IPv6 转发在配置中被禁用,但目前
在内核中并未被禁用
请使用‘/sbin/service network restart’重新启动网络
警告:[ipv6_add_route]‘没有到主机的路由’通过网关‘2001:41d0:2:xxff:ff:ff:ff:ff’通过设备‘’添加路由‘::/0’[确定]
ping6 2001:41d0:2:xxff:ff:ff:ff:ff
PING 2001:41d0:2:xxff:ff:ff:ff:ff(2001:41d0:2:xxff:ff:ff:ff:ff) 56 个数据字节
来自 2001:41d0:2:xxxx::1234 icmp_seq=1 目标不可达:地址不可达
答案1
地址 2001:41d0:2:XXXX::/64 的主机部分全为零。请尝试分配一个合适的地址,例如 2001:41d0:2:XXXX::YYYY/64。
在尝试 ping Internet 上的主机(如 ipv6.google.com)之前,请检查是否可以通过其数字地址 2001:41d0:2:xxff:ff:ff:ff:ff ping 默认网关。
还要检查上述地址中的 XXXX == xxff。否则您的 CentOS 计算机将无法到达默认网关,至少在没有 OVH 指南页面上提供的附加路由命令的情况下无法到达。
答案2
正如 Tilman Schmidt 已经指出的那样,您的主机部分为全零。但是,我在 LXC 容器中启用 IPv6 也遇到了麻烦。这在 CentOS 7 上对我有用:
在/etc/sysconfig/网络脚本/ifcfg-eth0, 添加:
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=yes
IPV6ADDR_SECONDARIES="2001:41D0:2:xxxx::1/64"
(显然,删除多余的行)
对我来说没有必要运行route
,编辑路由6-eth0或者更改 sysctl 值。只需将主地址设置为辅助地址即可。我在 NetworkManager 开启和关闭的情况下都进行了测试。
抱歉,我无法解释为什么会发生这种情况。看起来,LXC 上的 CentOS 7 中的网络配置忽略了静态配置的 IPv6,并且没有从路由器广告中获取地址。我在 Debian Wheezy 上也发现了同样的问题(尽管我没有解决方案)。
答案3
你让它工作了吗?如果没有,请从
IPV6ADDR="2001:41D0:2:xxxx::/64"
到
IPV6ADDR="2001:41D0:2:xxxx::/56"
然后使用 重新启动网络接口service network restart
。使用 测试 IPv6 网关现在是否可以访问ping6 2001:41d0:2:xxff:ff:ff:ff:ff
。
OVH IPv6 指南具有误导性,我也遇到了同样的问题,直到我注意到他们的前缀长度错误以适应他们的 IPv6 网关设置。