在腾讯云轻量应用服务器(Lighthouse)上配置静态 IPv6,核心逻辑和传统云服务器(CVM)略有不同。因为轻量服务器通常没有独立的公网 IP 池概念,而是通过子网(Subnet)或实例绑定的方式分配 IPv6 地址。
以下是基于 Ubuntu 20.04/22.04 LTS 系统的详细操作步骤。整个过程分为:获取信息 -> 修改网络配置 -> 重启验证 三步。
第一步:获取必要的网络信息
在修改配置文件之前,你需要先确认当前系统获取到的动态 IPv6 地址、网关以及子网掩码。登录 SSH 后执行以下命令:
# 查看网卡名称,通常是 eth0
ip addr show
# 重点观察输出结果中带有 inet6 的行
# 例如:inet6 2408:xxxx:xxxx:xxxx::xxxx/64 scope global dynamic ...
你需要记录三个关键参数:
- IPv6 地址:例如
2408:8207:xxxx:xxxx::1 - 前缀长度:通常是
/64 - 默认网关:可以通过
ip -6 route查看,默认路由default via ... dev eth0后面的 IP 就是网关。
注意:轻量服务器的 IPv6 地址通常是自动分配的(SLAAC 或 DHCPv6)。如果要设为“静态”,意味着你要告诉系统:“别再去请求新的了,就固定用我指定的这个地址”。
第二步:修改 Netplan 配置文件
Ubuntu 18.04+ 默认使用 Netplan 管理网络。配置文件位于 /etc/netplan/ 目录下,文件名可能是 50-cloud-init.yaml 或 00-installer-config.yaml。
1. 备份原配置
sudo cp /etc/netplan/*.yaml /etc/netplan/*.yaml.bak
2. 编辑配置文件
打开对应的 yaml 文件(假设是 50-cloud-init.yaml):
sudo nano /etc/netplan/50-cloud-init.yaml
3. 修改内容
将原来的动态获取配置修改为静态配置。注意 YAML 对缩进非常敏感,必须使用空格,不能用 Tab。
修改前的典型样子(DHCPv6):
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
dhcp6: true # 这里是动态获取 IPv6
修改后的样子(静态 IPv6):
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
# 关闭 DHCPv6
dhcp6: false
# 添加静态 IPv6 配置
addresses:
- "你的IPv6地址/前缀长度" # 例如: ["2408:8207:xxxx:xxxx::1/64"]
routes:
- to: "::/0"
via: "你的IPv6网关地址" # 例如: ["2408:8207:xxxx:xxxx::1"]
metric: 1024 # 可选,设置优先级
nameservers:
addresses:
- 2400:3200::1 # 腾讯云 DNS
- 2400:3200:baba::1 # 腾讯云备用 DNS
关键点解释:
addresses: 填入你从第一步查到的 IPv6 地址。routes: 必须指定默认路由::/0指向网关。如果没有这一条,你可能能 Ping 通同网段,但无法访问网络。nameservers: 建议加上腾讯云的 IPv6 DNS,否则某些服务解析可能失败。
4. 应用配置
保存文件后,执行以下命令测试配置语法并生效:
# 检查语法是否正确
sudo netplan try
# 如果超时未报错,或者直接强制应用
sudo netplan apply
第三步:验证与排查
1. 验证本地配置
ip -6 addr show eth0
ip -6 route
ping6 -c 4 2400:3200::1 # 测试连通性
2. 外部连通性测试
由于轻量服务器可能有防火墙限制,或者腾讯云侧的策略问题,本地通了不代表网络能通。
- 使用手机热点或其他网络环境,尝试
ping6你的服务器 IPv6 地址。 - 如果本地通了但外部不通,检查以下两点:
- 安全组规则:登录腾讯云控制台,找到该轻量服务器,检查“防火墙”或“安全组”设置,确保入方向允许 ICMPv6 或你需要的端口(如 80/443)。
- IPv6 开关状态:在腾讯云控制台实例详情页,确认“IPv6”功能是否已开启。部分轻量套餐默认未开启 IPv6,需要手动在控制台点击“启用”或“绑定 IPv6”。
常见问题与避坑指南
-
为什么改了之后连不上 SSH 了?
- 这是最常见的情况。如果你只配了 IPv6 而没配好 IPv4,或者 Netplan 配置错误导致网络中断,SSH 会断开。
- 解决方案:立即回到腾讯云控制台,使用 “远程连接” (VNC) 功能登录。VNC 不依赖网络栈,可以直接修复
/etc/netplan/下的错误文件。
-
腾讯云轻量服务器的 IPv6 地址会变吗?
- 通常情况下,只要你不在控制台解绑再重新绑定,或者不更换操作系统镜像,IPv6 地址是固定的。但为了保险起见,建议在云控制台的“弹性公网 IP”或“IPv6 管理”页面确认该实例绑定的 IPv6 地址是否与你在系统中配置的完全一致。
-
关于 SLAAC 的替代方案
- 有些用户希望保留 DHCPv6 自动获取地址的能力,但手动设置 DNS。这种情况下,可以保持
dhcp6: true,然后在networking或systemd-networkd层面配置 DNS,但这不如直接写死静态地址稳定,特别是对于需要固定 IPv6 做反向解析或白名单的场景,静态配置是首选。
- 有些用户希望保留 DHCPv6 自动获取地址的能力,但手动设置 DNS。这种情况下,可以保持
-
合规性与服务商策略
- 国内云厂商对 IPv6 的管理较为严格。确保你的业务场景符合《互联网信息服务管理办法》。如果在配置过程中发现无法获取 IPv6,可能是账号实名等级不足或地区资源限制,此时应优先联系腾讯云工单支持,而非盲目修改底层配置。
通过以上步骤,你应该能在 Ubuntu 轻量服务器上成功部署静态 IPv6 环境。如果遇到具体的报错日志,可以提供 journalctl -u systemd-networkd 的输出以便进一步分析。
云技术博客