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

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

DNS またはドメインネームシステム 、私たちが知っているように、ユーザーフレンドリーなドメインをコンピューターフレンドリーなIPアドレスに変換するために使用されるインターネットサービスです。ドメイン名をIPアドレスに変換できるだけでなく、逆変換、つまりIPアドレスからドメイン名への変換も実行できます。このチュートリアルでは、 BIND9 を実装して、プライベートDNSサーバーをセットアップする方法を学習します。 Ubuntu/Debianシステムで。

BINDまたはBIND9は、DNSのオープンソース実装であり、ほとんどすべてのLinuxディストリビューションで利用できます。 BINDはBerkeleyInternet Name Domainの略です &これにより、インターネット上でDNS情報を公開できるだけでなく、ユーザーのDNSクエリを解決することもできます。 BINDは、インターネット上で群を抜いて最も使用されているDNSソフトウェアです。このチュートリアルでは、以下を使用します:

  • バインドサーバーIP(Ubuntu / Debian)=192.168.0.40
  • ドメイン名=linuxtechi.local
  • プライベートネットワーク=192.168.0.0/24

それでは、BIND9のパッケージへのインストールからチュートリアルを始めましょう…。

Debian / UbuntuシステムへのBind9のインストール:

BIND 9および関連ツールをインストールするには、「bind9bind9utilsbind9-docdnsutils」をインストールする必要があります。ターミナルを開き、次のコマンドを実行します。

[email protected]:~$ sudo apt-get install bind9 bind9utils bind9-doc dnsutils

Debian / Ubuntuシステムでのバインド9の構成:

すべてのパッケージがインストールされたら、構成部分に移動します。 BINDのすべての構成ファイルは、フォルダー「/ etc/bind」にあります。

bindの重要な構成ファイルの1つは、「 /etc/bind/named.conf.options」です。 「、このファイルから、次のパラメータを設定できます:

  • プライベートネットワークからDNSへのクエリを許可する(名前が示すように、プライベートネットワークからのシステムのみがDNSサーバーに名前からIPへの変換をクエリできます。その逆も可能です)
  • 再帰クエリを許可する
  • DNSポートを指定します(53)
  • フォワーダー(ローカルDNSサーバーがクエリを解決できない場合、DNSクエリはフォワーダーに転送されます)

プライベートネットワークの設定に従って、次のパラメータを指定しました:

[email protected]:~$ sudo vi /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
     // listen-on-v6 { any; };
        listen-on port 53 { localhost; 192.168.0.0/24; };
        allow-query { localhost; 192.168.0.0/24; };
        forwarders { 8.8.8.8; };
        recursion yes;
        };

次の重要な構成ファイルは「/etc/bind/named.conf.local」です。 「このファイルでは、ドメインのゾーンファイルを定義し、ファイルを編集して次のエントリを追加します。

[email protected]:~$ cd /etc/bind
[email protected]:~$ sudo vi named.conf.local
zone    "linuxtechi.local"   {
        type master;
        file    "/etc/bind/forward.linuxtechi.local";
 };

zone   "0.168.192.in-addr.arpa"        {
       type master;
       file    "/etc/bind/reverse.linuxtechi.local";
 };

ファイルを保存して終了します。ここでは、順方向ルックアップゾーンファイルと逆引き参照ゾーンファイルの場所について説明しました。次に、前述の順方向および逆方向のゾーンファイルを作成します。

まず、前方参照ゾーンファイルを作成します。サンプルゾーンファイル(db.local)は、「 / etc/bindフォルダー」に既に存在します。 ‘、サンプルゾーンファイルを使用してコピーできます。

[email protected]:/etc/bind$ sudo cp db.local forward.linuxtechi.local
[email protected]:/etc/bind$ sudo vi forward.linuxtechi.local
$TTL    604800

@       IN      SOA     primary.linuxtechi.local. root.primary.linuxtechi.local. (
                              6         ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

;Name Server Information
@       IN      NS      primary.linuxtechi.local.

;IP address of Your Domain Name Server(DNS)
primary IN       A      192.168.0.40

;Mail Server MX (Mail exchanger) Record
linuxtechi.local. IN  MX  10  mail.linuxtechi.local.

;A Record for Host names
www     IN       A       192.168.0.50
mail    IN       A       192.168.0.60

;CNAME Record
ftp     IN      CNAME    www.linuxtechi.local.

前方参照ファイルは次のようになります。

ここでは、DNSサーバーに関する情報を追加し、いくつかのサーバーのAレコード、メールサーバーのレコードとCNAMEレコードも追加しました。 ftpサーバー用。ネットワークに合わせてこのファイルを編集してください。

次に、同じ場所に逆引き参照ゾーンファイルを作成します。サンプルの逆引き参照ゾーンファイルは「 / etc / bind」にあります。 ‘フォルダ。

[email protected]:/etc/bind$ sudo cp db.127 reverse.linuxtechi.local
[email protected]:~$ sudo vi /etc/bind/reverse.linuxtechi.local
$TTL    604800
@       IN      SOA     linuxtechi.local. root.linuxtechi.local. (
                             21         ; Serial
                         604820         ; Refresh
                          864500        ; Retry
                        2419270         ; Expire
                         604880 )       ; Negative Cache TTL

;Your Name Server Info
@       IN      NS      primary.linuxtechi.local.
primary IN      A       192.168.0.40

;Reverse Lookup for Your DNS Server
40      IN      PTR     primary.linuxtechi.local.

;PTR Record IP address to HostName
50      IN      PTR     www.linuxtechi.local.
60      IN      PTR     mail.linuxtechi.local.

逆引きゾーンルックアップファイルは次のようになります。

ファイルを保存して終了します。これで、BINDサービスを再起動して、加えられた変更を実装するだけです。

[email protected]:~$ sudo systemctl restart bind9
[email protected]:~$ sudo systemctl enable bind9

注:- バインドサーバーでOSファイアウォールが実行されている場合は、以下のコマンドを実行して53ポートを許可します

[email protected]:~$ sudo ufw allow 53
Rule added
Rule added (v6)
[email protected]:~$

bind9構成とゾーンファイルの構文の検証

bind 9構成ファイル(named.conf.local)の構文を相互検証する場合。コマンド「named-checkconf」を使用します 「、例を以下に示します:

[email protected]:~$ sudo named-checkconf /etc/bind/named.conf.local
[email protected]:~$

バインド構成ファイルに構文エラーがない場合は、エラーを表示せずにシェルに戻る必要があります。

順方向および逆引きのゾーンファイルの構文を相互検証するには、コマンド「 named-checkzone」を使用します。 「、例を以下に示します:

[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/forward.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 6
OK
[email protected]:~$
[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/reverse.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 21
OK
[email protected]:~$

dig&nslookupを使用したDNSサーバーのテスト

BIND 9 DNSサーバーをテストするために、別のUbuntuマシンを使用し、そのDNSを変更してDNSサーバーを指定します。 DNSサーバーを変更するには、「 /etc/resol.conf」を開きます ‘&次のDNSエントリを作成します

[email protected]:~$ sudo vi /etc/resolv.conf
search linuxtechi.local
nameserver 192.168.0.40

ファイルを保存して終了します。これで、サーバーを指すDNSを使用してクライアントの準備が整いました。次に、「 dig」というCLIツールを使用します。 ‘コマンド。DNSとその関連情報を取得するために使用されます。ターミナルから次のコマンドを実行します

[email protected]:~$ dig primary.linuxtechi.local

&コマンドから次の出力を取得する必要があります

この出力は、DNSが正常に機能していることを示しています。

逆引きクエリ(PTR)を実行しましょう:

[email protected]:~$ dig -x 192.168.0.40

コマンドの出力は次のようになります。

また、「 nslookup」を実行することもできます ‘DNSサーバーに対してコマンドを実行して、digコマンドの出力を確認します。

[email protected]:~$ nslookup primary.linuxtechi.local

&次の出力が生成されるはずです

注:- digコマンドの実行中に「コマンドが見つかりません」というエラーが発生した場合は、digコマンドが「dnsutils」パッケージの一部であるため、「dnsutils」パッケージをインストールする必要があります。

[email protected]:~$ sudo apt-get install dnsutils -y

サーバーが正常に機能しているので、要件に応じて適切なレコードを作成することにより、メールサーバー、ftpサーバー、Webサーバーなどの他のサーバーをDNSサーバー構成ファイルに追加できます。また、このチュートリアルではローカルDNSサーバーのみをセットアップしました。パブリックDNSをセットアップする必要がある場合は、パブリックDNSサーバーをセットアップする必要があります。

これで、BIND9を使用してUbuntu/DebianにDNSサーバーをインストールおよび構成する方法に関するチュートリアルを終了します。貴重なフィードバック/クエリをお送りください。すべてに対応させていただきます。

また読む Debian/UbuntuにWebminをインストールして設定する方法


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

  2. UbuntuにRedisサーバーをインストールして構成する方法

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

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

  2. Ubuntu20.04にVNCをインストールして構成する方法

  3. Ubuntu18.04にVNCをインストールして構成する方法

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

  2. Ubuntu20.04にFail2banをインストールして構成する方法

  3. Debian 9 /Ubuntu16.04サーバーにForeman1.16をインストールして設定する方法