在腾讯云轻量应用服务器(Lighthouse)上开启 IPv6 并配置联网,主要分为控制台开通和系统内配置两个阶段。以下是详细的操作步骤:
第一阶段:在腾讯云控制台开通 IPv6
默认情况下,轻量服务器可能未分配 IPv6 地址,需要先手动开启。
- 登录控制台
进入 腾讯云轻量应用服务器控制台。 - 选择实例
找到你需要配置的服务器实例,点击右侧的 “管理” 按钮。 - 修改网络设置
- 在左侧菜单或详情页中,找到 “网络” 选项卡。
- 点击 “修改网络配置”(部分界面直接显示为“公网 IP"下方的 IPv6 开关)。
- 勾选 “启用 IPv6" 或 “分配 IPv6 地址”。
- 确认带宽限制(通常 IPv6 带宽与 IPv4 共享或单独计费,具体视当前套餐而定)。
- 点击 “确定” 保存。
- 注意:此时服务器可能会自动重启网络服务或短暂断连,等待约 1-2 分钟让新地址生效。
第二阶段:Linux 系统内部配置
开启后,服务器会自动获取一个 IPv6 地址,但可能需要配置路由表以确保能正常访问网络(特别是国内环境下的 IPv6 连通性)。
1. 检查是否获取到 IPv6 地址
通过 SSH 登录服务器,执行以下命令查看网卡信息:
ip -6 addr show
# 或者
ifconfig | grep inet6
你应该能看到类似 inet6 fe80::... (链路本地) 和 inet6 240e:... (全球单播地址) 的地址。如果只有 fe80 开头的地址,说明未获取到公网 IPv6,需检查控制台状态或重启网络服务。
2. 配置默认路由(关键步骤)
Linux 系统有时不会自动将 IPv6 设为默认路由,导致无法上网。我们需要手动添加默认路由。
假设你的主网卡名称为 eth0(如果是云服务器通常是这个,可用 ip link 确认),执行以下命令:
# 添加 IPv6 默认路由
sudo ip -6 route add default via <网关地址> dev eth0
如何获取网关地址?
IPv6 的网关通常是该子网的第一个地址(即 /64 前缀后的 :1 或 :ff,但在腾讯云轻量服务器中,通常可以通过 ip -6 route 查看现有的路由表,如果没有默认路由,尝试使用以下命令让系统自动发现网关,或者参考下文“推荐方案”)。
更稳妥的自动发现方式:
很多 Linux 发行版(如 Ubuntu/Debian/CentOS)支持 SLAAC 自动配置。你可以尝试重启网络服务:
# Ubuntu/Debian
sudo systemctl restart networking
# 或
sudo netplan apply
# CentOS/RHEL
sudo systemctl restart network
# 或
sudo nmcli c reload && sudo nmcli c up <连接名>
如果重启后仍未生效,可以手动指定网关(腾讯云轻量服务器的 IPv6 网关通常是 240e:xxxx:xxxx:xxxx::1,其中 xxxx 是你的前缀部分)。
3. 永久化配置(防止重启失效)
根据不同的发行版,配置方式不同:
方案 A:Ubuntu (Netplan)
编辑配置文件 /etc/netplan/01-netcfg.yaml (文件名可能不同):
network:
version: 2
ethernets:
eth0:
dhcp6: true # 开启 DHCPv6 自动获取地址和路由
routes:
- to: default
via: auto # 自动寻找网关
保存后执行:sudo netplan apply
方案 B:CentOS 7 / RHEL / Rocky Linux
编辑网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0:
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFAULTGW=auto # 或者手动指定具体的网关地址
保存后执行:sudo systemctl restart network
方案 C:通用方法 (rc.local 或 systemd)
如果不想修改复杂配置,可以在启动脚本中添加路由命令:
创建文件 /etc/rc.local (确保有执行权限):
#!/bin/bash
ip -6 route add default via <你的网关地址> dev eth0
exit 0
第三阶段:验证与防火墙
1. 测试连通性
使用 ping6 测试能否访问互联网:
ping6 www.baidu.com
# 或者 ping6 google.com (国内服务器可能不通,建议先测百度)
如果收到回复,说明 IPv6 已通。
2. 检查防火墙 (Firewall/UFW)
确保防火墙没有拦截 IPv6 流量。
- UFW (Ubuntu):
sudo ufw status verbose # 确保 IPv6 状态是 enabled # 如果需要放行,例如允许所有入站 IPv6: sudo ufw allow ipv6 from any to any - iptables:
检查ip6tables -L,确保没有 DROP 规则阻断默认流量。
常见问题排查
- Ping 不通国内网站?
- 这是最常见的问题。由于国内 IPv6 出口拥堵或运营商策略,部分轻量服务器 IPv6 访问国内站点可能延迟高或不稳定。
- 测试方法:尝试
ping6 ipv6.google.com或ping6 ipv6.baidu.com。如果只能 Ping 通国外而国内不通,属于网络环境特性,非配置错误。
- 没有获取到全球单播地址?
- 检查控制台是否真的开启了 IPv6。
- 检查是否有 IPv6 X_X或 DNS 问题。尝试修改
/etc/resolv.conf中的 nameserver 为2400:3200::1(阿里 DNS) 或240c::6666(腾讯 DNS)。
- SSH 无法通过 IPv6 连接?
- 确保
/etc/ssh/sshd_config中没有禁用 IPv6。 - 确保客户端也具备 IPv6 网络环境。
- 确保
完成以上步骤后,你的腾讯云轻量服务器即可正常通过 IPv6 进行通信。
PHPWP博客