10/15 款服务器配置有货即时交付免安装费

网络

配置 /64 IPv6 子网

每台服务器都包含一个路由 /64 IPv6 子网。本文介绍如何在 Ubuntu、Debian、AlmaLinux 和 Rocky Linux 上检查或重建该配置、添加更多地址,并让防火墙同步覆盖 IPv6。

阅读约 5 分钟更新于 UbuntuDebianAlmaLinuxRocky Linux

适用于
UbuntuDebianAlmaLinuxRocky Linux
阅读时间
5 分钟
更新日期
主题
网络

遇到问题?工程师 7×24 小时为您解答

本页目录

每台 DediJet 服务器都免费附带一个路由 /64 IPv6 子网,一键安装会自动为您配置好 IPv6。您可以按照本指南检查该配置、在自定义安装后重建配置,或启用子网中的更多地址。

路由 /64 的工作原理

一个 /64 包含 2^64 个地址,约 18 百亿亿个。“路由”是指上游路由器会把发往该子网的所有流量都发送到您的服务器,由您决定使用哪些地址以及在哪里使用。无需逐个申请地址:只需从该前缀中取一个地址添加到网络接口上,它就可以被访问。

您的前缀可在控制面板中查看:打开该服务器,然后选择“网络”。本指南以 2001:db8:1234:5678::/64 作为前缀,2001:db8:1234:5678::1 作为服务器的主地址,enp1s0 作为网络接口;ip -br link 可显示您的接口名称。IPv6 网关为链路本地地址 fe80::1。请核对控制面板中的值,如有不同,请以控制面板为准。

查看当前已有的配置:

Shell
ip -6 addr show dev enp1s0 scope global
ip -6 route show default

如果显示了您的地址以及经由 fe80::1 的默认路由,说明 IPv6 已配置完成,您可以直接跳到下文的检查步骤。

配置地址和网关

请使用当前管理 IPv4 配置的同一工具:/etc/netplan/ 中有 YAML 文件表示使用 Netplan(Ubuntu 的标准工具,部分 Debian 镜像也在使用),存在 /etc/network/interfaces 表示使用 ifupdown(传统 Debian),而 AlmaLinux 和 Rocky Linux 使用 NetworkManager。

提示:通过 SSH 修改网络配置可能导致连接中断。请准备好 IPMI 控制台:它无需经过服务器网络即可访问服务器。

Ubuntu:Netplan

编辑 /etc/netplan/ 中的现有文件(文件名不固定),在 IPv4 设置旁添加 IPv6 地址和默认路由:

YAML
network:
  version: 2
  ethernets:
    enp1s0:
      addresses:
        - 203.0.113.10/24
        - 2001:db8:1234:5678::1/64
      routes:
        - to: default
          via: 203.0.113.1
        - to: default
          via: fe80::1

其中的 IPv4 行仅为示例:请原样保留您自己的地址、路由以及任何 nameservers 部分。然后使用带自动回滚保护的方式应用配置:

Shell
netplan try

netplan try 会应用更改,如果您没有在 120 秒内按 Enter 确认保留,更改就会自动回滚。如果配置错误导致 SSH 会话中断,请等待两分钟后重新连接。如果 Netplan 警告权限过于宽松,请运行 chmod 600 /etc/netplan/*.yaml。

Debian:ifupdown

在 /etc/network/interfaces 中,于 IPv4 配置段下方为同一网络接口添加一个 inet6 配置段:

配置文件
iface enp1s0 inet6 static
    address 2001:db8:1234:5678::1/64
    gateway fe80::1

不要通过 SSH 重启网络接口,而是实时应用相同的设置;下次启动时将由配置文件接管:

Shell
ip -6 addr add 2001:db8:1234:5678::1/64 dev enp1s0
ip -6 route add default via fe80::1 dev enp1s0

AlmaLinux 和 Rocky Linux:NetworkManager

Shell
nmcli connection show
nmcli connection modify enp1s0 ipv6.method manual ipv6.addresses 2001:db8:1234:5678::1/64 ipv6.gateway fe80::1
nmcli connection up enp1s0

将后两条命令中的 enp1s0 替换为第一条命令输出的连接名称,如果名称包含空格,请加上引号。重新激活连接时也会重新应用 IPv4 配置,因此 SSH 会话可能会短暂停顿。

无论使用哪种工具,都请在业务空闲时重启一次,确认配置在重启后依然有效。

检查 IPv6 是否正常工作

Shell
ping -6 -c 4 2606:4700:4700::1111
curl -6 -sI https://www.debian.org
ip -6 route get 2606:4700:4700::1111

对公共 DNS 解析服务器的 ping 应能收到回复,curl 应能输出 HTTP 头。最后一条命令会在 src 之后显示服务器用于出站流量的源地址。然后从外部进行测试:在一台具备 IPv6 的机器上 ping 或通过 SSH 连接 2001:db8:1234:5678::1。

使用 /64 中的更多地址

根据需要添加地址,例如每个网站或服务各用一个。使用相同的 /64 前缀长度,并且不要添加第二个网关:

  • Netplan:在 addresses 下再添加一行,例如 - 2001:db8:1234:5678::25/64。
  • ifupdown:再添加一个 iface enp1s0 inet6 static 配置段,其中只包含 address 2001:db8:1234:5678::25/64。
  • NetworkManager:先运行 nmcli connection modify enp1s0 +ipv6.addresses 2001:db8:1234:5678::25/64,然后运行 nmcli connection up enp1s0。

如需在永久配置之前先试用某个地址,可使用 ip -6 addr add 2001:db8:1234:5678::25/64 dev enp1s0,它会立即生效,并在重启后消失。

位于网桥后面的虚拟机和容器需要由宿主机为其地址提供路由(参见安装 Proxmox VE)。为此启用转发后,Linux 会忽略路由器通告(RA),但由于此处配置的是静态网关,这并无影响。如果您需要独立的网络,例如为每个网桥或每个客户分配一个 /64,可免费申请一个 /56(包含 256 个 /64 子网):请提交工单。

保持地址稳定

服务器需要固定地址:DNS 记录、防火墙白名单和反向 DNS 都指向这些地址。专为笔记本电脑设计的隐私扩展会添加定期轮换的临时地址,而 SLAAC 会自动生成地址。上文的静态配置可以同时避免这两种情况。如果 ip -6 addr 列出了标记为 temporary 或 mngtmpaddr 的额外地址,请在 /etc/sysctl.d/60-ipv6.conf 中为该网络接口及新接口关闭隐私扩展:

配置文件
net.ipv6.conf.enp1s0.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0

使用 sysctl --system 加载该配置。如果使用 NetworkManager,请改为在连接上设置 ipv6.ip6-privacy 0。

为 IPv6 配置防火墙

与 IPv4 地址一样,您的 IPv6 地址也可以从互联网直接访问,监听 [::] 或 * 的服务会同时接受两种协议的连接。ss -tlnp 可显示各服务在哪些地址和端口上监听。请确保您的防火墙也覆盖 IPv6:

  • ufw 会过滤 IPv6,前提是在 /etc/default/ufw 中设置了 IPV6=yes(默认即如此)。
  • firewalld 的区域(zone)同时适用于 IPv4 和 IPv6。
  • nftables 中 inet 族的表可同时匹配两种协议。
  • iptables 规则不会覆盖 IPv6:请添加对应的 ip6tables 规则,或改用 nftables。

警告:不要一刀切地屏蔽 ICMPv6。邻居发现(类型 133–137)和“Packet Too Big”消息(类型 2)是 IPv6 正常运作的一部分;缺少它们,连接会以难以诊断的方式卡住。

后续步骤

为您的服务添加 AAAA 记录,为每个发送邮件的地址设置反向 DNS;如果还需要更多 IPv4,请阅读添加额外 IPv4 地址。仍未解决?请通过技术支持提交工单,并附上 ip -6 addr 和 ip -6 route 的输出。

需要帮助?

拥有在用服务器的客户可在账户中提交工单,工程师 7×24 小时为您解答。

技术支持流程