2013-12-25

ローカルネットワークにいるホストの名前が引けない

Linux Mint を適当にぶち込んだマシンにて、ローカルネットワークのホストにアクセスできない問題が発生。

状況

  • DNSサーバは 192.168.0.1 みたいなマシンで、DHCPで配る
  • hostname.mydomain.local みたいな名前でローカルネットワークにホストが存在してる
  • DNSサーバを指定した上で、digなりnslookupなりからそいつの名前を指定すると、ちゃんとIPアドレスを返してくれる
  • ping hostname.mydomain.local とか wget hostname.mydomain.local とかやると、そんなホストしらねーよって言われる

dnsmasq が動いてるせいで、ローカルネットワークのDNSを見に行ってくれない

/etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
dns=dnsmasq

[ifupdown]
managed=false
dns=dnsmasqの行をコメントアウトして NetworkManager を再起動。
ついでに、resolv.conf を書き換えてローカルネットワークのDNSを見に行くように。

.localのホストだけ名前解決できない

nsswitch くんが悪さをしていた模様。
/etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 を、 hosts: files dns mdns4 に書き換えたらちゃんと .local に関してもDNSを参照してくれることに。

0 件のコメント:

コメントを投稿