在 Rocky Linux 8 中禁用 IPv6 并仅启用 IPv4,可以通过以下步骤完成(推荐使用 nmcli
或直接修改内核参数):
方法 1:通过 nmcli
禁用 IPv6(临时生效,重启后保留)
1. 查看当前网络连接名称
nmcli connection show
输出示例(假设连接名为 ens192
):
NAME UUID TYPE DEVICE
ens192 518fd4a1-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet ens192
2. 禁用 IPv6 并仅启用 IPv4
nmcli connection modify ens192 ipv6.method "disabled"
nmcli connection up ens192 # 重新激活连接
方法 2:修改网络配置文件(永久生效)
1. 编辑网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens192
在文件中添加或修改以下参数:
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
2. 重启网络服务
systemctl restart NetworkManager
方法 3:通过内核参数禁用 IPv6(全局禁用)
1. 修改 GRUB 配置
vi /etc/default/grub
在 GRUB_CMDLINE_LINUX
行添加 ipv6.disable=1
:
GRUB_CMDLINE_LINUX="... ipv6.disable=1"
2. 重新生成 GRUB 配置
grub2-mkconfig -o /boot/grub2/grub.cfg
3. 重启系统
reboot
验证 IPv6 是否已禁用
# 检查网卡是否无 IPv6 地址
ip a | grep inet6
# 应无输出
# 验证内核参数
cat /proc/cmdline | grep ipv6.disable
# 应显示 `ipv6.disable=1`(如果使用方法3)
恢复 IPv6(如需启用)
1. 恢复 nmcli
配置
nmcli connection modify ens192 ipv6.method "auto"
nmcli connection up ens192
2. 删除内核参数
编辑 /etc/default/grub
移除 ipv6.disable=1
,重新生成 GRUB 并重启。
注意事项
优先级:
- 方法 1/2 仅针对特定网卡,方法 3 是全局禁用。
- 生产环境中建议优先使用方法 1 或 2,避免影响其他服务。
兼容性:
- 某些应用程序(如 Docker、Kubernetes)可能依赖 IPv6,禁用前需测试。
防火墙:
- 如果使用
firewalld
,IPv6 规则会自动失效,无需额外操作。
- 如果使用
通过上述步骤,系统将仅使用 IPv4 通信。