每台服务器 不限流量、DDoS 防护和 IPMI 全部包含。无开通费,无长期合约。 每台服务器均不限流量 查看价格

文档

在服务器上配置 IPv6

从你的 /64 IPv6 地址段中分配地址:Ubuntu 24.04 使用 Netplan,Debian 使用 ifupdown,Windows Server 使用 PowerShell,然后测试连通性并设置反向 DNS。

  • 阅读 4 分钟
  • 更新于
  • FlexDedi 工程团队

关于本页

适用范围
所有 FlexDedi 独立服务器
更新于
2026年11月2日
本页内容

每台 FlexDedi 服务器除 IPv4 地址外,还附带一个 /64 IPv6 地址段。本文介绍如何从地址段中分配地址、添加 IPv6 默认路由、测试双向连通性,并设置反向 DNS(rDNS)。

示例使用文档专用前缀 2001:db8:1234:5678::/64,服务器地址为 ::2,网关为 ::1。实际操作时,请使用控制面板中服务器网络信息里列出的前缀和网关。

关于 /64 地址段

一个 /64 包含 2^64 个地址,每一个都可以在这台服务器上使用。简单的规划就很好用:::2 分配给主机,::10、::11 等依次分配给需要独立地址的服务。

服务器应使用静态地址,这样防火墙规则和 DNS 记录才能始终有效。请注意,IPv6 需要单独的防火墙规则,并且不要完全屏蔽 ICMPv6:邻居发现和路径 MTU 发现都依赖它。ufw 在默认的 IPV6=yes 设置下会同时覆盖两种协议。

1. 检查当前状态

bash
ip -br link
ip -6 addr show scope global
ip -6 route show default

第一条命令会显示网卡接口名称,例如 enp1s0f0。如果输出中已经出现来自该地址段的全局地址和默认路由,可以直接跳到第 5 步。

2. Ubuntu 24.04:使用 Netplan

Ubuntu 的网络配置保存在 /etc/netplan 下的 YAML 文件中。请直接编辑现有文件,不要在另一个文件中重复定义同一个接口:

bash
ls /etc/netplan/

保留原有的 IPv4 配置不变,添加 IPv6 地址、IPv6 路由以及 accept-ra: false。最后一项可以防止路由器通告(RA)额外添加地址或路由:

yaml
network:
  version: 2
  ethernets:
    enp1s0f0:
      accept-ra: false
      addresses:
        - 203.0.113.10/24
        - "2001:db8:1234:5678::2/64"
      routes:
        - to: default
          via: 203.0.113.1
        - to: "::/0"
          via: "2001:db8:1234:5678::1"

如果网关不在本 /64 地址段内,请在该路由下添加 on-link: true。

如果文件名为 50-cloud-init.yaml,且文件头注明由 cloud-init 生成,请禁止 cloud-init 在下次启动时重写该文件:

bash
echo 'network: {config: disabled}' > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

然后安全地应用更改。netplan try 会在 120 秒后自动回滚,除非按下 Enter 确认,因此即使配置有误,也不会把自己锁在服务器外:

bash
chmod 600 /etc/netplan/*.yaml
netplan try

3. Debian:使用 /etc/network/interfaces

如果 /etc/netplan 为空,而网卡接口定义在 /etc/network/interfaces 中,请在现有的 IPv4 配置段下方添加一个 IPv6 配置段:

text
iface enp1s0f0 inet6 static
    address 2001:db8:1234:5678::2/64
    gateway 2001:db8:1234:5678::1
    accept_ra 0

通过 SSH 重启网络服务可能会断开当前会话,因此请先用临时设置进行测试:

bash
ip -6 addr add 2001:db8:1234:5678::2/64 dev enp1s0f0
ip -6 route add default via 2001:db8:1234:5678::1 dev enp1s0f0

第 5 步的测试通过后,保存的配置段会在下次重启时生效。如需立即应用,请在 KVM 控制台中运行 systemctl restart networking。

4. Windows Server

在管理员权限的 PowerShell 中,查找网卡名称,配置地址和网关,并放行入站 ICMPv6 回显请求(Windows 默认会拦截):

powershell
Get-NetAdapter
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 2001:db8:1234:5678::2 -PrefixLength 64 -DefaultGateway 2001:db8:1234:5678::1
Enable-NetFirewallRule -Name FPS-ICMP6-ERQ-In

将 Ethernet 替换为 Get-NetAdapter 显示的名称。同样的设置也可以在图形界面中完成:运行 ncpa.cpl,打开网卡属性,编辑 Internet Protocol Version 6 (TCP/IPv6)。

5. 测试连通性

在服务器上检查 IPv6 出站连接。第二条命令应输出刚才配置的地址:

bash
ping -6 -c 4 one.one.one.one
curl -6 https://icanhazip.com

在 Windows 上,请使用 ping -6 one.one.one.one 和 curl.exe -6 https://icanhazip.com。

然后从另一台支持 IPv6 的机器测试入站连接,例如运行 ping -6 2001:db8:1234:5678::2 或 ssh root@2001:db8:1234:5678::2。如果出站正常而入站不通,请检查服务器的防火墙;如果都不通,请检查前缀长度和网关地址。

6. 申请反向 DNS

反向 DNS 将 IP 地址解析回主机名。邮件服务器会检查反向 DNS,它也能让日志和 traceroute 结果更易读。

  1. 先在 DNS 服务商处创建正向解析记录:例如一条将 mail.example.com 指向 2001:db8:1234:5678::2 的 AAAA 记录。
  2. 在控制面板中打开服务器,选择「反向 DNS」,输入 IPv6 地址和主机名,然后保存。
  3. 更改生效后,验证正反两个方向的解析:
bash
dig -x 2001:db8:1234:5678::2 +short
dig AAAA mail.example.com +short

第一条命令应返回 mail.example.com.,第二条应返回服务器地址。请只为实际使用的地址设置反向 DNS,而不是为整个地址段设置。

后续步骤

如果打算在这台服务器上运行虚拟机,请参阅在独立服务器上部署 Proxmox VE。如果希望服务器之间完全不经公网地址互联,请参阅通过私有 VLAN 连接服务器。