我在 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.cfg
update-grub2
似乎我缺少一些基本的了解,不知道是什么原因导致这些链接本地地址在容器启动期间被分配。
有什么想法或建议吗?
请不要浪费时间向我宣扬我应该学会爱上 IPv6。我的雇主不会长期使用 IPv6,因为有太多传统的网络连接设备非常昂贵,而且永远无法在 IPv6 上运行,所以你打字就是在浪费时间。
答案1
一个答案(或临时答案),但不是我所考虑的这答案是添加/sbin/sysctl -p
到/etc/rc.local
。
我希望有一个更优雅的解决方案。