CentOS 7でmDNS(Avahi Daemon

最終更新日:2019年07月28日
レベル:★☆☆☆☆
LANネットワークで利用するのに便利なmDNSをCentOS7で有効にする方法を紹介します

非Windowsネットワークにてホスト名で名前解決する方法の一つとして「mDNS」があります。
ホスト名に「.local」をつけることでアクセスできるので非常に便利です。

macOS, Ubuntuであればデフォルトで有効になっているのですが、CentOS 7ではインストール直後には利用できません。
ですので、CentOS 7でもmDNSを使ったネットワークに参加させる手順を紹介します。

Avahi Daemonのインストール

CentOS 7のmDNSサービスを提供するプログラムである「Avahi Daemon」をインストールします。
コンソールなどのコマンドラインから以下を入力してインストールします。

# yum -y install avahi

Avahi Daemonを起動します。

# systemctl start avahi-daemon

当該マシンのFirewallにmDNSを有効にする設定を入れます。

# vi /etc/firewalld/zones/public.xml
----------------------------------------------------------------------
 :
  <service name="dhcpv6-client"/>
  <service name="mdns"/> <----------------------- 追記
</zone>
----------------------------------------------------------------------

firewalldを再起動します

# systemctl restart firewalld

動作確認

別のクライアント(Mac, またはUbuntuマシン)からAvahi Daemonをインストールしたマシンへpingを打ってみます。
下の例はAvahi Daemonをインストールしたホスト名「srv01」のマシンにpingを打ってみた結果です。

$ ping srv01.local <--------------------- サーバ名.localで指定
PING srv01.local (192.168.1.69) 56(84) bytes of data.
64 bytes from 192.168.1.69 (192.168.1.69): icmp_seq=1 ttl=64 time=0.439 ms
64 bytes from 192.168.1.69 (192.168.1.69): icmp_seq=2 ttl=64 time=0.574 ms
64 bytes from 192.168.1.69 (192.168.1.69): icmp_seq=3 ttl=64 time=0.648 ms
64 bytes from 192.168.1.69 (192.168.1.69): icmp_seq=4 ttl=64 time=0.599 ms
^C <------------------------------------- Ctrl + C で中断
--- srv01.local ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3040ms
rtt min/avg/max/mdev = 0.439/0.565/0.648/0.077 ms

mDNSの注意点

  • WindowsマシンもmDNS機能(ホスト名.localで名前解決したい)を利用するのであれば、WindowsのファイアウォールにmDNSを有効にする設定を入れてやる必要があります。
    (Bonjourをインストールする、との情報もありますが、現在のWindows 10ではファイアウォールへの対応だけで可能。)
  • mDNSはブロードキャストパケットを投げて動作する仕組みなので、同一LANセグメントであればそのままで問題なく動作しますが、セグメント超えさせるにはルータ等に設定を追加する必要があります。

 

ー 以上 ー

 CMSを使ったホームページ制作
 VPS, AWS等クラウドシステム構築
等々のご依頼承っております