IPv6 部署完整指南

随着 IPv4 地址资源的日益枯竭,IPv6 已成为网络基础设施升级的必然趋势。搬瓦工的 KVM 方案部分机房已原生支持 IPv6,通过正确配置可以让你的 VPS 同时通过 IPv4 和 IPv6 对外提供服务。本文将全面介绍 IPv6 在搬瓦工 VPS 上的部署方法,包括地址配置、双栈网络设置和各类应用的 IPv6 适配。

一、IPv6 基础知识

  • 地址格式:128 位地址,以冒号分隔的 8 组十六进制数表示,如 2001:0db8:85a3::8a2e:0370:7334。
  • 前缀长度:类似于 IPv4 的子网掩码,常见的如 /64、/48、/128。
  • 链路本地地址:fe80:: 开头,仅在本地链路有效。
  • 全球单播地址:2000:: 至 3fff:: 范围,用于公网通信。
  • 环回地址:::1,等同于 IPv4 的 127.0.0.1。

二、检查 IPv6 支持

首先确认搬瓦工 VPS 是否已分配 IPv6 地址:

# 查看是否有 IPv6 地址
ip -6 addr show

# 测试 IPv6 连通性
ping6 -c 4 ipv6.google.com

# 检查内核是否支持 IPv6
cat /proc/net/if_inet6

如果没有看到全球单播地址(2xxx:: 开头),需要在搬瓦工 KiwiVM 控制面板中检查是否已启用 IPv6。

三、手动配置 IPv6 地址

3.1 Ubuntu/Debian(Netplan)

cat > /etc/netplan/01-ipv6.yaml <<EOF
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      addresses:
        - "你的IPv6地址/64"
      routes:
        - to: "::/0"
          via: "IPv6网关地址"
EOF

netplan apply

3.2 CentOS(NetworkManager)

nmcli con mod eth0 ipv6.addresses "你的IPv6地址/64"
nmcli con mod eth0 ipv6.gateway "IPv6网关地址"
nmcli con mod eth0 ipv6.method manual
nmcli con up eth0

3.3 通用方式(ip 命令临时配置)

ip -6 addr add 你的IPv6地址/64 dev eth0
ip -6 route add default via IPv6网关地址 dev eth0

四、启用 IPv6 内核参数

cat >> /etc/sysctl.conf <<EOF
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
EOF

sysctl -p

五、DNS 配置

添加 IPv6 DNS 解析服务器:

cat >> /etc/resolv.conf <<EOF
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
EOF

六、Web 服务器 IPv6 适配

6.1 Nginx 配置

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.com;
    ...
}

6.2 Apache 配置

Listen [::]:80
Listen [::]:443

七、SSH 通过 IPv6 连接

确保 SSH 服务监听 IPv6 地址,编辑 /etc/ssh/sshd_config:

ListenAddress ::
ListenAddress 0.0.0.0
systemctl restart sshd

从客户端通过 IPv6 连接:

ssh -6 user@你的IPv6地址
ssh user@你的IPv6地址

八、IPv6 防火墙配置

IPv6 使用 ip6tables(而非 iptables)管理防火墙规则:

# 允许 ICMPv6(IPv6 依赖 ICMPv6 正常工作)
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT

# 允许已建立的连接
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许环回
ip6tables -A INPUT -i lo -j ACCEPT

# 允许 SSH
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许 HTTP/HTTPS
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT

# 默认拒绝
ip6tables -A INPUT -j DROP

使用 UFW 管理时,UFW 默认会同时管理 IPv4 和 IPv6 规则,确认 /etc/default/ufw 中 IPV6=yes。

九、IPv6 隧道方案

如果 VPS 不原生支持 IPv6,可以通过隧道获取 IPv6 地址:

9.1 Hurricane Electric (HE) 隧道

在 tunnelbroker.net 注册并创建隧道后:

ip tunnel add he-ipv6 mode sit remote HE服务器IPv4 local 你的VPS_IPv4 ttl 255
ip link set he-ipv6 up
ip addr add 分配的客户端IPv6地址/64 dev he-ipv6
ip route add ::/0 dev he-ipv6

十、验证与测试

# 测试 IPv6 连通性
ping6 -c 4 google.com

# 查看 IPv6 路由表
ip -6 route show

# 测试 IPv6 Web 访问
curl -6 https://ipv6.google.com

# 检查 DNS AAAA 记录
dig AAAA example.com

十一、常见问题

IPv6 地址无法 ping 通

确认 IPv6 网关和前缀长度配置正确,检查防火墙是否放行了 ICMPv6。

应用不监听 IPv6

很多应用默认只监听 IPv4,需要在配置中明确指定监听 IPv6 地址或使用 :: 表示监听所有地址。

总结

IPv6 部署是网络基础设施现代化的重要一步。在搬瓦工 VPS 上启用 IPv6 可以让你的服务同时对 IPv4 和 IPv6 用户提供访问,也有助于解决 IPv4 地址不足的问题。配合 iptables 防火墙教程nftables 防火墙教程,可以为 IPv6 网络构建完善的安全策略。购买搬瓦工 VPS 请查看 全部方案,使用优惠码 NODESEEK2026 可享 6.77% 折扣,购买链接:bwh81.net

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。