网络设置

网络设置

网络设置

  • 我有一台服务器,我正在尝试在其上设置 LXC
  • 我正在使用 LXD,这迫使我使用 DHCP
  • DHCP 已经工作正常
  • 由于我的设置,我需要能够使用主机名访问容器
    • .local现在可以使用TLD进行此操作

问题

现在的问题是,我也需要使用主机的主机名访问容器,而该主机未从 DHCP 服务器接收其配置。目前这不起作用。

编辑

当我将主机接口的 DNS 服务器设置为它自己的 IP 时,这确实有效。我仍然无法从任何地方 ping 主机。

解决方法

我可以将主机及其 ip 放入主机的/etc/主机文件,但我不确定这是否是正确的方法。

主机设置

主机运行 Gentoo GNU/Linux 4.1.5 (OpenRC)。

/etc/conf.d/net看起来如下:

dns_servers="8.8.8.8 8.8.4.4"

config_eth0="<static IP>"
routes_eth0="default via <static gateway>"
fallback_eth0="dhcp"


rc_net_lxcbr0_provide="!net"

config_lxcbr0="10.2.0.1/24"
brctl_lxcbr0="setfd 0
sethello 10
stp off"
bridge_lxcbr0=""

dns_domain_lxcbr0="local"
dns_servers_lxcbr0="10.2.0.1 8.8.8.8 8.8.4.4"

域名解析配置如下(注释已删除):

local=/local/
interface=lxcbr0
listen-address=10.2.0.1
expand-hosts
domain=local,10.2.0.0/24
dhcp-range=10.2.0.2,10.2.0.128,255.255.255.0,12h
dhcp-range=<static ip range>, 12h
enable-ra

容器设置

容器只运行它们的 DHCP 客户端。

主机名

让我们假设一下:

  • 主持人
  • 续1
  • 续2

上面一行显示谁被 ping 通。左栏显示谁在执行 ping 操作。

Ping 的运行形式ping <machine>.local如下:ping host.local

+-------+-------+-------+-------+
|       | host  | cont1 | cont2 |
+-------+-------+-------+-------+
| host  |  no   |  yes  |  yes  |
+-------+-------+-------+-------+
| cont1 |  no   |  yes  |  yes  |
+-------+-------+-------+-------+
| cont2 |  no   |  yes  |  yes  |
+-------+-------+-------+-------+

答案1

解决方案是仅将 10.2.0.1 添加为主机上的 DNS 服务器,并将以下行添加到/etc/dnsmasq.conf:

address=/host.local/10.2.0.1
address=/host.local/<ipv6 address>

相关内容