网络设置
- 我有一台服务器,我正在尝试在其上设置 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>