587 字
3 分钟
VPS 上禁用与启用 IPv6 全教程

在 VPS 上,有时出于安全或网络需求,你可能想 禁用 IPv6;有时又需要 开启 IPv6 来使用新一代网络服务。本文就来详细讲解如何在 Linux VPS 上管理 IPv6。

⚠️ 本文以 Ubuntu / Debian / CentOS 系统为例,其他 Linux 发行版也适用,只需根据网络配置方式做小调整。

一、检查当前 IPv6 状态#

在动手前,先确认 VPS 的 IPv6 当前状态:

Terminal window
# 查看内核 IPv6 是否禁用
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
# 查看网卡是否有 IPv6 地址
ip a
  • 如果 disable_ipv6 输出 0,表示 IPv6 功能已启用
  • 如果输出 1,表示 IPv6 已禁用
  • 网卡下有 inet6 地址,则 IPv6 已可用

二、禁用 IPv6#

禁用 IPv6 主要有两种方式:内核级系统级

1️⃣ 方法一:通过 sysctl 永久禁用#

  1. 编辑配置文件(如果不存在可以新建):
Terminal window
sudo nano /etc/sysctl.conf
  1. 添加以下内容:
Terminal window
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
  1. 立即生效:
Terminal window
sudo sysctl -p
  1. 验证:
Terminal window
ip a | grep inet6

如果没有输出 IPv6 地址,禁用成功 ✅

2️⃣ 方法二:通过 GRUB 禁用(彻底禁用)#

  1. 编辑 GRUB 配置:
Terminal window
sudo nano /etc/default/grub
  1. 找到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

改成:

Terminal window
GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=1"
  1. 更新 GRUB 并重启:
Terminal window
# Ubuntu/Debian
sudo update-grub
Terminal window
# CentOS / Rocky / AlmaLinux
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot

三、启用 IPv6#

如果你之前禁用了 IPv6 或系统没有自动启用:

1️⃣ 方法一:通过 sysctl 启用#

Terminal window
sudo nano /etc/sysctl.conf

添加/修改:

Terminal window
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 # 如果需要路由转发

生效:

Terminal window
sudo sysctl -p

2️⃣ 方法二:通过 GRUB 启用#

如果 GRUB 中有 ipv6.disable=1,删除该参数并更新 GRUB:

Terminal window
# 修改 /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
# 更新 GRUB
sudo update-grub # Ubuntu/Debian
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # CentOS
sudo reboot

3️⃣ 配置网卡获取 IPv6 地址(Ubuntu/Debian Netplan 示例)#

Terminal window
sudo nano /etc/netplan/01-netcfg.yaml

修改:

Terminal window
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: true
accept-ra: true

应用:

Terminal window
sudo netplan apply
ip a | grep inet6

如果没有分配公网 IPv6,可能需要在 VPS 控制台开启 IPv6。

四、测试 IPv6 是否可用#

Terminal window
ping6 ipv6.google.com
  • 返回 64 bytes from ... → IPv6 已生效
  • 返回 Network unreachable → 可能没有分配 IPv6 地址

五、总结#

操作方法
禁用 IPv6sysctlGRUB
启用 IPv6删除 GRUB 参数 + sysctl + 网卡配置
检查状态cat /proc/sys/net/ipv6/conf/all/disable_ipv6ip a
测试网络ping6 ipv6.google.com

通过以上步骤,你可以灵活地在 VPS 上开启或禁用 IPv6,满足不同的网络需求。

VPS 上禁用与启用 IPv6 全教程
https://blog.leuxx.de/posts/28/
作者
Leu
发布于
2026-05-24
许可协议
CC BY-NC-SA 4.0

评论