自宅内DNSサーバーの構築~DiskStation DS218j

DNS関係, DSMアプリケーション, Synology DiskStation DS218j, YAMAHA NVR500DNS Server, DSM, DSMパッケージ, Synology, ドメイン

Synology DiskStation DS218jでWebサーバーを公開した場合の、自宅LAN内からのWebサーバーへのアクセス不具合を解消する方法として、DS218j自身にDNSサーバーを構築する方法です。

これから説明する"DNS Server"パッケージは、固定のグローバルIPアドレス環境であればインターネット空間で正式なDNSサーバーとして運用できる立派なものですが、NOMIはあくまで自宅LAN内の不具合を解消する「自宅限定」のDNSサーバーとして使用します。ちょっと贅沢な使い方かもしれませんね。

DNS Serverパッケージのインストール

DSMにログインし、「パッケージセンター」を開きます。

パッケージセンター|DSM

「DNS Server」の[インストール]をクリックします。

DNS Serverのインストール|DSM

ほどなくインストールが終わります。

メインメニュー|DSM

「メインメニュー」から「DNS Sever」を開きます。

DNSキャッシュの有効化

設定画面が開いたら「解決」をクリックします。

DNS Server設定画面|DSM

まず、DNSキャッシュサーバーの機能を有効にします。

DNSキャッシュを有効にすると、LANの中にあるパソコンやスマホの名前解決の作業をSynology DiskStation DS218jが代行してくれるので、パソコンやスマホからのインターネット接続が快適になります。

DNSキャッシュサーバ

DNSキャッシュサーバの役割は、DNSクライアント(ウェブブラウザなど、ドメイン名を利用する何らかのアプリケーション等)からの再帰的問い合わせによって名前解決の依頼を受け、非再帰的問い合わせを行い名前を解決することである。たとえば、Webブラウザで、www.wikipedia.orgなどを入力した際、そのコンピュータがまず名前解決しに行くのがDNSキャッシュサーバである。

出典:ウィキペディア

DNSキャッシュサーバーの設定|DSM

まず「解決機能を有効にする」にチェックを入れてDNSキャッシュサーバーの機能を有効にします。

「フォワーダを有効にする」にチェックを入れると別のDNSキャッシュサーバーの情報を参照して動作します。フォワーダの使用は必須ではありませんが、フォワーダを指定しないとDS218jのDNSサーバーは自ら名前解決できない場合、いちいちルートサーバにDNS情報を問い合わせなければならなくなるので、フォワーダは使用したほうが動作は早くなる傾向が強くなります。

ルートサーバ

ルートサーバルートネームサーバまたはDNSルートサーバとは、ドメインネームシステム (DNS) において、ドメイン名空間の頂点にある情報を保持するサーバドメイン名名前解決において、トップレベルドメイン (TLD) 部分の名前解決を担当する。

出典:ウィキペディア

ルートサーバは世界に13台しかなくいつも大忙しなので、できればフォワーダを活用して、ルートサーバへのトラフィックやルートサーバ自身の負荷を減らしてあげたほうが皆のため、とNOMIは思っています。

「フォワーダ 1:」、「フォワーダ 2:」には具体的に参照するDNSキャッシュサーバーのIPアドレスを入力します。

一番良いのは、自宅で契約しているインターネットプロバイダが提供しているDNSキャッシュサーバーを設定することです。

問い合わせまでの経路が短く、応答が早いとされているためです。

NOMI宅の契約プロバイダはBBIQなので、"218.40.229.16″と"218.40.229.40″を設定します。

最近は、参照DNSサーバーはプロバイダから自動でルーターに割り当てられるのが主流で、プロバイダの公式サイトに行ってもDNSキャッシュサーバーの情報が掲載されていないことがありますが、接続中のルーターのステータスを見れば普通はわかるようになっています。

または、DNSキャッシュの豊富なGoogleのパブリックDNSである"8.8.8.8″と"8.8.4.4″を設定しても良いと思います。

設定が終わったら[適用]をクリックします。

DNSキャッシュの動作確認

ここでパソコンからDNSキャッシュサーバーの動作確認をしてみます。

Windowsの場合は「コマンドプロンプト」を、Macintoshの場合は「ターミナル」を開き、"nslookup"コマンドで確認します。

nslookupを実行|Windows

コマンドの書式は、"nslookup [調べたいホスト名] [参照DNSサーバー]"です。

DS218jのDNSキャッシュサーバーが、"www.kakaku.com"及び、【SynologyのDDNS設定~DiskStation DS218j】で設定した"wwq.myDS.me"のグローバルIPアドレスを正しく返してきました。

正引きゾーン(Aレコード)の設定

引き続き"wwq.myDS.me"のみローカルIPアドレス"192.168.100.201″を返す設定を行います。

DSMの「DNS Server」の設定画面の[ゾーン]を選択し、[作成]→[マスターゾーン]を開きます。

DNSマスターゾーンの作成|DSM

DNSマスターゾーンの設定|DSM

「ドメインタイプ:」はホスト名からIPアドレスへの名前解決になるので「正引きゾーン」、ドメイン名は本来なら"myDS.me"ですが、SynologyからDDNSで借りているのは"wwq.myDS.me"なのでそのままそれを設定し、「マスターDNSサーバー」はDS218j自身のローカルIPアドレス"192.168.100.201″を設定します。

LAN内で使用限定のDNSサーバーなので、バックアップであるスレーブDNSサーバーは使用しません。マスターDNSサーバーのみで使用します。従ってゾーン転送は不要なので関係する機能のチェックは外します。

設定が終わったら[OK]をクリックします。

DNSマスターゾーンの編集|DSM

作成されたゾーンに"wwq.myDS.me"の正引きを追加します。作成されたゾーンを選択し、「編集」→[リソースレコード]を開きます。

DNSマスターゾーンに正引きレコードを追加|DSM

「作成」→[A Type]を開きます(A TypeはIPv4の正引きです)。

DNSマスターゾーンに正引きレコードの編集|DSM

LAN内で使用するだけの名前解決ですから、外出時にはできだけ早くキャッシュがクリアされたほうが良いので、TTL(保持時間)はデフォルトの"86400秒(一日)"から"60秒(一分)"に変更します。「IPアドレス」にはDS2018jの"192.168.100.201″をタイプし、[OK]をクリックします。

DNSマスターゾーンのTTL修正|DSM

先に作成されていたレコードのTTLを、それぞれ選択して編集し、同じく"60秒(一分)"に変更します。

DNSマスターゾーンに正引きレコードを保存|DSM

TTLの修正が終わったら[終了]をクリックします。

逆引きゾーン(PTRレコード)の設定

実用上はここまででも問題はないのですが、現段階ではIPアドレス"192.168.100.201″に対する逆引きのホスト名が設定されていないため、nslookupコマンドを実行したときに、

nslookupを実行|Windows

と、DNSサーバー名が"UnKnown"になってしまいます。

そこで、続いて逆引きのマスターゾーンを作成します。

「DNS Server」の設定に戻ります。

DNSマスターゾーンの作成|DSM

[ゾーン]を選択し、[作成]→[マスターゾーン]を開きます。

DNSマスターゾーンの編集|DSM

まず、「ドメインタイプ:」を「逆引きゾーン」に変更します。「ドメイン名:」のところはDNSサーバーの逆引きの記述法に従って、"192.168.100.201″を逆にして"201.100.168.192″と記述します。

先の正引きの設定で、マスターDNSサーバーには自動的に"ns.wwq.myDS.me"というホスト名が設定されましたので、「ネームサーバー:」には同じく"ns.wwq.myDS.me"を指定します。

「ネームサーバー:」のドメインにあたる部分はプルダウンから選択できるようになっています。

繰り返しになりますが、LAN内での使用限定のDNSサーバーなので、バックアップであるスレーブDNSサーバーは使用しません。マスターDNSサーバーのみで使用します。ゾーン転送は不要なので関係する機能のチェックは外します。

設定が終わったら[OK]をクリックします。

DNSマスターゾーンの保存|DSM

作成されたゾーンに"192.168.100.201″の逆引きを追加します。作成されたゾーンを選択し、「編集」→[リソースレコード]を開きます。

DNSマスターゾーンに逆引きレコードを追加|DSM

「作成」→[PTR Type]を開きます(PTR Typeは逆引きのレコードをいいます)。

DNSマスターゾーンの逆引きレコードを編集|DSM

LAN内で使用するだけの名前解決ですから、外出時にはできだけ早くキャッシュがクリアされたほうが良いので、TTL(保持時間)はデフォルトの"86400秒(一日)"から"60秒(一分)"に変更します。「ホスト/ドメイン」にはマスターDNSサーバーとして作成されたホスト名"ns.wwq.myDS.me"を設定し、[OK]をクリックします。

DNSマスターゾーンのTTL修正|DSM

先に作成されていたレコード選択して編集し、TTLを同じく"60秒(一分)"に変更します。

DNSマスターゾーンに逆引きレコードを保存|DSM

TTLの修正が終わったら[終了]をクリックします。

DNS Server設定終了|DSM

以上でLAN内DNSキャッシュサーバーの設定は終わりです。

パソコンから動作確認をしてみます。

nslookupを実行|Windows

“wwq.myDNS.me"の正引きがグロバールIPアドレスではなくローカルIPアドレスの"192.168.100.201″に変わり、DNSサーバー名が"UnKnown"から"ns.wwq.myDS.me"になりました。

参照DNSサーバーの変更方法について

最後に、LAN内のすべてのホストが参照するDNSサーバーをDS218jのIPアドレス"192.168.100.201″に変更する設定を行います。

一般的にルーター配下にあるパソコンやスマホなどの端末は、ルーターのDHCPサーバーによってIPアドレスを割り当てられると同時に、参照DNSサーバーのIPアドレスを割り当てられます。

市販のルーターのほとんどは、自分自身がDNSキャッシュサーバーの機能を持っていますので、参照DNSサーバーとしてルーターのIPアドレスを割り当てるケースが大半です。

NOMI宅にあるパソコンのコマンドプロンプトから"ipconfig /all"を実行すると、

ipconfigを実行|Windows

デフォルトゲートウェイ、DHCPサーバー、参照DNSサーバーともルーターのアドレス"192.168.100.1″が設定されています。これが普通です。

NOMI宅のルーターYAMAHA NVR500で、DHCPでIPアドレスを割り当てる端末の参照DNSサーバーを"192.168.100.201″に変更するには、

  • dns service off
  • dns server 192.168.100.201

の二つのコマンドを実行すればOKです。その後、パソコンのネットワークの再読み込み"ipconfig /renew"を行い、"ipconfig /all"を実行すると、

ipconfigを実行|Windows

と、参照DNSサーバーがDS218jの"192.168.100.201″に変更になります。

DHCPでIPアドレスを割り当てる端末の参照DNSサーバーを変更する方法はルーターによって異なりますが、普通はGUI設定画面から変更できるようになっているようですね。

注意しなければならないのは、DHCPで自動割り当てになっておらず、手動でネットワーク設定を行っている通信機器は、手作業で設定を変更しなければならないことです。例えばNOMI宅のWi-Fiアクセスポイントは固定のIPアドレスを割り当ててブリッジモードで動作させていますが、

Wi-Fiアクセスポイントの参照DNSサーバー変更

のように設定する必要があります。もちろんSynology DiskStation DS218j自身も、[コントロールパネル]→[ネットワーク]→[ネットワークインターフェース]→[LAN]→[編集]を開き、

DSM自身の参照DNSサーバー変更

のように参照DNSサーバーをDS218j自身の"192.168.100.201″に変更しなければなりません。

何にせよ自宅内のLANに公開Webサーバーを設置するのは結構大変な作業ですね。