以下の環境のDNSサーバを構築する。
- ドメイン名
walhalla
- DNSサーバ名(IPアドレス)
bindtest(10.0.2.3)
- 今回構築するサーバで名前解決できない場合の問い合わせ先(=上位DNSサーバ)のIPアドレス
10.0.0.1
- 不正アクセスされた場合の、他のファイルシステムへアクセス対策としてchrootする
BINDのインストール
chrootするので「bind-chroot」を同時にインストールする#yum install -y bind bind-chroot (途中省略)完了しました! #
BINDの設定
BINDの設定ファイル(/etc/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;localhost; };//他のホストからの接続に応答する為、localhostを追加 //localhostはアクセス制御リストにデフォルトでローカルホストとして設定されている。 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; };//他のホストからの接続に応答する為、localnetsを追加 //localnetsはアクセス制御リストにデフォルトでローカルネットワークとして設定されている。 recursion yes;version "Unknown"; //digコマンド等で外部からDNSサーバのバージョンを表示させない dnssec-enable yes; dnssec-validation yes; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key";//今回構築するサーバで名前解決できない場合の問い合わせ先を指定 forwarders{ 10.0.0.1; }; managed-keys-directory "/var/named/dynamic"; }; 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";include "/etc/named/named.walhalla.zone"; //walhallaドメインの定義ファイル指定
walhallaドメインの定義ファイル作成
以下の内容で/etc/named/named.walhalla.zoneを作成する。zone "walhalla" { type master; file "walhalla.db"; }; zone "10.in-addr.arpa" { type master; file "10.in-addr.arpa.db"; };パーミッションは、以下のように設定する。
#ll /etc/named/named.walhalla.zone -rw-r----- . 1root named 127 11月 20 00:30 2016 /etc/named/named.walhalla.zone #
chrootパスの確認
chrootするパスは、/etc/sysconfig/namedにROOTDIR=で指定されている。#grep ROOTDIR /etc/sysconfig/named | grep -v ^\# ROOTDIR=/var/named/chroot #
ゾーンデータベース作成
/var/named/chrootにchrootされる為、相対パスで指定したファイルは、/var/named/chroot/var/named/に保存する。 named.ca、named.empty、named.localhost、named.loopbackは、デフォルトで作成される/var/named/named.*を移動させる。#walhallaドメイン正引きゾーンデータベースを/var/named/chroot/var/named/walhalla.dbに作成する。ll /var/named/named.* /var/named/chroot/var/named/ -rw-r-----. 1 root named 3171 1月 11 23:12 2016 /var/named/named.ca -rw-r-----. 1 root named 152 12月 15 21:27 2009 /var/named/named.empty -rw-r-----. 1 root named 152 6月 21 19:09 2007 /var/named/named.localhost -rw-r-----. 1 root named 168 12月 15 21:27 2009 /var/named/named.loopback #mv -i /var/named/named.* /var/named/chroot/var/named/ #
$TTL 86400 @ IN SOA walhalla. root.walhalla.( 2016111901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS walhalla. IN MX 10 walhalla. @ IN A 10.0.2.3 * IN A 10.0.2.3 IN A 10.0.2.3 bindtest.walhalla. IN A 10.0.2.3walhallaドメイン逆引きゾーンデータベースを/var/named/chroot/var/named/10.in-addr.arpa.dbに作成する。
$TTL 86400 @ IN SOA walhalla. root.walhalla.( 2016111901 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS walhalla. 3 IN PTR walhalla. 3.2.0.10.in-addr.arpa. IN PTR bindtest.walhalla.設定ファイルが/var/named/chroot/var/named/に保存されていることを確認する。また作成したファイルが以下の権限となっていることも確認する。
- パーミッション
640
- オーナ
root
- グループ
namedk
#ll /var/named/chroot/var/named/ 合計 24-rw-r----- . 1root named 305 11月 20 00:29 2016 10.in-addr.arpa.db-rw-r----- . 1root named 3171 1月 11 23:12 2016 named.ca-rw-r----- . 1root named 152 12月 15 21:27 2009 named.empty-rw-r----- . 1root named 152 6月 21 19:09 2007 named.localhost-rw-r----- . 1root named 168 12月 15 21:27 2009 named.loopback-rw-r----- . 1root named 321 11月 20 00:28 2016 walhalla.db #
BIND起動
#/var/named/chrootにchrootされていることを確認する。service named start Generating /etc/rndc.key: [OK ] named を起動中: [OK ] #
#ps -ef | grep named | grep -v grep named 1133 1 98 22:29 ? 00:30:13 /usr/sbin/named -u named-t /var/named/chroot #
名前解決できることを確認
digコマンドをインストールする。#/etc/resolv.confでDNSクライアントの設定を行う。yum install -y bind-utils (途中省略)完了しました! #
- nameserver
DNSサーバ名
- search
名前解決時の検索リスト
nameserverwalhallaドメインの正引きできることを確認する。10.0.2.3 searchwalhalla
#walhallaドメインの逆引きできることを確認する。dig bindtest.walhalla ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> bindtest.walhalla ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44473 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;bindtest.walhalla. IN A ;; ANSWER SECTION: bindtest.walhalla. 86400 IN A10.0.2.3 ;; AUTHORITY SECTION: walhalla. 86400 IN NS walhalla. ;; ADDITIONAL SECTION: walhalla. 86400 IN A 10.0.2.3 ;; Query time: 25 msec ;; SERVER: 10.0.2.3#53(10.0.2.3) ;; WHEN: Sun Nov 20 00:37:33 2016 ;; MSG SIZE rcvd: 81 #
#名前解決時の検索リストの確認dig -x 10.0.2.3 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -x 10.0.2.3 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2600 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;3.2.0.10.in-addr.arpa. IN PTR ;; ANSWER SECTION: 3.2.0.10.in-addr.arpa. 86400 IN PTRbindtest.walhalla. ;; AUTHORITY SECTION: 10.in-addr.arpa. 86400 IN NS walhalla. ;; ADDITIONAL SECTION: walhalla. 86400 IN A 10.0.2.3 ;; Query time: 26 msec ;; SERVER: 10.0.2.3#53(10.0.2.3) ;; WHEN: Sun Nov 20 00:37:41 2016 ;; MSG SIZE rcvd: 100 #
#walhallaドメイン以外で正引き、逆引きできることを確認する。ping -c 1 bindtest PING bindtest.walhalla (10.0.2.3) 56(84) bytes of data. 64 bytes frombindtest.walhalla (10.0.2.3): icmp_seq=1 ttl=64 time=0.110 ms --- bindtest.walhalla ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 2ms rtt min/avg/max/mdev = 0.110/0.110/0.110/0.000 ms #
#dig yahoo.co.jp ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> yahoo.co.jp ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60528 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 13 ;; QUESTION SECTION: ;yahoo.co.jp. IN A ;; ANSWER SECTION: yahoo.co.jp. 88 IN A182.22.59.229 yahoo.co.jp. 88 IN A183.79.135.206 ;; AUTHORITY SECTION: jp. 172797 IN NS b.dns.jp. jp. 172797 IN NS g.dns.jp. jp. 172797 IN NS e.dns.jp. jp. 172797 IN NS a.dns.jp. jp. 172797 IN NS f.dns.jp. jp. 172797 IN NS c.dns.jp. jp. 172797 IN NS d.dns.jp. ;; ADDITIONAL SECTION: g.dns.jp. 172797 IN A 203.119.40.1 e.dns.jp. 172797 IN A 192.50.43.53 e.dns.jp. 172797 IN AAAA 2001:200:c000::35 a.dns.jp. 172797 IN A 203.119.1.1 a.dns.jp. 172797 IN AAAA 2001:dc4::1 b.dns.jp. 172797 IN A 202.12.30.131 b.dns.jp. 172797 IN AAAA 2001:dc2::1 d.dns.jp. 172797 IN A 210.138.175.244 d.dns.jp. 172797 IN AAAA 2001:240::53 c.dns.jp. 172797 IN A 156.154.100.5 c.dns.jp. 172797 IN AAAA 2001:502:ad09::5 f.dns.jp. 172797 IN A 150.100.6.8 f.dns.jp. 172797 IN AAAA 2001:2f8:0:100::153 ;; Query time: 4299 msec ;; SERVER: 10.0.2.3#53(10.0.2.3) ;; WHEN: Sun Nov 20 00:44:19 2016 ;; MSG SIZE rcvd: 457 #dig -x 182.22.59.229 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -x 182.22.59.229 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17120 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 2 ;; QUESTION SECTION: ;229.59.22.182.in-addr.arpa. IN PTR ;; ANSWER SECTION: 229.59.22.182.in-addr.arpa. 900 IN PTR f1.top.vip.ssk.yahoo.co.jp. ;; AUTHORITY SECTION: 182.in-addr.arpa. 86399 IN NS tinnie.arin.net. 182.in-addr.arpa. 86399 IN NS ns2.lacnic.net. 182.in-addr.arpa. 86399 IN NS ns4.apnic.net. 182.in-addr.arpa. 86399 IN NS ns3.apnic.net. 182.in-addr.arpa. 86399 IN NS ns1.apnic.net. 182.in-addr.arpa. 86399 IN NS apnic.authdns.ripe.net. 182.in-addr.arpa. 86399 IN NS apnic1.dnsnode.net. ;; ADDITIONAL SECTION: tinnie.arin.net. 172799 IN A 199.212.0.53 tinnie.arin.net. 172799 IN AAAA 2001:500:13::c7d4:35 ;; Query time: 1869 msec ;; SERVER: 10.0.2.3#53(10.0.2.3) ;; WHEN: Sun Nov 20 00:44:35 2016 ;; MSG SIZE rcvd: 304 #
DNSサーバのバージョンが表示されないことを確認
#dig chaos txt version.bind ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> chaos txt version.bind ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23931 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;version.bind. CH TXT ;; ANSWER SECTION: version.bind. 0 CH TXT"Unknown" ;; AUTHORITY SECTION: version.bind. 0 CH NS version.bind. ;; Query time: 2 msec ;; SERVER: 10.0.2.3#53(10.0.2.3) ;; WHEN: Tue Nov 22 01:05:39 2016 ;; MSG SIZE rcvd: 64 #
OS起動時にDNSサーバ自動起動設定
#chkconfig --list named named 0:off 1:off2:off 3:off 4:off 5:off 6:off #chkconfig named on #chkconfig --list named named 0:off 1:off2:on 3:on 4:on 5:on 6:off #
0 件のコメント :
コメントを投稿