在Ubuntu Server 18.04中禁用IPv6


15

我在Ubuntu 16.04的/etc/sysctl.conf中放置了以下内容,并且禁用了ipv6。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

在Ubuntu 18.04中,我必须将以下内容添加到grub。

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

只是想确认一下这是否是Ubuntu 18.04中禁用IPv6的新方法。


为什么要禁用IPv6?这被认为是不好的做法。
TJJ

Answers:


9

您只需要添加到 /etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1"

GRUB_CMDLINE_LINUX_DEFAULT为了安全起见,我也这样做了。修改sysctl仅能部分起作用,并且注意到netplan中出现了错误,我什至尝试dhcp6 = false还是徒劳。Netplan对于18.04 STABLE IMO似乎有太多错误,但这是另一个故事...一半也想删除netplan。

只是不要忘记在重启前更新grub!

sudo update-grub

1
您能否澄清这如何回答问题?您的回答使我感到困惑。
Stephen Rauch

1
请考虑报告您在launchpad.net上发现的netplan错误!这将有助于开发人员使其更好。
塞巴斯蒂安·史塔克

Sebastian Stark-我将尽力做到这一点,它似乎并没有注意内核设置,因此为什么需要grub命令,除netplan之外,其他所有命令都使用sysctl.conf。
VTChevalier

14

要澄清Stephan Rauch(仅适用于18.04)-如果使用grub方法禁用ipv6,则不需要/etc/sysctl.conf配置更改。我最终把它们留在了(以防将来netplan被修复),但是所需要做的只是以下内容:

sudo vi /etc/default/grub

修改GRUB_CMDLINEs如下所示:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

然后执行:

sudo update-grub
sudo reboot

享受ipv4。


谢谢(你的)信息。我们是否认为这值得一个netplan错误,还是通过sysctl.conf弃用的方式来配置类似的东西?我在bugs.launchpad.net/netplan中找不到相关的错误,但也许我错过了吗?
sxc731

0

sed工作吧:D

sudo sed -i -e 's/GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity"/GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 maybe-ubiquity"/' /etc/default/grub
sudo sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/' /etc/default/grub
sudo update-grub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.