ESC

开始输入,可搜索发票、服务、域名、工单,以及 更多...

搜索... Ctrl+K
网络与 IP

Linux / Windows 服务器配置 IPv6 地址教程:Netplan、nmcli、Windows 设置与连通性测试

6 个步骤 6 分钟阅读 3 次阅读 0
本文目录

如果服务商为你的服务器分配了 IPv6 地址,但系统没有自动获取,就需要手动配置。本文介绍如何在 Linux / Windows 服务器配置 IPv6 地址,包括 Ubuntu Netplan、Debian /etc/network/interfaces、CentOS/Rocky/AlmaLinux 的 nmcli,以及 Windows Server 2016/2019/2022,最后用 ping6 和 curl -6 测试连通性。

并非所有产品默认附带 IPv6。请先在客户中心查看是否已分配 IPv6 地址、前缀长度和网关:登录客户中心 → 我的产品与服务 → 选择服务器 → 管理;如找不到可提交工单申请或确认。下文以 2001:db8:1234::10/64、网关 2001:db8:1234::1 为示例。

步骤 1:确认 IPv6 未被禁用

部分系统镜像为了安全默认关闭了 IPv6,先检查内核参数:

sysctl net.ipv6.conf.all.disable_ipv6
ip -6 addr show

若输出为 1,说明已禁用。可在 /etc/sysctl.conf 或 /etc/sysctl.d/ 中找到 disable_ipv6=1 的行改为 0,然后执行 sysctl --system。

步骤 2:Ubuntu 使用 Netplan 配置 IPv6 地址

编辑 /etc/netplan/ 下的配置文件,在 addresses 中加入 IPv6 地址,并添加 IPv6 默认路由:

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 198.51.100.5/24
        - "2001:db8:1234::10/64"
      routes:
        - to: default
          via: 198.51.100.1
        - to: "::/0"
          via: "2001:db8:1234::1"
      nameservers:
        addresses: [8.8.8.8, "2001:4860:4860::8888"]
netplan try
netplan apply

步骤 3:Debian 使用 /etc/network/interfaces 配置 IPv6

在主网卡配置后追加 inet6 段:

iface eth0 inet6 static
    address 2001:db8:1234::10/64
    gateway 2001:db8:1234::1
systemctl restart networking

步骤 4:CentOS / Rocky / AlmaLinux 使用 nmcli 配置 IPv6

nmcli connection modify eth0 ipv6.method manual \
  ipv6.addresses 2001:db8:1234::10/64 \
  ipv6.gateway 2001:db8:1234::1
nmcli connection up eth0

连接名可通过 nmcli connection show 查看,与网卡名可能不同。

步骤 5:Windows Server 配置 IPv6 地址

图形界面:ncpa.cpl → 右键网卡 → 属性 → “Internet 协议版本 6 (TCP/IPv6)” → 选择“使用以下 IPv6 地址”,填写地址、前缀长度 64 和默认网关。也可以在管理员 PowerShell 中执行:

New-NetIPAddress -InterfaceAlias "Ethernet" -AddressFamily IPv6 -IPAddress 2001:db8:1234::10 -PrefixLength 64 -DefaultGateway 2001:db8:1234::1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8","2001:4860:4860::8888")

步骤 6:使用 ping6 与 curl -6 测试 IPv6 连通性

Linux:

ping -6 -c 4 2001:4860:4860::8888
curl -6 https://ifconfig.co

Windows:

ping -6 2001:4860:4860::8888
curl.exe -6 https://ifconfig.co

curl 返回你的 IPv6 地址即表示出站正常。再从另一台有 IPv6 的机器 ping 服务器地址,确认入站可达。

IPv6 有独立的防火墙规则:Linux 的 iptables 规则不会作用于 IPv6,需要单独配置 ip6tables 或使用 nftables/firewalld/ufw 统一管理;Windows 防火墙规则一般同时覆盖两种协议。

常见问题

能 ping 通网关但无法访问外网 IPv6?

检查默认路由是否存在:ip -6 route show default。若缺失,请确认 Netplan/nmcli 中已正确填写网关。

网站要通过 IPv6 访问还需要做什么?

为域名添加 AAAA 记录指向服务器 IPv6,并确认 Web 服务监听 IPv6(Nginx 需配置 listen [::]:80;)。

重启后 IPv6 地址变了或消失?

可能是系统启用了隐私扩展或 SLAAC 自动地址。服务器建议使用静态配置,并检查 cloud-init 是否覆盖了网络配置。

如仍无法解决,可提交工单联系 IMIDC 7×24 技术支持。

这篇文章有帮助吗?

相关教程