在Debian 12上想要彻底、永久禁用IPv6,且确保重启后绝对不会反弹,最稳妥、最高效的方法是从内核层面(GRUB)直接关闭。
修改网络配置文件或 sysctl 虽然也能临时生效,但有时可能会被系统网络管理器(如 systemd-networkd 或 NetworkManager)在接口重启时覆盖。从内核下手可以一劳永逸。
以下是具体的操作步骤:
方法一:通过 GRUB 在内核层面禁用(强烈推荐)
这种方法会让内核在启动时完全不加载 IPv6 模块。
1. 编辑 GRUB 配置文件 使用你顺手的编辑器(如 nano 或 vim)打开配置文件:
sudo nano /etc/default/grub
2. 修改启动参数 找到以 GRUB_CMDLINE_LINUX_DEFAULT 和 GRUB_CMDLINE_LINUX 开头的行。在引号内部追加 ipv6.disable=1。
修改后的样子大概是这样的(注意保留你原有的其他参数):
GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
3. 更新 GRUB 并重启 保存文件并退出编辑器后,更新 GRUB 配置以使其生效:
sudo update-grub
然后重启你的主机:
sudo reboot
验证是否成功禁用:
ip a | grep inet6