在 LXD/LXC 容器内启动时禁用 IPv6

在 LXD/LXC 容器内启动时禁用 IPv6

我在 LXD/LXC 中使用ubuntu:xenial生成的容器,但无法弄清楚为什么它一直使用 IPv6 链接本地地址 ( fe80::) 启动。如果相关的话,我还使用 Xenial 作为容器主机。

中没有 IPv6 条目/etc/hosts。 中没有定义任何 IPv6 地址/etc/network/interfaces*

我已经添加到net.ipv6.conf.*.disable_ipv6=1/etc/sysctl.conf虽然这可以在运行时清除分配的链接本地地址sysctl -p 开机,好像没有运行期间启动时,容器将以分配的 IPv6 链接本地地址启动。

我已经在容器内添加了,ipv6.disable=1 ipv6.disable_ipv6=1但似乎没有任何作用。这是有道理的,因为这些容器内没有,所以大概 Grub 在容器启动过程中不起作用。我还没有弄清楚容器如何决定在其内核视图中尝试启用或禁用什么,否则我会尝试在那里设置。GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub.d/50-cloudimg-settings.cfgupdate-grub2

似乎我缺少一些基本的了解,不知道是什么原因导致这些链接本地地址在容器启动期间被分配。

有什么想法或建议吗?

请不要浪费时间向我宣扬我应该学会爱上 IPv6。我的雇主不会长期使用 IPv6,因为有太多传统的网络连接设备非常昂贵,而且永远无法在 IPv6 上运行,所以你打字就是在浪费时间。

答案1

一个答案(或临时答案),但不是我所考虑的答案是添加/sbin/sysctl -p/etc/rc.local

我希望有一个更优雅的解决方案。

相关内容