suzukaの軌跡

知識や感情が入り混じる一つの宇宙

RTX830のDNSサーバー設定で覚えておきたいことメモ

TL; DR

YAMAHA 公式Docsは神

www.rtpro.yamaha.co.jp

はじめに

  1. RTX830を使っている人の記事です。他機種の互換とかはYAMAHA公式docsに書いてるので参照してください。
  2. フレッツ光東 NGN環境のためflets-east.jpが出ていますが、設定内容の本質には影響ありません。事前設定としてIIJプロバイダに対して既にIPoE接続(設定例でdhcp lan2となっているもの)の設定をしています。

DNS設定をする際に最初に把握しておくべきこと

DNSサーバーはリカーシブサーバー機能のみで、ルーター自体がリゾルバとはならない。

DNSディレクティブには、問い合わせ先DNSサーバーを設定するコマンドに優先順位がある

クエリが来たら、下記コマンド順序で評価され、条件がマッチしたDNSサーバーに対して問い合わせが行われる。

  1. dns server select コマンド
  2. dns server コマンド
  3. dns server pp コマンド
  4. dns server dhcp コマンド
  5. なんらかのDHCPで取得したDNSサーバー

dns ディレクティブはおおまかに2種類

selectを使わない3種類

主にコマンド優先順位だけを意識してどれかを設定する。 pp,dhcpは問い合わせるDNSサーバーの参照先を選択するだけだが、優先順位が設定されている。 pp,dhcpを同時に設定しても、ppが優先されすべてのクエリは処理されるためdhcpは使用されない。

  1. dns server コマンド
  2. dns server pp コマンド
  3. dns server dhcp コマンド

selectを使う3種類

<id> の若い順に評価される。pp, dhcp は問い合わせるDNSサーバーの参照先を選択しているだけの認識でよい

  1. dns server select <id> コマンド
  2. dns server select <id> pp コマンド
  3. dns server select <id> dhcp コマンド

使用例

デフォルトはDNSサーバーAを参照し、特定ドメイン(flets-east.jp)だけDNSサーバーBを参照する

select句を使い、特殊な処理を先に書き、デフォルトの処理は後ろにかく。もしくは dns server select 句の後ろの優先順位で設定する。

。 その他のドメイン ( . が指定されているので、前段でマッチしなかったクエリすべて) は、 192.168.0.2 に問い合わせる。

# `.flets-east.jp` ドメインのみ `dhcp lan2` で教えられたDNSサーバー(NGN DNS Server)に問い合わせる
dns server select 500000 dhcp lan2 any .flets-east.jp
# 500000でマッチしなかったクエリはすべて500100の `any .` にマッチし処理される
dns server select 500100 192.168.0.2 any .

dns server <IP> 句でデフォルトDNSサーバーを設定する例

dns server 192.168.0.2
dns server select 500000 dhcp lan2 any .flets-east.jp

PPPoE接続が行われているときだけ、ISPのDNSサーバーを使い、切断時はNGNのDNSサーバーを使う

dns server select 句に、 restrict pp <num> が使用されると、対象のPP接続がactiveな時だけクエリの評価を行うようになる。

# pp1接続がactiveな時に、`any .` なDNSクエリを、pp1から受信したDNSサーバーに問い合わせる
dns server select 500001 pp 1 any . restrict pp 1
# pp1接続がinactiveな時は500001でクエリが処理されないため、 500002で `any .` なDNSクエリを、dhcp lan2から受信したDNSサーバーに問い合わせる
dns server select 500002 dhcp lan2 any .

参考にしたところ

www.rtpro.yamaha.co.jp

https://changineer.info/network/yamaha_router_rtx/yamaha_router_rtx_dns_example.html

さいごに

コマンド体系を紐解いていくと、とても柔軟な設定ができることがわかった。

楽しい。