Edge Router ER-XでワイルドカードDNSレコードを実装する

ER-XでワイルドカードDNSレコードを実装したかったので調査した。

ワイルドカードDNSレコードとは

あまり聞かない設定だし規格化された正式な名称かどうかもわからないのでやりたかったことをここで定義しておく。

  • あるドメインのすべてのサブドメインを特定のIPアドレスへ解決するようなAレコード

あるドメインexample.comがあったとして、そのすべてのサブドメイン、例えばfoo.example.combar.example.comのAレコードを引いた結果が特定のIPアドレス(例えば192.0.2.1)になるようにしたい。

コマンドで表現するとこんな感じ。

$ dig +short foo.example.com
192.0.2.1
$ dig +short bar.example.com
192.0.2.1

もちろんどんなサブドメインの名前解決が発生するかは事前には分からないのであらかじめすべてのレコードを登録しておくなんてこともできない。

設定方法

Edge RouterのDNSサーバー機能はdnsmasqで実装されているためdnsmasqの機能を利用することになる。

GUIで設定する場合はConfig Treeservicednsforwardingと辿ったところのoptionsになる。 説明を読む感じdnsmasqのコンフィグを入力できる模様。 dnsmasqのドキュメントにはワイルドカードレコードのことはあまり書かれていないがStack Overflowによると以下のように書けばいいらしい。

address=/.example.com/192.0.2.1

先頭の.はあってもなくても動作は変わらないらしいがサブドメインの名前解決を設定したいという意図を残すためあえて付けておく。

edge-router-wildcard-dns

ちなみにCLIで設定する場合は以下のコマンドになる。

configure
set service dns forwarding options address=/.example.com/192.0.2.1
commit

以上。

comments powered by Disqus