『FreeBSD』 DNSが無いローカルネットワークでのマシンの名前解決方法

自宅のネットワーク構成が変わった話とそれに伴うサーバー変更の話を色々と書いてきました。

この過程で一番大きく変わったのが、ファイルサーバーが動的IPアドレスになったことです。
そして、DNSサーバーはマンションに設置しているサーバーを必ず使わなくてはいけなくなりました。

この環境でものすごく困るのが、クライアントマシンからサーバーへsshでログインするときです。
IPアドレスを直うちでログインする訳なのですが、毎日起動の度にIPアドレスが変わります。
また、各Windowsマシンにデータを共有させるためにファイルサーバー経由でrsyncをつかったデータ同期をさせているのですが、ここでもIPアドレスが必要になります。

その様なわけで、コロコロとIPアドレスが変わってしまうと困るわけです。
Windwosのファイル共有はSambaの名前解決機能を使うので特に問題は起きませんし、Macのファイル共有関係(主にTimeMachine)もAvahi-daemonの名前解決機能を使うので問題は起きません。

問題が起きるのは、sshなどのunix系(?)なツールを使うときです。

長々と背景を書いてきましたが要約すると、サーバーを含めてすべて動的IPアドレスで運用されているネットワークにおいて、名前解決をどのように行うかです。

解決方法ですが、Avahiの名前解決機能を使ってやります。
これは、Zeroconfって機能の実装の一つです。
AvahiではAppleが実装したmDNSに対応しています。
Macは標準でmDNS対応ですし、WindowsではiTunesと一緒にインストールされるBonjourで対応できます。

自宅のネットワーク環境ではこれをすべて満たすのでこれらを使って問題解決をしました。

具体的な設定方法ですが、FreeBSDマシン(Linuxマシン)でAvahi-daemonが動いている状態なら特に設定を変更しなくても、iTunesをインストール済みのWindowsマシンやMacから「サーバーのマシン名.local」でアクセス可能になります。
勿論、WindowsマシンやMacが相手でもマシン名.localでアクセス出来ます。

手っ取り早い確認方法は、

# ping 相手マシン名.local

をWindowsマシンやmacで実行することです。

FreeBSDなどのUnix系マシン上での名前解決には、ちょっと設定が必要なのです。
が、今回はWindwosとMacでローカルネットワーク内マシンの名前解決ができたら良いので、そこまで踏み込みません。
#/etc/nsswitch.confを編集するだけみたいですが。

今の今まで、こんな便利な機能を知らなかったなんて!

実践FreeBSDサーバ構築・運用ガイド
技術評論社 (2013-05-10)
売り上げランキング: 78,194

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です