BIND9を家庭で動かすメリット
目次
家にDNSがあると良いこと
こんにちは、こたかです。
今日はBIND9をインストールしてDNSを構築したお話です。
Web開発を進めていると、Webサーバー内に複数のサイトを設置したいことが増えてきます。
1つのサーバーに複数のサイトを稼働させることでサーバー台数を減らすことができて便利です。
この時、開発用サイトであれば、hostsファイルの編集でこと足りますが、iPhoneで画面表示を確認したい場合などでは、
DNSでサーバーのホスト名を解決できた方が端末毎に設定する必要が無く便利だったりします。
複数のサイトの切り替えはIP・ホスト名で分岐できる
apacheには「バーチャルホスト」という、IPまたはホスト名でWebサイトを複数稼働させる機能があります。
同一サーバーに複数のIPを割り振っておき、それぞれのIPでサイトを切り替える状態と、ホスト名で切り替る状態が可能です。
サーバー側ではサイトを増やすたびにIPアドレスを追加するのは面倒なので、ホスト名で切り替える方が便利です。
しかし、クライアントがアクセスできるようにするためには、hostsによるホスト名の追加、またはDNSレコード追加によりホスト名でサーバーにアクセスできるようにする必要があります。
DNSがあればDNSレコードの追加でクライアントに反映できる
独自のDNSがあれば、DNSレコードに追加するだけで、ドメイン内のすべてのクライアントからアクセスできるようにできます。
hostsよりも簡単に変更ができます。
サーバー側もホスト名でサイトを切り替えできるので、サイト数が2つ程度で少量の場合は問題になりませんが、5つ、6つと増えてくると、メリットが感じられるようになります。特にサイトごとにホスト名をつけられるので、サイトの見分けが付けやすくなります。
デメリットは、DNSが止まるとドメインのすべての端末が影響を受ける
デメリットとしては、DNSに問題が発生すると、ドメイン内のすべての端末が名前解決できず、実質、インターネットのサイトに接続ができない状態になります。セカンダリーDNS設定なので冗長化し、極力問題を回避できるように配慮が必要です。
DHCPとDNSはセットで運用
DNSを構築してもクライアントへの設定が個別になってしまうと面倒です。そこでDHCPサーバーとセットで運用します。
こたかのネットワークでは、既にDHCPを稼働させていました。
これは、GMOのIPv6プラスを利用開始した時に、IPv6のDNSがIPv4に対してもV6のアドレスを返してしまい、IPv4でしかアクセスできないサイトにアクセスできなくなる現象が起きたためです。
プロバイダーから提供されるDNS情報が利用できないので、googleの「8.8.8.8」を使用するように切り替えて対応しました。
今回、新たにDNSを構築し、DHCPとDNSで連携してネットワークシステムを運用している状態となりました。
気づけば光回線、クラウド、メッシュWi-Fi、DNS、DHCPと、こたかのネットワークはちょっとした企業並みのシステムです。
BIND9を調査するときは、本家のドキュメントが良い
英語のドキュメントですが、BIND9の本家のドキュメントに説明のすべてがあり、参考になります。
BIND 9 Administrator Reference Manual
https://bind9.readthedocs.io/en/latest
他の人のブログなどにある情報は断片的なことが多く、不足している前提条件を本家から確認することができます。
BIND9インストール時に起きた問題
付属のVCランタイムが古い
インストーラに添付されているVCランタイムが古く、MSのサイトから最新版のランタイムを取得し、差し替えることでインストール時のエラーを回避できました。
既にVCランタイム入っている場合はランタイムのインストールをキャンセルしても正常にBIND9のインストールを完了できました。
Windowsサービスの実行ユーザー「named」はインストーラーが作成してくれる
実行ユーザー、例えばデフォルトの「named」のローカルアカウントが既にWindows内に存在するとインストールが失敗します。
インストールに失敗して、ユーザーが作成されたままになった場合は、いったんユーザーを削除するとインストールできます。
インストーラが自動でユーザーを作成するものとは知らず、登録済みユーザーを指定してなかなかインストールが成功せず、ハマりました。
まとめ
今日はBIND9をインストールしてDNSを稼働させるメリットについてのお話でした。
独自のDNSサーバーでネットワークシステムを構築できるようになって、自由度がまた一つ上がりました。
Webサイトを好きなだけ設置でき、自由に名前を付けることができると安心感があります。
Excel、Wordだけのころに比べて最近では、音楽サーバー、ファイルサーバー、アカウント管理サーバー、ナレッジサーバー等々いろいろなWebシステムを連携して使用できるので、家庭向けにもBIND9によるネットワーク管理のメリットが大きくなってきたのではと思います。
それではまた、次の記事でお会いしましょう。