解析主机上的 LXC 容器名称

解析主机上的 LXC 容器名称

在 Ubuntu 16.04 服务器版本上,启动 LXC 容器后,只能通过其 IP 地址引用它。在 dnsmasq 中启用 .lxc 域似乎没有帮助,并且可用的教程似乎仅适用于 Ubuntu 14.04。

无法在主机上使用 DNS 名称会带来很大的不便。

我从博客文章中了解到 LXD 2.9 解决了一些 DNS 问题,但似乎不清楚如何通过 PPA 安装。

重现步骤

按照指示https://gauvain.pocentek.net/name-resolution-lxc-containers.html

  • 已安装dnsmasq
  • 取消LXC_DOMAIN="lxc"注释/etc/default/lxc-net
  • 添加server=/lxc/10.0.3.1/etc/dnsmasq.d/lxc
  • 检查/etc/resolv.conf包含 DNS 服务器 10.0.3.1

sudo lsof -i :53我检查lxddnsmasq似乎lxc-dnsmasq绑定到端口 53。

但是, - 查询dig mycontainer.lxc没有结果。 - 查询dig @10.0.3.1 mycontainer.lxc没有结果。 - 查询dig @10.0.3.1 google.com产生了正确的结果。

答案1

您是否尝试过链接源中提供的完整示例配置?请注意,仅取消注释LXC_DOMAIN="lxc"是行不通的。

此外,lxc dnsmasq 使用的规则应该在其 DHCP 配置文件中定义,通常在/etc/default/lxc-net配置文件中定义为: LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf。这意味着 如果该文件不是配置的 LXC_DHCP_CONFILE,则添加到不会产生任何影响server=/lxc/10.0.3.1/etc/dnsmasq.d/lxc

也可以看看:https://askubuntu.com/questions/446831/how-to-let-built-in-dhcp-assign-a-static-ip-to-lxc-container-based-on-name-not#571095

相关内容