禁用IPv6,别只改 sysctl.conf
414 字
2 分钟
禁用IPv6,别只改 sysctl.conf
今天遇到个问题,某个服务商的v6连接cf老是断断续续的,tg上不断告警。。。突然想到是不是和这家的v6用户很多人用hy2有关系,美其名曰v6快乐机,实际上各显神通搞的乌烟瘴气,跟帮蝗虫一样。不说了,干脆把v6禁用。
想把服务器的 IPv6 彻底关掉,先照着常见方法改了 /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1net.ipv6.conf.lo.disable_ipv6 = 1net.ipv6.conf.eth0.disable_ipv6 = 1然后执行:
sysctl -p当时 IPv6 确实没了。但机器一重启,IPv6 地址又回来了。
sysctl 没失效。它只是把当前内核运行时参数改掉了。系统启动时,NetworkManager、cloud-init 或网络脚本还可能继续创建接口、重写接口参数。网卡名也未必叫 eth0,新系统经常是 ens18、enp1s0 这类名字。只靠 sysctl.conf,并不能保证 IPv6 协议栈从开机起就不加载。
要彻底关闭,就在内核启动参数里加入 ipv6.disable=1。这个参数在网络服务启动之前生效,重启也不会丢。
Ubuntu / Debian
编辑 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-grubsudo rebootRocky / AlmaLinux / CentOS
这类系统可以直接用 grubby 写入全部已安装内核:
sudo grubby --update-kernel=ALL --args="ipv6.disable=1"sudo reboot重启后检查
cat /proc/cmdlineip -6 addr/proc/cmdline 里应当能看到 ipv6.disable=1,ip -6 addr 不应再出现 IPv6 地址。
如果系统并不用 GRUB,例如部分云镜像或 systemd-boot,就把同一个 ipv6.disable=1 加到对应的启动项里。内核启动参数才是这里的重点。
以上。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
禁用IPv6,别只改 sysctl.conf
https://blog.qiui.net/posts/2026-08-02-disable-ipv6-persistently/相关文章智能推荐
1
openSUSE Tumbleweed 真的挺好用
自言自语简单记录一下 openSUSE Tumbleweed 的使用体验:它既能尝鲜,又比一般滚动更新发行版更稳。
2
在自定义 New API 镜像里叠加 PR,修好邮箱绑定
网站相关在原有用户统计补丁镜像上固定应用 New API PR
3
Rakuten BIG s 提取原厂 boot_a 与解除 APN 新增限制
硬件鼓捣记录 Rakuten BIG s 实机提取当前固件原厂 boot_a,以及解除固件内置运营商 APN 新增限制的方法。
4
一眼 AI:中文文案为什么总爱强行深刻
自言自语整理中文 AI 文案里反复出现的句式、词汇和结构,顺便讲讲 Humanizer 为什么不总是好用,以及怎样让 AI 写得更像作者自己。
5
模型上下文用了 80%,会比 20% 更慢吗?
自言自语同一个模型的上下文从 20% 涨到 80% 后,速度和回答水平会怎样变化,以及 ACP 为什么比一次性全局压缩更适合长期会话。
随机文章随机推荐




















