うちのテスト環境はざっくりと上記の通りです。今まではWindowsサーバにAD設定をしていましたが、DNSサーバをBINDにリプレースしました。
BINDサーバはRocky Linux 9を使用しています。BIND 9.16.23-RH (Extended Support Version)を使用しております。
ドメインはtest.localとして、ドメイン以外はルータにフォワードしています。
BINDのエラーは99%までタイプミスだと勝手に思っています。
DNSサーバ:192.168.11.111
テスト用サーバ:192.168.11.4
ルータLAN側:192.168.11.1
ネットワークアドレス:192.168.11.0/24
/etc/named.conf
dnssec-validation no;にしないとフォワードが機能しませんでした。
太字がデフォルトから変更した部分です。尚、設定はセキュリティは考慮していますので、動作確認後にそれなりのチューニングが必要です。
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { 192.168.11.0/24; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; secroots-file "/var/named/data/named.secroots"; recursing-file "/var/named/data/named.recursing"; allow-query { 192.168.11.0/24; }; forwarders { 192.168.11.1; }; /* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. - If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. - If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatly reduce such attack surface */ recursion yes; dnssec-validation no; managed-keys-directory "/var/named/dynamic"; geoip-directory "/usr/share/GeoIP"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; /* https://fedoraproject.org/wiki/Changes/CryptoPolicy */ include "/etc/crypto-policies/back-ends/bind.config"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; zone "test.local" IN { type master; file "test.local"; allow-update { none; }; }; zone "11.168.192.in-addr.arpa" IN { type master; file "test.local.rev"; allow-update { none; }; };
ゾーンファイル(正引きと逆引き)
/var/named/test.localとtest.local.rev
test.local(正引き)
test.local. 3600 IN SOA dns.test.local. ( postmaster.test.local. 2003031401 ; Serial 3600 ; Refresh 900 ; Retry 604800 ; Expire 3600 ) ; Negative cache TTL test.local. 3600 IN NS dns.test.local. ; dns.test.local. 3600 IN A 192.168.11.111 ldap.test.local. 3600 IN A 192.168.11.4
test.local.rev(逆引き)
$ORIGIN 11.168.192.in-addr.arpa. ; default TTL, see RFC2308 $TTL 3600 ; Default TTL ; ; @ entry, SOA, NS are here ; @ IN SOA dns.test.local. postmaster.test.local. ( 2024022301 ; Serial, 3600 ; Refresh 900 ; Retry 604800 ; Expire 86400 ; Negative cache TTL ) IN NS dns.test.local. ; 111 IN PTR dns.test.local. 4 IN PTR ldap.test.local.
ご参考まで