前言:遇到坑了?

OVH Kimsufi 服务器或数据中心示意图

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 地址作为接口地址,而没有配置整个子网的路由。

Linux 终端编辑网络配置文件

编辑 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 这种情况,记得先查查路由表,也许缺的只是一个路由条目而已。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭