You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Amazon Linux 2023实例上彻底禁用IPv6(满足STIG合规要求)

如何在Amazon Linux 2023实例上彻底禁用IPv6(满足STIG合规要求)

我来帮你搞定这个问题!从你描述的情况来看,手动执行sysctl -w net.ipv6.conf.all.disable_ipv6=1能生效,但重启后又出现IPv6地址,核心问题出在开机时部分配置没完全生效,还有某个特定网卡的IPv6禁用设置被覆盖了。咱们一步步来解决:

第一步:定位未禁用IPv6的网卡

你执行cat /proc/sys/net/ipv6/conf/*/disable_ipv6时看到有一个0,这说明有个网卡的IPv6没被禁用。先找出这个网卡的名字:

grep -l 0 /proc/sys/net/ipv6/conf/*/disable_ipv6

输出会显示类似/proc/sys/net/ipv6/conf/ens5/disable_ipv6,这里的ens5就是咱们要重点处理的网卡。

第二步:确保sysctl配置全面且开机加载

虽然你已经在/etc/sysctl.conf里加了相关配置,但咱们要确认所有网卡都被覆盖,并且配置能在开机时正确加载:

  1. 打开/etc/sysctl.conf,确保包含以下所有行(把第一步找到的网卡名替换进去,比如ens5):
    net.ipv6.conf.all.disable_ipv6=1
    net.ipv6.conf.default.disable_ipv6=1
    net.ipv6.conf.ens5.disable_ipv6=1
    # 如果还有其他网卡,也加上对应的配置行
    net.ipv6.conf.lo.disable_ipv6=1
    
  2. 执行以下命令让配置立即生效,同时确保开机自动加载:
    sudo sysctl --system
    

第三步:正确配置GRUB内核参数(关键!)

你已经修改了/etc/default/grub,但Amazon Linux 2023需要重新生成GRUB配置文件才能让内核参数生效,别漏了这一步:

  1. 打开/etc/default/grub,确认GRUB_CMDLINE_LINUX包含ipv6.disable=1,比如:
    GRUB_CMDLINE_LINUX="ipv6.disable=1 console=tty0 console=ttyS0,115200n8"
    
  2. 重新生成GRUB配置:
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    

第四步:检查网络服务的IPv6设置(避免被覆盖)

如果你的实例用NetworkManager管理网络,可能会自动启用IPv6,这时候需要在网卡配置里禁用:

  1. 查看当前网卡的NetworkManager配置:
    nmcli con show
    
  2. 编辑对应网卡的配置(比如名字是System ens5):
    sudo nmcli con modify "System ens5" ipv6.method disabled
    
  3. 重启NetworkManager服务:
    sudo systemctl restart NetworkManager
    

最后:验证禁用效果

完成以上步骤后重启实例,然后执行以下命令确认IPv6已彻底禁用:

# 检查是否有IPv6地址,应该无输出
ip -6 addr
# 检查所有网卡的禁用状态,应该全是1
cat /proc/sys/net/ipv6/conf/*/disable_ipv6
# 确认sysctl参数
sysctl net.ipv6.conf.all.disable_ipv6

这样操作后,就能彻底禁用IPv6,满足STIG的合规要求啦!

备注:内容来源于stack exchange,提问作者shepster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:03:00