BINDは、「バークレーインターネットネームドメイン」としても知られ、今日最も人気のあるドメインネームシステム(DNS)の1つです。これはオープンソースであり、LinuxオペレーティングシステムでDNSサービスを提供します。一般に、完全修飾ドメイン名をIPアドレスに解決するか、IPアドレスをドメイン名に解決するのに役立ちます。信頼できるネームサーバーとして使用でき、負荷分散、動的更新、分割DNSなどのいくつかの機能を提供します。
このチュートリアルでは、CentOS 8でBINDを使用してプライベートDNSサーバーをセットアップする方法を示します。関連するメモとして、Debian 9での単純なDNS(BIND)サーバーのインストールと構成に関するチュートリアルをご覧ください。
- CentOS 8 VPS(SSD 2 VPSプランを使用します)
- rootユーザーアカウントへのアクセス(またはroot権限を持つ管理者アカウントへのアクセス)
このチュートリアルでは、次の設定を使用します。
ホスト名: ns1.rosehosting.local
IPアドレス: 192.168.1.100
ローカルネットワーク: 192.168.1.0/24
ステップ1:サーバーにログインしてサーバーOSパッケージを更新する
まず、rootユーザーとしてSSH経由でCentOS8サーバーにログインします。
ssh root@IP_Address -p Port_number
「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。さらに、必要に応じて「root」を管理者アカウントのユーザー名に置き換えます。
開始する前に、サーバーにインストールされているすべてのCentOSパッケージが最新であることを確認する必要があります。これを行うには、次のコマンドを実行します。
dnf update -y
ステップ2:BINDDNSサーバーをインストールする
デフォルトでは、バインドパッケージはCentOS8標準リポジトリで利用できます。次のコマンドを実行してインストールできます:
dnf install bind bind-utils -y
BINDがインストールされたら、BINDサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start named systemctl enable named
ステップ3:BINDDNSサーバーを構成する
デフォルトでは、BINDサーバーはローカルホストでのみリッスンしています。したがって、すべてのネットワークインターフェイスでリッスンするように構成する必要があります。ファイル/etc/named.confを編集して構成できます:
nano /etc/named.conf
次の行をコメントアウトします:
//listen-on port 53 { 127.0.0.1; }; //listen-on-v6 port 53 { ::1; };
次の行を変更して、ローカルネットワークのクエリを許可します。
allow-query { localhost;192.168.1.0/24; };
終了したら、ファイルを保存して閉じます。
ステップ4:順方向および逆引きDNSゾーンを作成する
フォワードゾーンはホスト名をIPアドレスに解決するために使用され、リバースゾーンはIPアドレスをホスト名に解決するために使用されます。通常、通常のDNSクエリはすべて前方参照クエリです。 /etc/named.confファイルで順方向および逆引きのルックアップゾーンを定義できます。
次のコマンドを使用して、/ etc/named.confファイルを編集します。
nano /etc/named.conf
ファイルの最後に次の行を追加します
//Forward Zone zone "rosehosting.local" IN { type master; file "rosehosting.local.db"; allow-update { none; }; }; //Reverse Zone zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.db"; allow-update { none; }; };
終了したら、ファイルを保存して閉じます。
ステップ5:順方向および逆方向のゾーンファイルを作成する
次に、前の手順で定義した順方向および逆方向のゾーンファイルを作成する必要があります。デフォルトでは、すべてのゾーンルックアップファイルは/ var/namedディレクトリ内にあります。
まず、次のコマンドを使用してフォワードゾーンファイルを作成します。
nano /var/named/rosehosting.local.db
次の行を追加します:
$TTL 86400 @ IN SOA ns1.rosehosting.local. root.rosehosting.local. ( 3 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS ns1.rosehosting.local. ;IP address of Name Server ns1 IN A 192.168.1.100 ;A - Record HostName To Ip Address www IN A 192.168.1.101 ;CNAME record ftp IN CNAME www.rosehosting.local.
ファイルを保存して閉じてから、次のコマンドを使用してリバースゾーンファイルを作成します。
nano /var/named/192.168.1.db
次の行を追加します:
$TTL 86400 @ IN SOA ns1.rosehosting.local. root.rosehosting.local. ( 3 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS ns1.rosehosting.local. ;Reverse lookup for Name Server 100 IN PTR ns1.rosehosting.local. ;PTR Record IP address to HostName 101 IN PTR www.rosehosting.local.へ
終了したら、ファイルを保存して閉じます。
ステップ6:DNS構成を確認する
すべてのゾーンファイルを構成した後、構成ファイルを確認する必要があります。
まず、次のコマンドを使用してメイン構成ファイルを検証します。
named-checkconf /etc/named.conf
すべてが正常であれば、エラーは表示されません。
次に、次のコマンドを使用して転送ゾーンファイルを確認します。
named-checkzone rosehosting.local /var/named/rosehosting.local.db
次の出力が得られるはずです:
zone rosehosting.local/IN: loaded serial 3 OK
次に、次のコマンドを使用してリバースゾーンファイルを確認します。
named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db
Yuは次の出力を取得するはずです:
zone 1.168.192.in-addr.arpa/IN: loaded serial 3 OK
最後に、BINDサービスを再起動して、変更を適用します。
systemctl restart named
ステップ7:ファイアウォールを構成する
次に、クライアントマシンからのDNSクエリを許可するために、ポート53のファイアウォールルールを作成する必要があります。次のコマンドで作成できます:
firewall-cmd --permanent --add-port=53/udp
次に、ファイアウォールサービスをリロードして、変更を適用します。
firewall-cmd --reload
ステップ8:DNSサーバーを確認する
この時点で、BINDDNSサーバーがインストールおよび構成されています。動作しているかどうかを確認するときが来ました。
まず、/ etc / resolv.confファイルを編集して、DNSサーバーのIPを追加します。
nano /etc/resolv.conf
ファイルの先頭に次の行を追加します。
nameserver 192.168.1.100
ファイルを保存して閉じ、digコマンドを使用して前方参照を確認します。
dig www.rosehosting.local
または
dig ns1.rosehosting.local
すべてが正常であれば、次の応答が返されます。
; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.rosehosting.local ;; global options: +cmd ;; Got answer: ;; WARNING: .local is reserved for Multicast DNS ;; You are currently testing what happens when an mDNS query is leaked to DNS ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52518 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: cd9d365f1f02621aa9c8753c5fd47154db8cae737b9ca09f (good) ;; QUESTION SECTION: ;www.rosehosting.local. IN A ;; ANSWER SECTION: www.rosehosting.local. 86400 IN A 192.168.1.101 ;; AUTHORITY SECTION: rosehosting.local. 86400 IN NS ns1.rosehosting.local. ;; ADDITIONAL SECTION: ns1.rosehosting.local. 86400 IN A 192.168.1.100 ;; Query time: 0 msec ;; SERVER: 192.168.1.100#53(192.168.1.100) ;; WHEN: Sat Dec 12 02:29:24 EST 2020 ;; MSG SIZE rcvd: 128
次に、次のコマンドを使用して逆引き参照を確認します。
dig -x 192.168.1.100
次の応答が返されます:
; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> -x 192.168.1.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30878 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 18a66bab478cf57219e6c17c5fd471671887a1dd983fef57 (good) ;; QUESTION SECTION: ;100.1.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 100.1.168.192.in-addr.arpa. 86400 IN PTR ns1.rosehosting.local. ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86400 IN NS ns1.rosehosting.local. ;; ADDITIONAL SECTION: ns1.rosehosting.local. 86400 IN A 192.168.1.100 ;; Query time: 0 msec ;; SERVER: 192.168.1.100#53(192.168.1.100) ;; WHEN: Sat Dec 12 02:29:43 EST 2020 ;; MSG SIZE rcvd: 148
おめでとう! CentOS8でBINDを使用してプライベートDNSサーバーを正常にセットアップしました。
もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にセットアップを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。