RHEL 8 でプライベート DNS サーバーとしてバインドを設定する
ドメイン ネーム システム (DNS) は、人間が判読できるドメイン名 ( または完全修飾ドメイン名 (FQDN) ) を翻訳するために使用される方法です。 )) を機械読み取り可能な IP アドレスに変換し、インターネットなどのネットワーク内のコンピュータの位置を特定します。
コンピューターやネットワーク システムでは、FQDN は人間にとって覚えやすく使用しやすいものの、コンピューター (クライアント) は IP アドレスに基づいて他のコンピューター (サーバー) 上のリソースやサービスにアクセスするため、これが必要になります。
この点に関して、DNS サーバー (ネーム サーバーとも呼ばれます) はFQDN のディレクトリを維持し、それらを IP アドレスに変換します。 ホスト名/FQDN が指定されている場合は、IP アドレスを返すこともできます。 DNS サーバーには、権威ネーム サーバー、キャッシュ ネーム サーバーなど、さまざまな種類があります。
この記事では、BIND オープン ソース ソフトウェアを使用して、RHEL 8 にプライベート/内部の権威 DNS サーバーをインストールして構成する手順を説明します。
要件:
- 最小限のインストールを備えた RHEL 8
- RedHat サブスクリプションが有効になっている RHEL 8
- 静的 IP アドレスを使用する RHEL 8
私のテスト環境:
Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan
ステップ 1: RHEL 8 にバインド DNS をインストールする
1. サーバーに bind とそのユーティリティをインストールするには、次の cdnf コマンドを実行します。
dnf install bind bind-utils
2. 次に、とりあえず DNS サービスを開始し、システム起動時の自動開始を有効にして、systemctl コマンドを使用してサービスが稼働しているかどうかを確認します。
systemctl start named
systemctl enable named
systemctl status named
ステップ 2: RHEL 8 での BIND DNS の構成
3. バインド DNS サーバーを設定するには、まず次の cp を使用して元の設定ファイル /etc/named.conf のバックアップを作成する必要があります。指示。
cp /etc/named.conf /etc/named.conf.orig
4. 次に、/etc/named.conf 設定ファイルを開いて、次のように好みのコマンド ライン テキスト エディタを使用して編集します。
vi /etc/named.conf
options
設定セクションで、次の行をコメント アウトします。
options {
#listen-on port 53 { 127.0.0.1; };
#listen-on-v6 port 53 { ::1; };
directory "/var/named";
5. 次に、allow-query
パラメータを探し、その値をネットワークに設定します。これは、ローカル ネットワーク上のホストのみがアクセスできることを意味します。 DNSサーバーに問い合わせます。
allow-query {localhost; 192.168.56.0/24}
ステップ 3: 順方向および逆方向 DNS ゾーンの作成
フォワード ゾーンは、ホスト名 (またはFQDN) と IP アドレスの関係が保存される場所です。 ホスト名を使用して IP アドレスを返します。通常のDNSクエリは前方参照クエリであることに注意してください。一方、逆引きゾーンは、IP アドレスに基づいてホストのFQDNを返します。
6.フォワードゾーンとリバースゾーンを定義するには、/etc/named.conf<の末尾に次の行を追加します。ファイル。
//forward zone
zone "tecmint.lan" IN {
type master;
file "tecmint.lan.db";
allow-update { none; };
allow-query {any; }
};
//backward zone
zone "56.168.192.in-addr.arpa" IN {
type master;
file "tecmint.lan.rev";
allow-update { none; };
allow-query { any; }
};
上記のゾーン構成のオプションについて簡単に説明します。
- タイプ: ゾーンに対するこのサーバーの役割を定義します。値「マスター」は、ゾーン データのマスター コピーが保持される権威サーバーであることを意味します。
- ファイル: ゾーンのデータベース ファイルを指定します。
- allow-update: マスター ゾーンの動的 DNS 更新の送信を許可するホストを指定します。この場合は何もありません。
ステップ 4: フォワード DNS ゾーン ファイルの作成
7. まず、/var/named ディレクトリにフォワード ゾーン ファイルを作成します。
vi /var/named/tecmint.lan.db
そこに次の設定を追加します。
$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
2019061800 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.
;IP for Name Server
dns-primary IN A 192.168.56.100
;A Record for IP address to Hostname
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs IN A 192.168.56.20
上記のゾーン定義とパラメータについて簡単に説明します。
- TTL: RR の有効期間を指定し、$TTL ディレクティブはすべてのディレクティブにデフォルトの TTL を与えます。特定の TTL が設定されていないRR。
- @: メイン構成ファイルで定義されたドメイン名のエイリアス (例: tecmint.lan)。
- IN: インターネットを意味します。
- SOA: 権限の開始: 権限のあるネーム サーバー (dns-primary.tecmint.lan)、管理者の連絡先情報 ( admin.tecmint.lan、@ 記号はピリオドに置き換えられます) およびその他の関連情報。
- NS: ネームサーバーを意味します。
- シリアル: この値は、特定のゾーン ファイルの内容が最新であることを確認するために DNS サーバーによって使用されます。
- 更新: スレーブ DNS サーバーがマスターからのゾーン転送を実行する頻度を指定します。
- 再試行: スレーブが失敗したゾーン転送を再試行する頻度を指定します。
- 期限切れ: マスターに到達できない場合に、スレーブ サーバーがクライアントのクエリに応答するまで待機する時間を決定します。
- 最小: ゾーンの最小 TTL を設定します。
- A: ホスト アドレス。
ステップ 5: 逆引き DNS ゾーン ファイルの作成
8. 同様に、/var/named ディレクトリにリバース ゾーン ファイルを作成します。
vi /var/named/tecmint.lan.rev
次に、その中に次の行を追加します。ここで、PTR は、IP アドレスをホスト名にマッピングするために使用される A レコードの逆です。
$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
2019061800 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.
;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.
;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.
9. 次のように、ゾーン ファイルに正しい所有権権限を設定します。
chown :named /var/named/tecmint.lan.db
chown :named /var/named/tecmint.lan.rev
10. 最後に、named-checkconf ユーティリティを使用して、上記の変更を行った後、DNS 設定とゾーン ファイルの構文が正しいことを確認します (出力なしはエラーがないことを意味します)。
named-checkconf
named-checkzone tecmint.lan /var/named/tecmint.lan.db
named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev
11. 必要な構成をすべて実行したら、最近の変更を有効にするために DNS サービスを再起動する必要があります。
systemctl restart named
12. 次に、クライアントがサーバー上の DNS サービス構成にアクセスできるようにするには、次のようにシステム ファイアウォール構成に DNS サービスを追加し、firewall-cmd ユーティリティを使用してファイアウォール設定をリロードする必要があります。 :
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload
ステップ 6: クライアントからの DNS サービスのテスト
13. このセクションでは、クライアント側から DNS サービスをテストする方法を示します。クライアント マシンにログインし、上記の DNS サーバーを使用するように設定します。 Linux システムでは、お気に入りのテキスト エディタを使用してファイル /etc/resolve.conf を開きます。
vi /etc/resolve.conf
そこに次のエントリを追加します。これにより、指定されたネームサーバーを使用するようにリゾルバーに指示されます。
nameserver 192.168.56.100
ファイルを保存して閉じます。ネットワーク インターフェイス構成ファイルでも DNS サーバーを指定する必要があることに注意してください。
14. DNS サーバー IP 192.168.56.100 をリゾルバーとしてクライアント マシンのネットワーク インターフェイス構成ファイル /etc/sysconfig/network-scripts/ifcfg-enp0s3< に追加します。次の図に示すように。
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100
15. 次に、nslookup ユーティリティを使用して、www、mail、および docs< のホスト名を使用して IP をクエリします。逆も同様です。図に示すように、ネットワーク内の サーバー。
nslookup 192.168.56.5
nslookup www.tecmint.lan
nslookup 192.168.56.10
nslookup mail.tecmint.lan
nslookup 192.168.56.20
nslookup docs.tecmint.lan
nslookup 192.168.56.100
nslookup dns-primary.tecmint.lan
まとめ
この記事では、BIND ソフトウェアを使用して RHEL 8 にプライベートの権威 DNS サーバーをインストールして構成する方法を説明しました。すべてがうまくいくことを願っていますが、そうでない場合は、以下のフィードバック フォームから質問やその他のコメントをお送りください。