在 Mint 和 Debian 上禁用 IPv6

Lin*_*eak 5 debian linux-mint ipv6

如何完全禁用 IPv6(对于所有接口,对于整机?

请记住,我不想要任何类型的 GUI 解决方案。


有问题的操作系统:

  • Linux Mint 18.x Cinnamon 64 位

  • GNU/Linux Debian 9.x Cinnamon 64 位

Lin*_*eak 8

需要编辑以下文件:

/etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)

添加以下几行,最好添加到文件末尾:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Run Code Online (Sandbox Code Playgroud)

完成后,您可以重新启动机器,或键入以下内容:

sudo sysctl --load=/etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)

对于其他操作系统,可能值得注意的是,如果它在启动时不读取该文件,则有另一种方法。

需要编辑以下文件:

/etc/default/grub
Run Code Online (Sandbox Code Playgroud)

添加以下附录:

ipv6.disable=1
Run Code Online (Sandbox Code Playgroud)

到以下变量:

GRUB_CMDLINE_LINUX_DEFAULT
Run Code Online (Sandbox Code Playgroud)

所以在我的例子中它可能看起来像这样:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"
Run Code Online (Sandbox Code Playgroud)

编辑后,您需要调用:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

并重新启动机器。


但正如Rui F Ribeiro所指出的,你应该同时使用这两种方法,因为:

  1. 如果您在将来的升级中允许更新您的grub文件,您就可以通过sysctl设置获得安全性。

  2. 仅使用该sysctl方法,ipv6模块仍会加载。