在阿里云轻量应用服务器(Lightweight Application Server)上开启和使用 IPv6,需要分两步完成:先在控制台为实例分配 IPv6 地址,再在操作系统内部配置网络接口。以下是详细步骤:
一、在阿里云控制台开启 IPv6
-
登录阿里云控制台
访问 https://home.console.aliyun.com,进入「轻量应用服务器」页面。 -
选择目标实例
找到你需要配置的轻量服务器,点击其名称或「管理」。 -
修改公网 IP 配置
- 在实例详情页,点击左侧菜单的 「网络与安全」 → 「公网 IP」(或直接在概览页找到「公网带宽」区域)。
- 点击 「IPv6」 标签页(若未显示,请确认该地域和实例规格是否支持 IPv6;目前绝大多数主流地域和 ECS/轻量实例均支持)。
- 勾选 「分配 IPv6 地址」,点击确定。系统会为该实例自动分配一个全局唯一的 IPv6 地址。
-
验证 IPv6 已分配
返回实例详情,在「公网信息」中应能看到类似240e:xxxx:xxxx:xxxx::xxxx格式的 IPv6 地址。
✅ 注意:轻量服务器默认可能仅绑定 IPv4,需手动开启 IPv6;部分老旧实例类型可能不支持,建议先查看 阿里云官方文档 确认支持情况。
二、在操作系统内配置 IPv6
▶ Linux 系统(以 Ubuntu/Debian/CentOS 为例)
方法一:使用 systemd-networkd(推荐,现代发行版)
# 安装 systemd-networkd(如未安装)
sudo apt update && sudo apt install systemd-networkd systemd-resolved # Debian/Ubuntu
sudo yum install NetworkManager # CentOS/RHEL(通常默认启用 NetworkManager)
# 编辑网卡配置文件(假设网卡名为 eth0)
sudo nano /etc/systemd/network/20-eth0.network
写入以下内容(替换 eth0 为你的实际网卡名,IPv6 地址由 DHCPv6 自动获取):
[Match]
Name=eth0
[Network]
DHCP=yes
IPv6AcceptRA=yes
重启网络服务:
sudo systemctl restart systemd-networkd
sudo systemctl enable systemd-networkd
验证:
ip -6 addr show eth0
ping6 -c 4 ipv6.google.com
方法二:使用 Netplan(Ubuntu 18.04+)
编辑 /etc/netplan/01-netcfg.yaml(文件名可能不同):
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: true
accept-ra: true
应用配置:
sudo netplan apply
方法三:临时测试(不持久)
# 启用 IPv6 接收路由器通告
sudo sysctl -w net.ipv6.conf.eth0.accept_ra=2
# 手动添加 IPv6 地址(如需静态配置,需联系阿里云获取前缀)
# sudo ip -6 addr add 240e:xxx:xxx:xxx::1/64 dev eth0
▶ Windows 系统(轻量服务器暂不支持直接创建 Windows 镜像 + IPv6?需确认)
⚠️ 截至 2024 年,阿里云轻量应用服务器暂不支持 Windows 镜像原生 IPv6 自动配置(仅部分自定义镜像可通过注册表+组策略启用)。建议优先使用 Linux 场景。如必须使用 Windows,可考虑:
- 使用 ECS 实例(支持更完善)
- 或通过 PowerShell 手动启用:
Enable-NetAdapterBinding -Name "Ethernet" -ComponentID ms_tcpip6 Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesTcpip6Parameters" -Name "DisabledComponents" -Value 0x20 Restart-Computer
三、防火墙与安全组设置
✅ 关键步骤:仅开启 IPv6 而不放行端口,外部仍无法访问!
-
安全组规则
在控制台 → 实例 → 「安全组」→ 编辑入方向规则:- 协议:
ICMPv6(用于 ping) - 或指定 TCP/UDP 端口(如
80,443,22),源地址设为::/0
📌 注意:IPv6 安全组规则需单独添加,与 IPv4 互不影响。
- 协议:
-
系统防火墙
- UFW(Ubuntu):
sudo ufw allow from ::/0 to any port 22 proto tcp sudo ufw --force reload - firewalld(CentOS):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv6" source address="::/0" port protocol="tcp" port="22" accept' sudo firewall-cmd --reload
- UFW(Ubuntu):
四、验证与测试
| 检查项 | 命令 |
|---|---|
| 查看本机 IPv6 地址 | ip -6 addr show 或 ifconfig |
| 测试连通性 | ping6 -c 4 www.baidu.com |
| 检查 DNS 解析 | nslookup -type=AAAA example.com |
| 远程 SSH 连接(从另一台 IPv6 主机) | ssh user@240e:xxxx::xxxx |
常见问题排查
| 问题 | 解决方案 |
|---|---|
| 无 IPv6 地址 | 确认实例地域/规格支持;重启实例后重试 |
| 能 ping 通但无法访问服务 | 检查安全组和系统防火墙是否放行 IPv6 端口 |
| 本地无 IPv6 环境测试困难 | 使用 TestIPV6.org 或阿里云提供的 IPv6 测试工具 |
| 域名解析失败 | 确保 DNS 服务器支持 AAAA 记录(阿里云默认 DNS 支持) |
如需进一步自动化部署(如 Terraform 脚本、Ansible 角色),我可提供示例模板。是否需要?
PHPWP博客