いらっしゃいませ
ここでは、BINDを使ったLAN内用DNSの構築手順について掲載してあります。
非固定IPの場合、外部向けのDNSを立てることができないので、今回はLAN内でのみ参照をするDNSサーバを構築します。
尚、説明で使用しているドメイン"mhserv.mydns.jp"やネットワークアドレス"192.168.10"は各自の環境に合わせて変更してください。
DNSとは…?
ブラウザで「http://183.79.135.206/」に接続すると、一体どこに繋がるでしょうか?
試してみると分かりますが、これはyahoo!Japanのトップページに繋がります。しかし、これでは覚えづらい、分かりづらい、どこに繋がるか分からず不安、と良い事なしですよね。
そこで、「http://www.yahoo.co.jp/」なんてURL(ドメイン)を付けてやります。このURLを見れば、どこに繋がるかだいたい分かりますね。
このように、IPアドレスとドメインを相互変換するシステムのことをDNS(Domain Name System)といいます。
BINDとは…?
Berkeley Internet Name Domainの略で、世界で最も普及しているDNSサーバです。
BINDのインストール
BINDと関連のパッケージをインストールします。
[root@sl ~]# yum -y install bind caching-nameserver
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* sl: ftp.riken.jp
* sl-security: ftp.riken.jp
* sl6x: ftp.riken.jp
* sl6x-security: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package bind.x86_64 32:9.8.2-0.68.rc1.el6_10.1 will be インストール
--> 依存性の処理をしています: bind-libs = 32:9.8.2-0.68.rc1.el6_10.1 のパッケー ジ: 32:bind-9.8.2-0.68.rc1.e
l6_10.1.x86_64
--> 依存性の処理をしています: portreserve のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
--> 依存性の処理をしています: libbind9.so.80()(64bit) のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
--> 依存性の処理をしています: libdns.so.81()(64bit) のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
--> 依存性の処理をしています: libisc.so.83()(64bit) のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
--> 依存性の処理をしています: libisccc.so.80()(64bit) のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
--> 依存性の処理をしています: libisccfg.so.82()(64bit) のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
--> 依存性の処理をしています: liblwres.so.80()(64bit) のパッケージ: 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64
---> Package bind-libs.x86_64 32:9.8.2-0.68.rc1.el6_10.1 will be インストール
---> Package portreserve.x86_64 0:0.0.4-11.el6 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
================================================================================
インストールしています:
bind x86_64 32:9.8.2-0.68.rc1.el6_10.1 sl-security 4.0 M
依存性関連でのインストールをします。:
bind-libs x86_64 32:9.8.2-0.68.rc1.el6_10.1 sl-security 891 k
portreserve x86_64 0.0.4-11.el6 sl 22 k
トランザクションの要約
================================================================================
インストール 3 パッケージ
総ダウンロード容量: 5.0 M
インストール済み容量: 9.6 M
パッケージをダウンロードしています:
(1/3): bind-9.8.2-0.68.rc1.el6_10.1.x86_64.rpm | 4.0 MB 00:01
(2/3): bind-libs-9.8.2-0.68.rc1.el6_10.1.x86_64.rpm | 891 kB 00:00
(3/3): portreserve-0.0.4-11.el6.x86_64.rpm | 22 kB 00:00
--------------------------------------------------------------------------------
合計 2.7 MB/s | 5.0 MB 00:01
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : 32:bind-libs-9.8.2-0.68.rc1.el6_10.1.x86_64 1/3
インストールしています : portreserve-0.0.4-11.el6.x86_64 2/3
インストールしています : 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64 3/3
Verifying : portreserve-0.0.4-11.el6.x86_64 1/3
Verifying : 32:bind-libs-9.8.2-0.68.rc1.el6_10.1.x86_64 2/3
Verifying : 32:bind-9.8.2-0.68.rc1.el6_10.1.x86_64 3/3
インストール:
bind.x86_64 32:9.8.2-0.68.rc1.el6_10.1
依存性関連をインストールしました:
bind-libs.x86_64 32:9.8.2-0.68.rc1.el6_10.1 portreserve.x86_64 0:0.0.4-11.el6
完了しました!
BINDの設定
[root@sl ~]# vi /etc/named.conf
options { # listen-on port 53 { 127.0.0.1; }; # 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"; allow-query { localhost; localnets; }; # 追記ここから allow-recursion { localhost; localnets; }; allow-transfer { localhost; localnets; }; forwarders { 192.168.10.1;(ルータのアドレス) }; version "unknown"; # 追記ここまで dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view "internal" { zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; # 追記ここから match-clients { localnets; }; match-destinations { localnets; }; recursion yes; include "/var/named/named.mhserv.mydns.jp(取得したドメイン).zone"; # 追記ここまで };
LAN内向けゾーン定義ファイルの作成
BINDが参照するLAN内でのゾーン定義ファイルを作成し、以下を入力します。
[root@sl ~]# vi /var/named/named.mhserv.mydns.jp.zone
zone "mhserv.mydns.jp" {
type master;
file "mhserv.mydns.jp.db";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "10.168.192.in-addr.arpa.db";
};
LAN内向け正引きゾーンDBの作成
ドメインからIPアドレスを参照する正引きゾーンの一覧を作成します。
ドメインの後ろにピリオド"."が付くので、忘れずに記入してください。
設定の内容についての詳しい説明はWebOS Goodies様の記事がとても参考になります。
[root@sl ~]# vi /var/named/mhserv.mydns.jp.db
$TTL 86400 @ IN SOA testmhs.mydns.jp. root.mhserv.mydns.jp.( 2018122401 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS mhserv.mydns.jp. IN MX 10 mhserv.mydns.jp. @ IN A 192.168.10.111 * IN A 192.168.10.111
LAN内向け逆引きゾーンDBの作成
続いて、IPアドレスからドメインを参照する逆引きゾーンの一覧を作成します。
こちらもドメインの後ろにピリオド"."が付くので、忘れずに記入してください。
[root@sl ~]# vi /var/named/10.168.192.in-addr.arpa.db
$TTL 86400 @ IN SOA testmhs.mydns.jp. root.mhserv.mydns.jp.( 2018122401 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS mhserv.mydns.jp. 111 IN PTR mhserv.mydns.jp.
BINDの起動
設定が終わったら、BINDを起動します。
[root@sl ~]# /etc/rc.d/init.d/named start
named を起動中: [ OK ]
[root@sl ~]# chkconfig named on
[root@sl ~]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
サーバ機のDNSを変更
サーバのDNSを自分自身を参照するように変更します。
[root@sl ~]# sed -i 's/DNS1=.*/DNS1=127.0.0.1/g' /etc/sysconfig/network-scripts/ifcfg-eth0
[root@sl ~]# /etc/rc.d/init.d/network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
設定ができているかどうか確認しましょう。
[root@sl ~]# yum -y install bind-utils
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* sl: ftp.riken.jp
* sl-security: ftp.riken.jp
* sl6x: ftp.riken.jp
* sl6x-security: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package bind-utils.x86_64 32:9.8.2-0.68.rc1.el6_10.1 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
================================================================================
インストールしています:
bind-utils x86_64 32:9.8.2-0.68.rc1.el6_10.1 sl-security 188 k
トランザクションの要約
================================================================================
インストール 1 パッケージ
総ダウンロード容量: 188 k
インストール済み容量: 440 k
パッケージをダウンロードしています:
bind-utils-9.8.2-0.68.rc1.el6_10.1.x86_64.rpm | 188 kB 00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : 32:bind-utils-9.8.2-0.68.rc1.el6_10.1.x86_64 1/1
Verifying : 32:bind-utils-9.8.2-0.68.rc1.el6_10.1.x86_64 1/1
インストール:
bind-utils.x86_64 32:9.8.2-0.68.rc1.el6_10.1
完了しました!
まずは正引きから。
[root@sl ~]# dig mhserv.mydns.jp
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> mhserv.mydns.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63902
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;mhserv.mydns.jp. IN A
;; ANSWER SECTION:
mhserv.mydns.jp. 86400 IN A 192.168.10.111
;; AUTHORITY SECTION:
mhserv.mydns.jp. 86400 IN NS mhserv.mydns.jp.
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Dec 24 13:32:11 2018
;; MSG SIZE rcvd: 64
続いて逆引きです。
[root@sl ~]# dig -x 192.168.10.111
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> -x 192.168.10.111
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64192
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;111.10.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
111.10.168.192.in-addr.arpa. 86400 IN PTR mhserv.mydns.jp.
;; AUTHORITY SECTION:
10.168.192.in-addr.arpa. 86400 IN NS mhserv.mydns.jp.
;; ADDITIONAL SECTION:
mhserv.mydns.jp. 86400 IN A 192.168.10.111
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Dec 24 13:31:57 2018
;; MSG SIZE rcvd: 105
それぞれ、設定したIPアドレスとホスト名が表示されればOKです。
WindowsでのDNSの設定
Windows機でネットワークインターフェースにDNSの設定を行います。
動作確認
DNSサーバを設定したWindows機で、IPアドレスやドメインが引けるかを確認します。
参考にしたサイト様
今回新しく登場したコマンド
- dig
[広告]
トップページ
Scientific Linux 6
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○NTPサーバ
○Dynamic DNS
○DNSサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○ブログシステム
○その他