GNU/Linux >> Linux の 問題 >  >> Linux

DNSサーバーをセットアップするためのバインドをインストールおよび構成する方法は?

Techglimpseを定期的に読んでいる場合は、DNS、そのタイプ、仕組み、権限のあるサーバーと再帰サーバーの違いに関する以前の記事を読んだことがあるかもしれません。また、WindowsおよびLinuxマシンで構成されているDNSサーバーのIPアドレスを特定する方法と、namebenchと呼ばれるベンチマークツールを使用してさまざまなDNSサーバーの速度を分析する方法についても説明しました。今日は、LinuxベースのマシンにBindをインストールして構成する方法を紹介します。

このチュートリアルでは、バインドを使用したDNSサーバーの基本構成を示します。 Bindは、DNSサーバーのセットアップを可能にする無料のパッケージです。バインドの基本的なセットアップでは、RAMが200 MBを消費し、サーバーが本番環境に移行するとき(ゾーンを追加するとき、およびサーバーがクエリを受信するとき)にさらに構成する準備が整います。

以下のような基本的な設定を検討してください。

One machine for setting up the DNS server - I am going to call this machine as 10.180.8.115.

サンプルドメインまたはゾーン–セットアップをテストするためのTechglimpse.com(10.180.3.74)

Authoritative Name server for techglimpse.com will be called as ns1.techglimpse.com

techglimpse.comのサンプルサブドメインは、ftp、www、mailです。

バインドのダウンロードとインストール

Debianベースのマシンでは

apt-get install bind9 dnsutils

CentOs/Fedoraベースのマシンでは

yum install bind dnsutils

注:BindはDNSサーバーですが、dnsutilsには、テストとトラブルシューティングのためのdns関連のコマンドがいくつか含まれています。たとえば、掘ります。

ドメインのゾーンファイルを作成する

前に述べたように、サンプルドメインはtechglimpse.comになります。そのため、そのドメインのゾーンファイルを作成します。そのためには、ゾーンファイルを保存するディレクトリを作成しましょう。

cd /var/named
mkdir -p zones/master
cd zones/master/

注:私のバインドディレクトリは「/ var / named」ですが、これはセットアップによって変更される可能性があります。たとえば、/ etc / named、/ etc/bindなど…

次に、techglimpse.comのゾーンファイルを作成します。ゾーンの名前は「db.techglimpse.com」になります。 」には、A、MX、CNAMEなどのDNSレコードが含まれます…

vi /var/named/zones/master/db.techglimpse.com

以下のコードを貼り付けてください

;
; BIND data file for techglimpse.com
;
$TTL 3h
@ IN SOA ns1.techglimpse.com. admin.techglimpse.com. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
@ IN NS ns1.techglimpse.com.
techglimpse.com. IN MX 10 mail.techglimpse.com.
techglimpse.com. IN A 10.180.3.74
ns1 IN A 10.180.3.74
www IN CNAME techglimpse.com.
mail IN A 10.180.3.74
ftp IN CNAME techglimpse.com.

注:ゾーンを設定するには、DNSサーバーを介して解決するすべてのドメインに対して同様のゾーンファイルを作成する必要があります。上記のサンプルゾーンファイルに必要な変更を加えます。

ゾーンファイルの概要:

* SOAレコード–techglimpse.comの権威あるネームサーバーをns1.techglimpse.comと呼びます。 およびadmin.techglimpse.com DNSサーバー管理者のメールアドレスを指します。

* NSレコード:techglimpse.comには1つのネームサーバーns1.techglimpse.comがあります。通常、ドメインには高可用性のために少なくとも2つのネームサーバーがあります。デモンストレーションのために、名前を付けたネームサーバーは1つだけです。

* MX(メール交換):techglimpse.comメール交換レコード。

* CNAMEレコード:正規名。

Ok!私たちが今やったことは、名前からアドレスへのマッピングです。次に、住所から名前へのマッピングを作成しましょう。

アドレスから名前へのマッピングの設定:

ドメインが照会されたときにDNSサーバーをIPアドレスに解決するように構成しました。ここで、サーバーに逆引き参照も実行するように指示する必要があります。つまり、IPからドメインへ。

vi /var/named/zones/master/db.10.180.3

以下のコードを貼り付けてください

;
; BIND reverse data file for 3.180.10.in-addr.arpa
;
$TTL 604800
3.180.10.in-addr.arpa. IN SOA ns1.techglimpse.com. admin.techglimpse.com. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
3.180.10.in-addr.arpa. IN NS ns1.techglimpse.com.
74.3.180.10.in-addr.arpa. IN PTR techglimpse.com.

ここで、74.3.180.10は10.180.3.74の逆アドレスです。ファイル名もメモしてください。

* PTRレコード:IPアドレスをドメイン名にマッピングします。

ゾーンファイルを読み取るようにnamed.confを構成します

新しく作成されたゾーンファイルを参照するようにnamed.confを構成する必要があります。

/var/named/zones/master/db.techglimpse.com
/var/named/zones/master/db.10.180.3

私のマシンでは、 named.conf /etc/の下にあります。ただし、これはマシンによって変わる可能性があります。例:/etc/named/named.conf、/etc/bind/named.conf。

vi /etc/named.conf

以下のテキストをコピーして貼り付けます

zone "techglimpse.com" {
type master;
file "/var/named/zones/master/db.techglimpse.com";
};

ゾーン「3.180.10.in-addr.arpa」{
タイプマスター;
ファイル「/var/named/zones/master/db.10.180.3」;
};

注:実際のドメインとそのゾーンファイルの場所を反映するように必要な変更を加えます。

以下のコマンドを使用して、構成ファイルが正しいことを確認します。

named-checkconf

以下のコマンドを使用して、ゾーンファイルにエラーがないか確認します

named-checkzone

named-checkzone techglimpse.com /var/named/zones/master/db.techglimpse.com
zone techglimpse.com/IN: loaded serial 1
OK
named-checkzone 3.180.10.in-addr.arpa /var/named/zones/master/db.10.180.3
zone 3.180.10.in-addr.arpa/IN: loaded serial 1
OK

上記のコマンドがステータスOKで応答する場合は、以下の手順に進むことができます。それ以外の場合は、構成ファイルにエラーがないか再確認してください。

バインドサーバーを起動します

/etc/init.d/bind9 start

または

/etc/init.d/named start

エラーがある場合は、namedデーモンまたはbind9デーモンの起動時にエラーが表示されるはずです。

セットアップをテストします

覚えているなら、「dig」というコマンドをインストールするdnsutilsをインストールすることをお勧めします。

dig @10.180.8.115 techglimpse.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 techglimpse.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45562
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;;質問セクション:
;techglimpse.com。 IN A

;;回答セクション:
techglimpse.com。 10800 IN A 10.180.3.74

;;権限セクション:
techglimpse.com。 10800 INNSns1.techglimpse.com。

;;追加セクション:
ns1.techglimpse.com。 10800 IN A 10.180.3.74

;;クエリ時間:2ミリ秒
;;サーバー:10.180.8.115#53(10.180.8.115)
;;日時:2013年10月15日火曜日12:42:50
;; MSGサイズrcvd:83

IPからホストへの解決をテストします。

dig @10.180.8.115 -x 10.180.3.74
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 -x 10.180.3.74
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47357
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;;質問セクション:
;74.3.180.10.in-addr.arpa。 PTRで

;;回答セクション:
74.3.180.10.in-addr.arpa。 604800 INPTRtechglimpse.com。

;;権限セクション:
3.180.10.in-addr.arpa。 604800 INNSns1.techglimpse.com。

;;追加セクション:
ns1.techglimpse.com。 10800 IN A 10.180.3.74

;;クエリ時間:2ミリ秒
;;サーバー:10.180.8.115#53(10.180.8.115)
;;日時:2013年10月15日火曜日12:44:30
;; MSGサイズrcvd:105

注:最初の引数は、DNSサーバー(10.180.8.115;現在インストール済み)を使用して解決するようにdigコマンドに指示し、2番目の引数は問題のドメイン名/IPです。

それでおしまい。バインドが正常に構成されました。

また読む:DNSで再帰を有効にする必要がありますか?脆弱です!

また読む:DNSサーバーのソフトウェア名とそのバージョンを非表示にする方法は? [DNSセキュリティ]

また読む:BIND DNSサーバーのログを有効にしてクエリを監視し、トラブルシューティングを行う方法


Linux
  1. Debian9にSimpleDNS(BIND)サーバーをインストールして設定する方法

  2. Linux NTP サーバーとクライアントをインストールして構成する方法

  3. CentOS / RHEL 5 :vsftpd サーバーをインストールして構成する方法

  1. OpenVPNアクセスサーバーをインストールして構成する方法

  2. WindowsServerにMySQLをインストールして構成する方法

  3. CentOS/RHEL 7 で Kerberos をインストールして構成する方法

  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu / DebianにDNSサーバー(バインド9)をインストールして構成する方法

  3. ProxmoxVEでNFSサーバーをセットアップしてNFSストレージを構成する方法