.local
TLDを使用して機能するようになりましたここでの問題は、DHCPサーバーから構成を受信しないホストからもホスト名を使用してコンテナーにアクセスする必要があることです。現在、これは機能しません。
これは、ホストインターフェイスのDNSサーバーを独自のIPに設定した場合に機能します。それでも、どこからでもホストにpingを実行できません。
IPを使用してホストをホストの/ etc/hostsファイルに配置することもできますが、これが正しい方法かどうかはわかりません。
ホストはGentooGNU/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"
dnsmasqは次のように構成されています(コメントは削除されました):
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クライアントを実行するだけです。
それらを仮定しましょう:
上の行は、誰がpingされたかを示しています。左の列は、誰がpingを実行しているかを示しています。
Pingはping <machine>.local
の形式で実行されます。例:ping Host.local
。
+-------+-------+-------+-------+
| | Host | cont1 | cont2 |
+-------+-------+-------+-------+
| Host | no | yes | yes |
+-------+-------+-------+-------+
| cont1 | no | yes | yes |
+-------+-------+-------+-------+
| cont2 | no | yes | yes |
+-------+-------+-------+-------+
解決策は、ホスト上のDNSサーバーとして10.2.0.1を追加し、次の行を/ etc/dnsmasq.confに追加することでした。
address=/Host.local/10.2.0.1
address=/Host.local/<ipv6 address>