Ubuntu 24.04中如何禁用IPv6
在 Ubuntu 24.04 中禁用 IPv6 可以通过多种方式实现,具体方法取决于你的需求和网络配置方式(如 Netplan
、NetworkManager
或直接修改内核参数)。以下是几种常见的方法:
方法 1:通过 Netplan 禁用 IPv6
Ubuntu 24.04 默认使用 Netplan
管理网络配置。
步骤:
- 打开 Netplan 配置文件:
sudo nano /etc/netplan/01-netcfg.yaml
- 在配置文件中添加
link-local: []
和dhcp6: no
,并确保accept-ra: no
。例如:network: version: 2 renderer: networkd ethernets: eth0: dhcp4: yes dhcp6: no accept-ra: no link-local: []
- 应用配置:
sudo netplan apply
- 验证 IPv6 是否已禁用:
ip a show eth0
如果 IPv6 地址(以
inet6
开头)未显示,则表示已成功禁用。
方法 2:通过 GRUB 内核参数禁用 IPv6
通过修改 GRUB 配置,可以全局禁用 IPv6。
步骤:
- 打开 GRUB 配置文件:
sudo nano /etc/default/grub
- 找到
GRUB_CMDLINE_LINUX_DEFAULT
行,并添加ipv6.disable=1
。例如:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
- 更新 GRUB 配置:
sudo update-grub
- 重启系统:
sudo reboot
- 验证 IPv6 是否已禁用:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
如果输出为
1
,则表示 IPv6 已禁用。
方法 3:通过 Sysctl 临时禁用 IPv6
如果你只想临时禁用 IPv6,可以使用 sysctl
命令。
步骤:
- 编辑
sysctl
配置文件:sudo nano /etc/sysctl.conf
- 添加以下内容:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
- 应用配置:
sudo sysctl -p
- 验证 IPv6 是否已禁用:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
如果输出为
1
,则表示 IPv6 已禁用。
方法 4:通过 NetworkManager 禁用 IPv6
如果你使用的是 NetworkManager
(通常用于桌面环境),可以通过以下方式禁用 IPv6。
步骤:
- 打开 NetworkManager 配置文件:
sudo nano /etc/NetworkManager/NetworkManager.conf
- 在
[main]
部分添加以下内容:[main] ipv6.disable=1
- 重启 NetworkManager:
sudo systemctl restart NetworkManager
- 验证 IPv6 是否已禁用:
ip a show eth0
方法 5:禁用特定网络接口的 IPv6
如果你只想禁用某个网络接口的 IPv6,可以使用以下命令。
步骤:
- 禁用指定接口的 IPv6:
sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
- 使配置永久生效:
echo "net.ipv6.conf.eth0.disable_ipv6=1" | sudo tee -a /etc/sysctl.conf
- 验证:
cat /proc/sys/net/ipv6/conf/eth0/disable_ipv6
验证 IPv6 是否已禁用
无论使用哪种方法,都可以通过以下命令验证 IPv6 是否已禁用:
ip a | grep inet6
如果没有输出,则表示 IPv6 已成功禁用。
注意事项
- 测试环境:
- 在生产环境中禁用 IPv6 之前,建议在测试环境中验证配置。
- 服务依赖:
- 某些服务(如 Docker、Kubernetes)可能依赖 IPv6,禁用后可能导致这些服务无法正常工作。
- 恢复 IPv6:
- 如果需要重新启用 IPv6,只需撤销上述更改并重启系统即可。
- 微信扫码赞助
-
- 支付宝赞助
-