Linuxサーバーを使用してバインドを使用してDNSサーバーを設定する方法

DNS サーバー(ドメインネームシステム)を使用すると、ドメイン名から特定のIPアドレスにアクセスできます。このように、Webブラウザーのアドレスバーにドメイン名を直接入力することで、さまざまなWebサイトにアクセスできます。 また、ホームまたはプロフェッショナルローカルネットワークにDNSサーバーを設定して、プライベートIPアドレスを常に覚えていなくても、特定のドメイン名を介してローカルネットワーク上のさまざまなコンピューターにアクセスできるようにすることもできます。 今日、この記事では、DNSサーバーを構成する方法を紹介します。 Linux 最も人気があり、使用されているDNSサーバーであるBind9を使用するサーバー。

Linuxサーバーを使用してバインドを使用してDNSサーバーをセットアップする

バインドとは何ですか?

Bind、またはBerkeley Internet Name Domainとも呼ばれるソフトウェアは、DNSサーバーのタスクの実行を担当するソフトウェアです。 Bindは現在標準であり、LinuxオペレーティングシステムやUnixでも広く使用されています。したがって、LinuxまたはUnixをベースにしたサーバーがあり、ローカルネットワークからのクエリを処理するためにDNSサーバーが必要な場合、Bindはあなたが使わなければならないもの。 Bindの現在のバージョンはBind9バージョンであり、すべてのサーバーで一般的に使用されているバージョンです。以前のバージョンは安全でないと見なされ、「非推奨」であるため、使用することはお勧めしません。

Bindは、Google(8.8.8.8)、Cloudflare(1.1.1.1)などで使用できるDNSサーバーを置き換えるのではなく、それらを補完します。 ローカルネットワークのクライアントは、DNSサーバーとしてLinuxサーバーで構成するバインドサーバーを持ちます。このバインドでは、プライベートIPアドレスを介してローカルコンピューターに到達するためのさまざまなルールを構成できます。 ローカルネットワーク上のクライアントがインターネットWebサイトにDNS要求を行う場合、論理的にはDNSサーバーのデータベースにすべてのインターネットIPアドレスが含まれるわけではありません。この場合、パブリックDNSサーバーは、リクエストをバインドすると、リクエストを行ったクライアントに自動的に返されます。

Windows の DNS

現在使用されているバージョンはBind9で、以前のバージョンの問題を回避するためにゼロから作成されました。さらに、暗号化を使用してドメインにセキュリティを提供するDNSSECなどの非常に重要な機能が含まれ、さまざまな並列処理の改善も含まれています。 DNSクエリ、IPv6ネットワークの完全サポートなど。 もちろん、この最新バージョンのBindには非常に重要なセキュリティの改善があり、このようにして、以前のバージョンで発生する可能性のある攻撃から保護されます。

Bindをインストールする前の前提条件

オペレーティングシステムでBind9を使用してDNSサーバーの構成を開始する前に、サーバーに固定IPを配置することをお勧めします。そうしないと、DHCPサーバーがIPアドレスを変更した場合、ローカルネットワークのクライアントがアクセスできなくなります。サーバーDNSは、プライベートIPアドレスを「指し示していない」ためです。 固定IPを配置するには、XNUMXつの可能性があります。

  • 使用しているルーター/ファイアウォールで静的DHCPを構成し、ネットワークカードのMACアドレスと常に取得するIPアドレスを入力します。
  • Linuxサーバーを静的に構成します。この場合、ルーター/ファイアウォールのDHCPサーバーには、設定したプライベートIPアドレスの範囲外のDHCP範囲が必要です。

LinuxでIPアドレスを静的に構成するには、構成ファイル「/ etc / network / interfaces」を編集して、次のように入力する必要があります。

auto lo
iface lo inet loopback

車ens33
iface eth0 inet static
アドレス192.168.1.2
ネット255.255.255.0
192.168.1.1ゲートウェイ
DNSネームサーバ192.168.1.2

次に、変更を正しく適用するためにサービスを再起動する必要があります(現在使用しているIPを変更した場合)。

sudo service networking restart

ローカルネットワークのIPアドレスが修正されたら、Bindをインストールできます。

Linuxでのバインドインストールと起動

LinuxでDNSサーバー(バインド)を構成するために最初に行う必要があるのは、リポジトリからインストールすることです。Bind9DNSサーバーと、Debianオペレーティングシステムによって提案されたパッケージの両方をインストールします。したがって、次にコンソールに配置する必要があります。

sudo apt install bind9 bind9-doc resolvconf python-ply-doc

以前のすべてのパッケージをインストールしたら、プログラムディレクトリに移動する必要があります。ここで、必要なファイルの構成を開始する必要があります。

cd /etc/bind/

それはお勧めです rootとしてこのディレクトリにアクセスします(sudo su) ファイルのコピーまたは既存のファイルの変更時にアクセス許可の問題が拒否されないようにするため。 ここにあるすべてのファイルを一覧表示するために「ls-l」を実行すると、次のように表示されます。

ご覧のとおり、多数の異なる構成ファイルがあり、それぞれがタスクを対象としています。Bind9の公式ドキュメントで、それぞれの目的を確認できます。 これからは、制限なしでファイルを編集またはコピーするために、常にスーパーユーザーモード(root)になっていると仮定しましょう。

パブリックDNSサーバーを使用してバインドフォワーダーを構成する

最初に行うことは、転送DNSサーバー、つまり、クエリをインターネットに転送するパブリックDNSサーバーを構成することです。 このタスクを担当する構成ファイルは「named.conf.options」です。最初に行うことは、ファイルを間違って編集してすべてが機能しなくなった場合に備えて、ファイルのバックアップコピーを作成することです。

cp /etc/bind/named.conf.options /etc/bind/named.conf.options.copia

次に、次のように、フォワーダーセクションにDNSサーバーを追加してファイルを編集します。

forwarders {
8.8.8.8;
1.1.1.1;
};

次のようになります。

変更したら、Bind9サービスを再起動して、すべてが正しく機能し、エラーが返されないことを確認します。

sudo service bind9 restart

次に、それらが正しく機能しているかどうかを確認します。これを行うには、nslookupコマンドを実行し、DNSサーバーがドメインを正しく解決したことを確認します。この場合、サーバーのIPアドレスは192.168.231.130です。

インターネットWebサイトの解決をパブリックDNSに転送するようにバインドを構成したら、内部ドメインを解決するようにバインドを構成する方法を確認します。

ローカル解像度のバインドを構成する

ここで構成する必要のある構成ファイルはnamed.conf.localです。構成時に問題が発生した場合に備えて、バックアップコピーを作成することをお勧めします。これを実行するために、次の手順を実行します。

cp /etc/bind/named.conf.local /etc/bind/named.conf.local.copia

バックアップが完了したら、named.conf.local構成ファイルを編集して構成を続行する必要があります。 この構成ファイルには、参照しているゾーンと、すべての構成を含むバインド構成ファイルを配置する必要があるため、次のように残すことができます。

zone "redlocal.com" {
type master;
file "/etc/bind/db.redlocal";
};

「ファイル」は、インポートする構成ファイルを指し、今すぐ構成することが重要です。

次に、「db.local」にあるデータベースをコピーして、「」という名前を付ける必要があります。 デシベル。redlocal 前のファイルで定義した」。

cp /etc/bind/db.local /etc/bind/db.redlocal

ここで、デフォルトで多くの情報が含まれているこの構成ファイルを編集し、興味に合わせて調整します。

最初に行う必要があるのは、ローカルで選択したドメイン名(この場合は「red.redlocal.com」)で上部にあるSOAを変更することです。次に、一般的な構成ファイルを編集します。必要なドメインとサブドメインを使用します。 構成ファイルは次のようになります。

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.redlocal.com. root.red.redlocal.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;

@ IN NSns1.redlocal.com。
@ 192.168.231.130で
ns1 で 192.168.231.130
ルーターINA 10.11.1.1
1 の pc10.11.1.2

構成ファイルを保存したら、次のコマンドで構文を確認します。

named-checkzone redlocal.com /etc/bind/db.redlocal

次に、次のコマンドを使用してバインドプロセスを再開します。

sudo service bind9 restart

一連のテストを開始し、すべてが正しく行われたことを確認する準備がすべて整っています。 すべてが正常に機能することを確認するには、次のコマンドを実行する必要があります。

host router.redlocal.com

次のルーターのIPアドレスが表示されます。

root@bron-debian:/etc/bind# host router.redlocal.com
router.redlocal.com has address 10.11.1.1

PC1でも同じことができます。

host pc1.redlocal.com

これが表示されます:

root@bron-debian:/etc/bind# host pc1.redlocal.com
pc1.redlocal.com has address 10.11.1.2

ローカルドメインを正しく解決し、対応するIPアドレスを返すことができたら、ドメインを介して問題なくpingを実行できます。

root@bron-debian:/etc/bind# ping router.redlocal.com
PING router.redlocal.com (10.11.1.1) 56(84) bytes of data.
64 bytes from 10.11.1.1 (10.11.1.1): icmp_seq=1 ttl=128 time=0.413 ms
64 bytes from 10.11.1.1 (10.11.1.1): icmp_seq=2 ttl=128 time=0.401 ms
^C
--- router.redlocal.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 28ms
rtt min/avg/max/mdev = 0.401/0.407/0.413/0.006 ms

次に、ドメインの逆解決を構成します。

逆ドメイン解決

次に、ドメインを逆に解決するようにDNSサーバーを構成し、IPアドレスを入力して、そのIPアドレスが属するドメインを通知します。 私たちの目標を達成するために、 追加する必要があります 以前に使用した/etc/bind/named.conf.localファイルへの次の行:

zone "192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

また、デフォルトの構成ファイルをコピーして編集する必要があります。 db.127ファイルからdb.192を作成します。

cp /etc/bind/db.127 /etc/bind/db.192

作成したら、次の情報で編集します。

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.redlocal.com. root.red.redlocal.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.redlocal.com.
ns1 IN A 192.168.231.130
130.231.168 IN PTR redlocal.com

構成ファイルを保存したら、次のコマンドで構文を確認します。

named-checkzone 192.168.231.130 /etc/bind/db.192

次のようなものを取得する必要があります。

named-checkzone 168.192.in-addr.arpa db.192
zone 168.192.in-addr.arpa/IN: loaded serial 1
OK

次に、次のコマンドを使用してバインドプロセスを再開します。

sudo service bind9 restart

そして、それが正しく機能したことを確認します。

host 192.168.231.130

この完全なバインドチュートリアルが、独自のDNSサーバーをローカルにセットアップするのに役立つことを願っています。