Featured image of post VPS 上禁用与启用 IPv6 全教程

VPS 上禁用与启用 IPv6 全教程

VPS禁用、启用ipv6教程

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

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

一、检查当前 IPv6 状态

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

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

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

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

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

改成:

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

三、启用 IPv6

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

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

sudo nano /etc/sysctl.conf

添加/修改:

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

生效:

sudo sysctl -p

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

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

# 修改 /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 示例)

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

修改:

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

应用:

sudo netplan apply
ip a | grep inet6

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

四、测试 IPv6 是否可用

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

五、总结

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

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

免责声明
⏱ 已运行: 加载中...