如何配置服务器 IPv6 地址?

一、前期检查

  1. 确认内核已加载 IPv6 模块
    lsmod | grep ipv6
    # 如果没有输出,则加载模块:
    sudo modprobe ipv6
    
  2. 查看当前 IPv6 地址与路由
    ip -6 addr show
    ip -6 route show
    
    如果仅见到 ::1fe80::/64 链路本地地址,说明尚未配置全局单播地址。

二、临时添加(重启后失效)

假设,您的服务商已分配:

  • IPv6 地址:<IPV6_ADDR>/64
  • 网关:<GATEWAY>
  • 网卡名称:<IFACE>(如 ens10、eth0)
# 1. 添加 IPv6 地址
sudo ip -6 addr add <IPV6_ADDR>/64 dev <IFACE>

# 2. 添加默认 IPv6 路由
sudo ip -6 route add default via <GATEWAY> dev <IFACE>

# 3. 验证
ip -6 addr show dev <IFACE>
ip -6 route show

完成上述后,可通过 ping6 ipv6.google.comcurl -6 https://ipv6.icanhazip.com 测试连通性与对外地址。

三、永久生效配置

3.1 Debian/Ubuntu(Netplan)

  1. 列出 Netplan 配置文件:

    ls /etc/netplan/*.yaml
    
  2. 备份并编辑或新建配置文件 /etc/netplan/01-netcfg.yaml

    network:
      version: 2
      renderer: networkd
      ethernets:
        <IFACE>:
          # IPv4 如果也有,可在此处添加 addresses:
          addresses:
            - <IPV6_ADDR>/64
          gateway6: <GATEWAY>
          nameservers:
            addresses: [2001:4860:4860::8888, 2001:4860:4860::8844]
    
    • <IFACE>, <IPV6_ADDR>, <GATEWAY> 替换为实际值。
    • 如果已有其它网卡配置,只需在对应接口下追加 IPv6 部分即可。
  3. 设置文件权限并应用:

    sudo chmod 600 /etc/netplan/01-netcfg.yaml
    sudo chown root:root /etc/netplan/01-netcfg.yaml
    sudo net