①rootユーザーになり、「dnf -y bind bind-utils」と入力。
②保存し、インストールされました。
③続いて「systemctl start named」と入力して、サービスをスタートします。
④「systemctl enable named」として、自動起動するようにします。
④「firewall-cmd --permanent --add-service=dns --zone=FedoraWorkstation」と入力。ファイヤーウォールにサービスの許可を与えます。
vi /etc/named.conf
または
cd /etc
vi named.conf
// // 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 { 127.0.0.1;}; ↓ 書き換える listen-on port 53 { 127.0.0.1; 192.168.0/24; }; listen-on-v6 port 53 { none; }; 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"; allow-query { localhost;}; ↓ 書き換える allow-query { localhost; 192.168.0/24;}; forwarders { 192.168.0.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-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; # 以下より全行変更 view "internal" { match-clients { localhost; 192.168.0/24; }; zone "." IN { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "localhost.rev"; }; zone "example.jp" IN { type master; file "example.jp.db"; allow-update { none; }; }; zone "0.168.192.in-addr.arpa" IN { type master; file "0.168.192.in-addr.arpa.db"; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; };
ゾーンファイルの編集するにあたって、ちょっとした近道の方法を紹介します。
①まず、/var/namedに移動し、「vi localhost.rev」と入力します。
②なにも記述されていないファイルが表示されます。
ここで「i」とタイプし、入力可の状態にしておきます。
③ホームページ上の「localhost.rev」の全文を選択し、コピーし
そのまま、コマンドプロンプトの先頭の所で、マウスを右クリックするとこんな画面が出ます。
ここで「OK」ボタンを押す。
④このようにコピーアンドペーストできました。多少手直しが必要であれば、インサート状態のまま編集した後保存して閉じます。
エスケープキー(Esc)を入力し入力モードをぬける。「:wq」と入力。
# vi /var/named/localhost.rev
$ORIGIN 0.0.127.in-addr.arpa. $TTL 86400 ;1days @ IN SOA example.jp. root.webserver.example.jp. ( 2020091702 ; serial 28800 ; refresh,8h 7200 ; retry,2h 3600000 ; expire,1000h 10800 ; negative,3h ) IN NS webserver.example.jp. 1 IN PTR localhost.
⑥#vi /var/named/example.jp.db
$TTL 86400 @ IN SOA example.jp. root.webserver.example.jp. ( 2019080250 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum ) IN NS webserver.example.jp. IN A 192.168.0.8 host1 IN A 192.168.0.3 host2 IN A 192.168.0.4 webserver IN A 192.168.0.8
⑦# vi /var/named/0.168.192.in-addr.arpa.db」
$TTL 86400 @ IN SOA example.jp. root.example.jp. ( 2019080290 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS webserver.example.jp. IN PTR example.jp. 3 IN PTR host1.example.jp. 4 IN PTR host2.example.jp. 8 IN PTR webserver.example.jp.
[root@webserver named]# named-checkconf [root@webserver named]# → 何も表示されないがエラーはでませんでした。
[root@webserver named]# named-checkzone 0.0.127.in-addr.arpa localhost.rev zone 0.0.127.in-addr.arpa/IN: loaded serial 2020091702 OK [root@webserver named]# [root@webserver named]# named-checkzone example.jp.dv zone example.jp/IN: loaded serial 2020080250 OK [root@webserver named]# [root@webserver named]# named-checkzone 0.168.192.in-addr.arpa 0.168.192.in-addr.arpa.db zone 0.168.192.in-addr.arpa/IN: loaded serial 2020080290 OK [root@webserver named]#
ところで、私たちは、実際にインターネットを利用するとき、IPアドレスの代わりに「ホスト名+ドメイン名」すなわち「URL」を使っています。それなのになぜ通信ができるかというと、DNSサーバーが活躍して、IPアドレレスに翻訳してくれるからです。
これから取り上げるDNSサーバーは、自宅LANにのみ機能するDNSサーバーを構築しようとするものです。