Skip to content

调整 IPv6 网络配置

以下步骤将指导您如何编辑 /etc/sysctl.conf 文件来调整系统的 IPv6 网络行为,并最终验证配置是否成功。

步骤一:编辑配置文件

使用您喜欢的文本编辑器(例如 nano)以管理员权限打开 /etc/sysctl.conf 文件。

bash
sudo nano /etc/sysctl.conf

步骤二:添加配置

在文件的 最后一行 添加以下内容,以禁用 IPv6 路由通告(RA)和自动配置:

ini
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.eth0.autoconf = 0
net.ipv6.conf.eth0.accept_ra = 0

注意:请将 eth0 替换为您实际使用的网络接口名称,例如 ens3enp0s3。您可以通过 ip aifconfig 命令查看接口名称。

步骤三:确保 IPv6 未被禁用

检查文件中是否存在禁用 IPv6 的配置。如果存在以下内容(常见于部分操作系统,如 Debian 12),请确保它们被注释掉。

修改前:

ini
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

请在这些行的前面添加 # 将它们注释掉,修改为:

ini
# net.ipv6.conf.all.disable_ipv6 = 1
# net.ipv6.conf.default.disable_ipv6 = 1
# net.ipv6.conf.lo.disable_ipv6 = 1

步骤四:保存并应用配置

  1. 保存文件并退出编辑器(在 nano 中,按 Ctrl+O,回车确认,然后按 Ctrl+X 退出)。
  2. 执行以下命令使配置立即生效:
bash
sudo sysctl -p

步骤五:重启网络服务

为了确保所有更改都已完全应用,请重启系统的网络服务。

bash
sudo systemctl restart networking

提示:在某些 Linux 发行版中(如 CentOS, Fedora, RHEL),重启网络服务的命令可能是 sudo systemctl restart NetworkManager。请根据您的操作系统选择合适的命令。

步骤六:重启服务器并最终验证

  1. 重启服务器

    在确认之前的操作没有引发任何异常后,重启服务器以确保配置在系统启动时能够正确加载。

    bash
    sudo reboot
  2. 控制面板中重置网络

  3. 测试 IPv6 是否正常

    等待服务器重启完成后,重新登录并执行以下命令来测试 IPv6 连接。

    bash
    curl ip.sb -6

    如果命令成功返回一个 IPv6 地址,则说明您的配置已生效,且 IPv6 网络连接正常。