Ubuntu 24.04中如何禁用IPv6

2025/01/1212:40:52Ubuntu 24.04中如何禁用IPv6已关闭评论浏览:231

Ubuntu 24.04中如何禁用IPv6

在 Ubuntu 24.04 中禁用 IPv6 可以通过多种方式实现,具体方法取决于你的需求和网络配置方式(如 Netplan​、NetworkManager​ 或直接修改内核参数)。以下是几种常见的方法:


方法 1:通过 Netplan 禁用 IPv6

Ubuntu 24.04 默认使用 Netplan​ 管理网络配置。

步骤:

  1. 打开 Netplan 配置文件:
    sudo nano /etc/netplan/01-netcfg.yaml
    
  2. 在配置文件中添加 link-local: []​ 和 dhcp6: no​,并确保 accept-ra: no​。例如:
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: yes
          dhcp6: no
          accept-ra: no
          link-local: []
    
  3. 应用配置:
    sudo netplan apply
    
  4. 验证 IPv6 是否已禁用:
    ip a show eth0
    

    如果 IPv6 地址(以 inet6​ 开头)未显示,则表示已成功禁用。


方法 2:通过 GRUB 内核参数禁用 IPv6

通过修改 GRUB 配置,可以全局禁用 IPv6。

步骤:

  1. 打开 GRUB 配置文件:
    sudo nano /etc/default/grub
    
  2. 找到 GRUB_CMDLINE_LINUX_DEFAULT​ 行,并添加 ipv6.disable=1​。例如:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
    
  3. 更新 GRUB 配置:
    sudo update-grub
    
  4. 重启系统:
    sudo reboot
    
  5. 验证 IPv6 是否已禁用:
    cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    

    如果输出为 1​,则表示 IPv6 已禁用。


方法 3:通过 Sysctl 临时禁用 IPv6

如果你只想临时禁用 IPv6,可以使用 sysctl​ 命令。

步骤:

  1. 编辑 sysctl​ 配置文件:
    sudo nano /etc/sysctl.conf
    
  2. 添加以下内容:
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    
  3. 应用配置:
    sudo sysctl -p
    
  4. 验证 IPv6 是否已禁用:
    cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    

    如果输出为 1​,则表示 IPv6 已禁用。


方法 4:通过 NetworkManager 禁用 IPv6

如果你使用的是 NetworkManager​(通常用于桌面环境),可以通过以下方式禁用 IPv6。

步骤:

  1. 打开 NetworkManager 配置文件:
    sudo nano /etc/NetworkManager/NetworkManager.conf
    
  2. [main]​ 部分添加以下内容:
    [main]
    ipv6.disable=1
    
  3. 重启 NetworkManager:
    sudo systemctl restart NetworkManager
    
  4. 验证 IPv6 是否已禁用:
    ip a show eth0
    

方法 5:禁用特定网络接口的 IPv6

如果你只想禁用某个网络接口的 IPv6,可以使用以下命令。

步骤:

  1. 禁用指定接口的 IPv6:
    sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
    
  2. 使配置永久生效:
    echo "net.ipv6.conf.eth0.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf
    
  3. 验证:
    cat /proc/sys/net/ipv6/conf/eth0/disable_ipv6
    

验证 IPv6 是否已禁用

无论使用哪种方法,都可以通过以下命令验证 IPv6 是否已禁用:

ip a | grep inet6

如果没有输出,则表示 IPv6 已成功禁用。


注意事项

  1. 测试环境
    • 在生产环境中禁用 IPv6 之前,建议在测试环境中验证配置。
  2. 服务依赖
    • 某些服务(如 Docker、Kubernetes)可能依赖 IPv6,禁用后可能导致这些服务无法正常工作。
  3. 恢复 IPv6
    • 如果需要重新启用 IPv6,只需撤销上述更改并重启系统即可。

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin