解决OVH KS系列服务器IPv6被限制为/128的问题
前言:遇到坑了?
OVH Kimsufi 系列服务器以高性价比著称
最近薅羊毛入手了一台 OVH 的 KS 系列服务器(Kimsufi),本来是冲着大带宽和高性价比去的。到手配环境的时候才发现,这机器默认只给分配了一个 /128 的 IPv6 地址。
懂行的朋友都知道,/128 就好比 IPv4 里的一个单 IP,这对于想折腾 Docker 容器、搭建多个站点或者需要独立 IPv6 环境的朋友来说,简直就是个半残状态。OVH 官方虽然给了个大段,但默认系统并没有把路由配好,导致你这“豪门大院”只开了一扇小窗户。
今天就来聊聊怎么把这个限制解开,把我们要的整个 /64 或者更大的子网用起来。
问题根源:为什么只有 /128?
首先别慌,这不是 OVH 坏心眼扣住了你的 IP。实际上,OVH 给你的服务器分配了一个 /64 的 IPv6 地址块(甚至更大),但问题出在系统的网络配置上。
默认情况下,很多系统镜像(尤其是常见的 Linux 发行版)是通过 DHCPv6 客户端来获取 IPv6 地址的。而 OVH 的 DHCPv6 配置往往比较保守,或者你系统里的 dhclient 配置拒绝了路由宣告(RA),只申请了一个单独的 IP 地址作为接口地址,而没有配置整个子网的路由。
编辑 DHCP 客户端配置以请求前缀授权
换句话说,IP 给你了,路由表没写进去,系统不知道怎么用那一大堆 IP。
解决方案一:修改 DHCPv6 配置(推荐)
这是最稳妥、也最符合运维规范的方法。我们不需要手动写死 IP,而是教系统如何正确地向 OVH 的 DHCP 服务器“要权”。
1. 编辑 DHCP 客户端配置
如果你使用的是 CentOS 7/8 或类似的 systemd 发行版,找到 /etc/sysconfig/network-scripts/ifcfg-eth0( assuming 你的网卡是 eth0),或者直接看 /etc/dhcp/dhclient.conf。
在配置文件中添加或修改以下参数,强制请求前缀授权:
# 关键参数:请求前缀 delegation
request prefix delegation;
如果是 Ubuntu/Debian 用户,通常修改 /etc/dhcp/dhclient6.conf,确保有类似下面的配置:
interface "eth0" {
send ia-na 1; # 请求非临时地址
send ia-pd 1; # 请求前缀授权,这是重点!
request domain-name-servers, domain-name, time-offset;
}
2. 重启网络服务
配置改好后,直接重启网络或者重启 DHCPv6 客户端:
# CentOS/RHEL
systemctl restart network
# 或者 dhclient 命令
dhclient -6 -d eth0
执行完毕后,尝试 ip -6 addr 查看网卡信息。如果你运气好,应该能看到一个 scope global 的地址段,而不仅仅是 scope link 的本地链路地址。
解决方案二:手动配置 IPv6 子网(简单粗暴)
如果 DHCP 怎么搞都不顺,或者你就是想快点搞定,我们可以“硬编码”一下。前提是你需要在 OVH 的管理面板里查到你被分配的 IPv6 网段和网关地址。
1. 获取信息
登录 OVH Manager,进入你的 KS 服务器控制台,找到 IP 栏目。你会看到类似这样的信息:
- IPv6 Block:
2001:abcd:1234:abcd::/64 - Gateway:
2001:abcd:1234:abcd::1
2. 手力添加路由
直接在命令行操作(为了测试),成功后再写入配置文件。
首先添加一个 IPv6 地址到网卡(选择 /64 里的任意一个,除了网关):
ip -6 addr add 2001:abcd:1234:abcd::100/64 dev eth0
接着添加默认网关路由:
ip -6 route add default via 2001:abcd:1234:abcd::1 dev eth0
3. 写入配置文件永久生效
Ubuntu/Debian: 编辑 /etc/netplan/00-installer-config.yaml:
network:
ethernets:
eth0:
addresses:
- 2001:abcd:1234:abcd::100/64
routes:
- to: default
via: 2001:abcd:1234:abcd::1
version: 2
配置好后运行 netplan apply。
CentOS: 编辑 /etc/sysconfig/network-scripts/ifcfg-eth0:
IPV6INIT=yes
IPV6ADDR=2001:abcd:1234:abcd::100/64
IPV6_DEFAULTGW=2001:abcd:1234:abcd::1
然后重启网络。
验证与后续玩法
搞定之后,别急着关窗口,先 ping 一下外网测连通性:
ping6 -c 4 google.com
# 或者 ping IPv6 测试地址
ping6 -c 4 2400:3200::1
如果通了,恭喜你,现在你手里掌握的不再是一个孤零零的 /128,而是拥有 2 的 64 次方个 IP 地址的庞大空间。
这时候你可以:
- 给每个 Docker 容器分配一个公网 IPv6,不用担心 NAT 端口冲突。
- 搭建 IPv6 only 的站点,享受速度加成。
- 配置 WireGuard 或其他 VPN,让设备全走 IPv6 通道。
总结
OVH KS 系列虽然便宜,但网络配置确实有点“老旧”风格,默认不给配子网路由这事儿坑了不少人。其实只要理解了 IPv6 的前缀授权机制,或者简单地手动添加路由,就能瞬间释放这台服务器的全部潜力。
下次再遇到 IPv6 只有 ::1 这种情况,记得先查查路由表,也许缺的只是一个路由条目而已。

评论已关闭