編集済み 3 数週間前 によって ExtremeHow 編集チーム
ディストリビューション型オペレーティングシステムDNSバインドネットワーキングサーバー設定リナックスオープンソースシステム管理コマンドラインインターフェースIT
翻訳が更新されました 3 数週間前
DNSは、ドメインネームシステムの略であり、インターネットの電話帳と呼ばれることがあります。人間が読みやすいドメイン名(例: www.example.com)をコンピュータがネットワーク上でお互いを識別するために使用するIPアドレス(例: 192.0.2.1)に変換します。BINDは、Berkeley Internet Name Domainの略で、最も広く使用されているDNSサーバーの1つであり、特にDebianのようなUnix系システムで顕著に使用されます。
このガイドでは、DebianベースのシステムにBIND DNSサーバーをインストールして構成するために必要な手順を説明します。インストールプロセス、基本設定、および信頼性のあるDNSサーバーを設定するために必要な基本的なタスクについて説明します。
DebianサーバーにBINDをインストールする前に必要なものは次のとおりです:
BINDはDebianのデフォルトリポジトリにあるため、パッケージマネージャーのaptを使用してインストールできます。以下の手順に従ってBINDをシステムにインストールしてください。
sudo apt update
sudo apt install bind9 bind9utils bind9-doc -y
bind9utils
パッケージには、DNSサーバーと対話するための便利なコマンドラインユーティリティが含まれており、bind9-doc
には役立つドキュメントが含まれています。
BINDを正常にインストールしたら、DNSサーバーとして動作するように設定する必要があります。BINDの設定ファイルは通常、/etc/bind
ディレクトリにあります。
named.conf.options
ファイルにはグローバルなDNSオプションが含まれています。テキストエディタを使用してこのファイルを開きます:
sudo nano /etc/bind/named.conf.options
このファイル内にはoptionsというセクションがあります。options { }
ブロック内でいくつかの重要な設定を定義する必要があります:
any
を使用してすべてのインターフェースを指定します。any
を使用できます。以下は設定例です:
options { directory "/var/cache/bind"; forwarders { 8.8.8.8; 8.8.4.4; }; listen-on-v6 { any; }; allow-query { any; }; };
ドメインネームシステムでは、ゾーンはDNSデータベースのサブセットです。典型的なBINDセットアップでは、管理または提供したいゾーンを定義します。これらはnamed.conf.local
ファイルに定義します。
named.conf.local
ファイルを開きます:
sudo nano /etc/bind/named.conf.local
このファイルで、フォワードルックアップゾーン(名前からIPへの変換)とリバースルックアップゾーン(IPから名前への変換)を設定します。以下はその例です:
zone "example.com" { type master; file "/etc/bind/zones/db.example.com"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/db.192"; };
この設定では:
example.com
は、そのドメインのDNSレコードを保存します。1.168.192.in-addr.arpa
は、192.168.1.xxx範囲のIPアドレスをドメイン名に変換します。設定ファイルでゾーンをセットアップしたら、ゾーンファイルに実際のDNSレコードを作成します。
ゾーンファイル用のディレクトリを作成します:
sudo mkdir /etc/bind/zones
次に、フォワードルックアップゾーン用のゾーンファイルを作成します:
sudo nano /etc/bind/zones/db.example.com
以下はフォワードルックアップゾーンファイルの例です。ドメインとIPの設定に応じて詳細を調整します:
$TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. ns1 IN A 192.168.1.1 www IN A 192.168.1.2 ;
次に、リバースルックアップ用のゾーンファイルを作成します:
sudo nano /etc/bind/zones/db.192
以下はリバースルックアップゾーンの構成例です:
$TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. 1 IN PTR ns1.example.com. 2 IN PTR www.example.com.
構成を修正し、ゾーンファイルを作成した後、BINDサーバーを再起動する前に構文が正しいことを確認することが重要です:
sudo named-checkconf
ゾーンファイルも確認します:
sudo named-checkzone example.com /etc/bind/zones/db.example.com
上記のコマンドがエラーメッセージを返さない場合、構成ファイルは正しくセットアップされています。
構成が完了したら、BINDサービスを開始し、システムが再起動するたびに実行されるようにします:
sudo systemctl restart bind9
sudo systemctl enable bind9
最後に、DNSサーバーがクエリを正しく解決することを確認するためにテストします。dig
コマンドを使用してDNSサーバーにクエリを実行します。サーバーのIPアドレスまたは「localhost」をサーバーとして指定してください:
dig @localhost example.com
このコマンドは、設定されたドメインのAレコードを返すはずです。また、リバースルックアップもテストできます:
dig @localhost -x 192.168.1.1
これらの手順に従って、Debianベースのシステムに機能するBIND DNSサーバーをインストールおよび構成しました。このサーバーは、構成したドメインやIPアドレスに対してDNSクエリを解決し、提供することができます。
覚えておいてください、BIND DNSサーバーは、キャッシュ戦略、アクセス制御、大規模展開のためのより複雑なゾーン設定など、より高度な構成を含めるように拡張することができます。
記事の内容に誤りがある場合, あなたは