今日はDebian11でバインドを設定する方法を学びます。インターネットの世界はDNSサービスなしでは不可能です。 Linuxの場合、そのDNSジョブにバインドします。では、バインドまたはDNSとは何ですか?その基本的な役割は、特定のドメイン名に特定のIPアドレスをパッチすることです。インターネットでウェブサイトを探している場合は、ドメイン名をIPアドレスに、またはその逆に解決します。通常、53はDNSサービスのポート番号です。そのサービスを段階的に構成する方法を見てみましょう。
サーバーに必要なパッケージをインストールします。
前提条件
私はDebian11を持っています 4 GB RAMを備えた仮想マシン および40Gのストレージ 。私の例のバインドドメイン名はrajneeshunix.comです。
まず、Debianサーバーを更新する必要があります。
# apt update
サーバーのIPアドレスを確認してください。
# hostname -I 192.168.135.132
サーバーのホスト名を変更します。
# echo 'rajneeshunix.com' > /etc/hostname
システムを再起動し、ホスト名を確認します。

/ etc/hostsファイルでドメイン名を定義します。

必要なパッケージをインストールします。
# apt-get install bind9 bind9utils bind9-doc dnsutils

再起動時に利用可能なBINDサーバーを有効にします。
# systemctl enable bind9
ファイアウォールでポート53を許可します。
# ufw allow 53
サービスステータスを確認してください。
# systemctl status bind9
confファイルでサーバーパラメータを定義します。
BINDマスターサーバーの場合、順方向と逆方向の両方の構成ファイル構成が必要です。
/ etc / bindで使用できるファイルと、構成する必要のあるファイルを見てみましょう。
# cd /etc/bind && ls

2つのファイルnamed.conf およびnamed.conf.local 、/ etc/bindディレクトリに表示されます。ローカルバインドサーバーの場合、named.conf.localファイルを編集して使用します それだけ。
# vim /etc/bind/named.conf.local
フォワードゾーンを定義します。フォワードゾーンのゾーンファイルは/etc/bind/forward.rajneeshunix.com.dbになります。
zone "rajneeshunix.com" IN { type master; file "https://1118798822.rsc.cdn77.org/etc/bind/forward.rajneeshunix.com.db"; allow-update { none; }; };
逆引きゾーンを定義します。逆引きゾーンの構成ファイルは/etc/bind/reverse.rajneeshunix.com.dbになります。
zone "135.168.192.in-addr.arpa" IN { type master; file "https://1118798822.rsc.cdn77.org/etc/bind/reverse.rajneeshunix.com.db"; allow-update { none; }; };

ゾーンファイルを順方向および逆方向として構成します。
前の手順では、順方向ゾーンと逆方向ゾーンのゾーンファイルを定義しました。まず、フォワードゾーンを設定しましょう。転送ゾーンファイルの例を定義済みのファイル名にコピーします。
# cp db.local forward.rajneeshunix.com.db
構成ファイルを編集します。
# vim forward.rajneeshunix.com.db
構成ファイルは次のようになります。
GNU nano 5.4 forward.rajneeshunix.com.db ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA rajneeshunix.com. root.rajneeshunix.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL @ IN NS rajneeshunix.com. @ IN A 192.168.135.132 ns1 IN A 192.168.135.132 mail IN A 192.168.135.132 www IN A 192.168.135.132
confファイルにエラーがないか確認してください。
# named-checkzone rajneeshunix.com forward.rajneeshunix.com.db
出力は次のようになります。

逆引きゾーンを構成しましょう。同様の方法で、サンプルファイル「db.127」を定義済みのリバースゾーンファイルにコピーします。
# cp db.127 reverse.rajneeshunix.com.db
必要な設定に従ってファイルを編集します。
# vim db.127 reverse.rajneeshunix.com.db
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns1.rajneeshunix.com. root.ns1.rajneeshunix.com. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.rajneeshunix.com. ns1 IN A 192.168.135.132 132 IN PTR ns1.rajneeshunix.com.
ゾーンファイルが正しいかどうかを確認してください。
# named-checkzone 135.168.192-in.addr.arpa reverse.rajneeshunix.com.db
すべての設定は、要件に従って行われます。
BIND/DNSサービスをテストします。
ローカルエリアネットワークのバインドを構成しました。サーバーIP(192.168.135.132)アドレスもLANDNSとして定義する必要があります。これを行わないと、問題が発生する可能性があります。

nslookupコマンドを使用して、バインドサービスを確認します。
# nslookup rajneeshunix.com
Server: 192.168.135.132 Address: 192.168.135.132#53 Name: rajneeshunix.com Address: 192.168.135.132

digコマンドを使用する
# dig rajneeshunix.com
Digクエリは、回答セクションに表示されるように解決されました。解決されていない場合、コマンドは「0」として回答を返します。

IPアドレスを使用してdigコマンドを使用します。
# dig -x 192.168.135.132
出力は、逆引きゾーンに基づいてクエリを解決します。ご覧ください。

+ shortでdigコマンドを使用します 簡単な情報を入手するオプション。
# dig -x 192.168.135.132 +short
出力
ns1.rajneeshunix.com.
ドメイン名の場合。
# dig rajneeshunix.com +short
出力
192.168.135.132

「任意」のオプションを使用してすべての情報を解決します。
# dig any rajneeshunix.com

telnetコマンドを使用してバインドサーバーをテストします。
# telnet 192.168.135.132 53
出力
Trying 192.168.135.132... Connected to 192.168.135.132. Escape character is '^]'. ^] telnet>
ドメイン名でtelnetを使用します。
# telnet rajneeshunix.com 53
出力
Trying 192.168.135.132... Connected to rajneeshunix.com. Escape character is '^]'. ^] telnet>

hostコマンドを使用してバインドサービスをテストします。
ドメイン名を確認してください。
# host rajneeshunix.com
IPアドレスでhostコマンドを使用します。
# host 192.168.135.132
-lオプションとドメイン名を指定してhostコマンドを使用します。
# host -l rajneeshunix.com

結論
バインド構成が正常にデプロイされました。覚えておくべきことがいくつかあります:
- ネットワークDNSIPアドレスはバインドサーバーと同じである必要があります。
- ファイアウォールでポート53を許可します。
- rootにsshを許可します。
- 「A」レコードを適切に定義してください。そうしないと、構成エラーが表示される場合があります。
乞うご期待。