YAMAHAのNVR510などは”dns static a”でIPv4のや”dns static aaaa”でIPv6のアドレスと任意ドメインを結び付けることができます。
最近あれこれブラウザ経由でステータス確認や設定など行うことが多くなってきたのですが、どうせならミニPCでサーバーを構築して、独自ドメインをLANで運用したい欲が出てくるようになりました。NVR510のコンフィグの軽量化にもつながりますしね。
サーバーOSにWindows serverの試用版がそこそこ長めに使えるから、チャレンジしてみようと思ったのですが、NICのドライバーがどうやっても当たらず…やむなくLinuxで構築することにしました。Ubuntu+BINDを採用。(UbuntuはOSインストールだけで2.5GのNICも認識された)
予備知識も無しに実際やってみると、意外と時間がかかりました。IPv4だけならそこそこスムーズにいったのですが、v6は時間かかりました。難しいというより、逆引きが桁数が多くてめんどい。
全体的に躓いた点としては、設定ファイル編集後にnamedのリスタートした時に記述ミスでDNSサービスが起ち上がらないというところでした。その度にタイプミスがないか一文字ずつチェック、さらにリスタートしても起ち上がらず…を繰り返して結構時間がかかりました。IPv4が正逆ともに引けるようになって、いざIPv6に取り掛かろうかと思ったら逆引きの桁数で手がストップ。2~3週間そっとしておいて、本日重い腰あげて着手。実作業はトライ&エラーを繰り返したものの意外と時間はかかりませんでした。ただ最後の最後で、BIND起動時の設定ファイルを読み込む際にどのファイルのなにがエラーを起こしているかをチェックしてくれる機能があることに気づく…
named-checkconf -z
まぁ、基本的なLinuxのCLIやDNSの仕組みの知識が高まったことには違いないので、決して無駄ではなかったのですが、最初からこの存在がわかっていたら、7~8割時間が短縮できたと思います…
上記コマンドで{やら;が無かった&変な位置に挿入されていたりといったことを教えてくれます。
ルーターとは別に、さらにそれよりも内側にDNSサーバがあることで、遅延などレイテンシが悪くなるかなと思いましたが、ほとんど遅延が無く、これまでと同じように運用できているのでよかったです。
2024.8.21追記
IPアドレスの逆引きで有効なコマンドがありました。わざわざIPv6用に関数を駆使した自前のExcelを作ったのですが、用無し。もっと早くに気づきたかった…
arpaname [IP] //例えば arpaname fe80::beef:abcd:f111:7794 の場合は //4.9.7.7.1.1.1.F.D.C.B.A.F.E.E.B.0.0.0.0.0.0.0.0.0.0.0.0.0.8.E.F.IP6.ARPAとなります。 //".IP6.ARPA"の部分を除けば、BINDに設定すべき値です。
不具合らしきものが発生
遅延&レイテンシ悪化は無く運用できていると思っていたのですが、NVR510からWANに出ていく設定を全部構築したDNSサーバーに向け運用していたらネットゲームでプレイ中に切断されたことやガクっとしばらく止まってしまうことが発生。ゲーム側は完全なクライントサーバー型では無く、接続関連を他者と共有、つまりP2Pのような構造らしいので、単純に私の環境だけが要因ではないと思いますが、現象がDNSサーバーに向けたその日に発生したことや切断&遅延はネットゲームでは致命的なので構成を見直すことにしました。
【これまでの運用】
”[ ]”で示したところが名前解決部分。厳密に言うと名前解決後はデバイスから直接NVR510だけども。
- デバイス ⇔ [構築したDNSサーバー ⇔ パブリックDNS] ⇒ NVR510 ⇒ WAN
【見直し後の運用】
- 通常の通信
デバイス ⇔ [NVR510のDNS機能] ⇒ WAN - 独自ドメイン宛の通信
デバイス ⇔ [NVR510のDNS機能 ⇔ 構築したDNSサーバー]
と、こんな感じでNVR510で宛先によって、参照先DNSを振り分けることにしました。
デバイスは通常の通信か独自ドメイン宛かは気にすることなく、シームレスに運用することが可能です。もちろんDHCPもしくは手動で指定する際のDNSはNVR510のIPアドレスです。
NVR510の負荷を分散させる目的でDNSを切り離す目的もあったのですが、これで様子見をすることいにしました。(あ、そういえばL3スイッチがあるじゃないか…)
NVR510に設定するコマンドは以下のとおり。
dns server dhcp onu1 dns server select 1 (DNSサーバーのIPアドレス) any (ドメイン名) dns server select 500000 dhcp onu1 any .
2行目で指定したドメインに対して、指定したDNSに参照します。それ以外は3行目の設定が適用されます。この場合は、WANインターフェースにDHCPで割り当てられたプロバイダのDNSですが、パブリックDNSを指定してもよい。ちなみにYAMAHAのルーターでは、参照先にdns server selectで指定したDNSが一番優先順位が高いです。上記コマンドの1桁目はいらいないかも。


コメント