我知道有一个维基条目http://wiki.debian.org/DebianIPv6#How_to_turn_off_IPv6它展示了如何在 Debian Squeeze 中禁用 IPv6,但这是一个 2.6.* 内核。
运行 Wheezy 的 3.2.* 内核怎么样?
答案1
如果这样做sysctl -p
,则无需重新启动。这对我来说是可行的,但我更喜欢将参数保存在单个文件中,因此我将上面的行放在文件中sysctl.conf
。
为了确保万无一失,我为每个设备都添加了一行,因此我的解决方案是将以下几行添加到/etc/sysctl.conf
:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.eth1.disable_ipv6 = 1
net.ipv6.conf.ppp0.disable_ipv6 = 1
net.ipv6.conf.tun0.disable_ipv6 = 1
答案2
在较新的系统上禁用 IPv6 的方式与 Debian wiki 中描述的方式相同:
在内核中禁用 ipv6 :
echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf
将在下次重启时禁用 ipv6。
请记住,无论您遇到什么问题,这应该是在您用尽所有其他解决问题的选项后绝对的最后手段。 IPv6 不是可选的,您迟早必须将其重新启用。
答案3
禁用IPv6最有效的方法是添加内核参数ipv6.disable=1
。
/etc/default/grub
这通常在以下行中完成:
GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=1"
您需要update-grub
在更改文件后运行。