Yamaha RTX ルータにおけるDNSの設定方法を紹介します。LAN内の全端末がインターネット上のDNSサーバに問い合わせを行うのはネットワーク負荷が大きいので、recursive DNSやDNS cacheを設ける事で負荷を軽減します。なお、Yamaha RTXルータは、デフォルト設定でrecursive DNSとDNS cacheが有効になっていますので、殆どの場合は特段の設定を必要としません。
設定まとめ
DNS 再帰問い合わせの有効化
以下のコマンドで再帰DNSとして動作するかどうかを決める事ができます。Yamaha RTXのデフォルト設定は”recursive”なので、特段の設定なしにクライアントのDNS問い合わせに応答します。
# dns service { recursive | off }
DNS キャッシュ エントリ数の変更
“dns cache max entry”コマンドで、DNSキャッシュのエントリ数上限を変更する事ができます。デフォルト設定は256です
# dns cache max entry <num>
DNS サーバ指定
GUIのデフォルト設定の場合、Yamaha RTXはDHCPによって取得したDNSサーバを利用します。これをCLIで設定する場合は以下のようになります。
# dns server dhcp <WANインターフェース名>
DHCPではなく、DNSサーバを明示指定する場合は以下コマンドを使用します。
# dns server <primary_dns> [ <secondary_dns> ]
DNS キャッシュ有効化
“dns cache use”コマンドでDNS キャッシュ 有効無効を切り替える事ができます。デフォルト設定は有効なのです。
# dns cache use { on | off }
DNS プライベートアドレスの解決
“dns private address spoof”コマンドで、プライベートアドレスの解決をインターネットに問い合わせるかどうかを設定する事ができます。デフォルト設定はoffです。
近年ではクラウドベンダがプライベートアドレスを解決するようなデザインパターンも多く見られますので、デフォルト設定では動作しない場合もある事に注意ください。
# dns private address spoof { on | off }
DNS 静的レコード登録
Yamaha RTXシリーズは、DNSサーバとして利用する事もできます。小規模な企業ならば、社内の名前解決をルータに任せる構成をとる事もできます。
“dns static”コマンドでDNSに関するレコードを登録する事ができます。
# dns static <type> <fqdn> <value> [ ttl=<ttl> ]
“ip host”コマンドはAレコードとPTRレコードを同時に登録できる便利コマンドです。
# ip host <fqdn> <value> [ ttl=<ttl> ]
動作確認
動作確認の構成
以下の環境で動作確認を行います。
+------------------+ | VyOS 1.4 | | Internet | +-------+----------+ eth0 | .1 | | 200.0.10.0/24 | lan2 | .dhcp +-------+----------+ | Yamaha RTX 810 | | R1 | +-------+----------+ lan1 | .1 | | 192.168.10.0/24 | ens224 | .10 +-------+----------+ | RockyLinux 8.4 | | host010 | +------------------+
初期設定
初期設定はLAN側のIPアドレスのみとします。
動作確認 (1) DHCPによるDNSサーバ取得
DHCPによるIPアドレス取得を設定します。また、デフォルトゲートウェイとDNSサーバはDHCPによって取得した情報を使用するように指定します。
[R1:RTX810] ip lan2 address dhcp ip route default gateway dhcp lan2 dns server dhcp lan2
デフォルトゲートウェイが設定された事を確認します。
[R1:RTX810] # show ip route 宛先ネットワーク ゲートウェイ インタフェース 種別 付加情報 default 200.0.10.1 LAN2(DHCP) static 192.168.10.0/24 192.168.10.1 LAN1 implicit 200.0.10.0/24 200.0.10.10 LAN2 implicit
DHCPによって取得したDNSサーバの値を確認します。
[R1:RTX810] # show status dhcpc インタフェース: LAN2 primary IP アドレス: 200.0.10.10/24 DHCP サーバ: 200.0.10.1 リース残時間: 23時間 59分 17秒 (タイプ) クライアントID: (01) 00 a0 de b0 7b 54 00 02 01 共通情報 DNS サーバ: 200.200.200.200 デフォルトゲートウェイ: 200.0.10.1
nslookupコマンドで名前解決可能である事を確認します。
[R1:RTX810] # nslookup www.google.co.jp 172.217.31.131
動作確認 (2) recursive DNS
Yamaha RTXは特段の設定をしなくても、recursive DNSが有効になっています。Linux機であるhost010からYamaha RTXに向けて名前解決を試みます。
すると、特段の設定なしにrecursive DNSとして動作する事が分かります。
Yamaha RTXはEDNSに対応していないので、digコマンドで動作確認をする場合は+noednsオプションを付与して下さい。
[host010:RockyLinux8.4] [root@host010 ~]# dig redhat.com @192.168.10.1 +noedns ; <<>> DiG 9.11.26-RedHat-9.11.26-4.el8_4 <<>> redhat.com @192.168.10.1 +noedns ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37425 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0 ;; QUESTION SECTION: ;redhat.com. IN A ;; ANSWER SECTION: redhat.com. 3275 IN A 209.132.183.105 ;; AUTHORITY SECTION: redhat.com. 172474 IN NS a10-65.akam.net. redhat.com. 172474 IN NS a9-65.akam.net. redhat.com. 172474 IN NS a28-64.akam.net. redhat.com. 172474 IN NS a13-66.akam.net. redhat.com. 172474 IN NS a16-67.akam.net. redhat.com. 172474 IN NS a1-68.akam.net. ;; Query time: 0 msec ;; SERVER: 192.168.10.1#53(192.168.10.1) ;; WHEN: 日 11月 07 15:41:37 JST 2021 ;; MSG SIZE rcvd: 176
動作確認 (3) DNS cache
Yamaha RTXはデフォルトでDNS cacheが有効になっています。cacheを確認するには、”show dns cache”コマンドを使用します。
デフォルト設定では以下出力のように256個のキャッシュを保持できます。
[R1:RTX810] # show dns cache Summary: 2 entries [/ 256] TYPE CLASS TTL NAME (ADDRESS) --------------------------------------------------------------------- A IN 299/300 www.google.co.jp (172.217.31.131) A IN 3140/3600 redhat.com (209.132.183.105)
動作確認のため、DNS cacheエントリ数を512に増やします。
[R1:RTX810] dns cache max entry 512
確かにエントリ数が増えた事を確認できます。
[R1:RTX810] # show dns cache Summary: 2 entries [/ 512] TYPE CLASS TTL NAME (ADDRESS) --------------------------------------------------------------------- A IN 199/300 www.google.co.jp (172.217.31.131) A IN 3040/3600 redhat.com (209.132.183.105)
動作確認 (4) 簡易DNSサーバ
Yamaha RTXは簡易的なDNSサーバとして動作させる事もできます。商用環境での利用は困難かもしれないですが、ちょっとした動作確認やテスト用途としは便利かもしれません。
動作確認のため、以下のようなAレコードを登録します。
[R1:RTX810] dns static a www.hogehoge.com 192.168.10.100
名前解決可能である事を確認します。
[host010:RockyLinux8.4] [root@host010 ~]# dig www.hogehoge.com @192.168.10.1 +noedns ; <<>> DiG 9.11.26-RedHat-9.11.26-4.el8_4 <<>> www.hogehoge.com @192.168.10.1 +noedns ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35742 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.hogehoge.com. IN A ;; ANSWER SECTION: www.hogehoge.com. 1 IN A 192.168.10.100 ;; Query time: 0 msec ;; SERVER: 192.168.10.1#53(192.168.10.1) ;; WHEN: 日 11月 07 15:48:30 JST 2021 ;; MSG SIZE rcvd: 50