BINDは、各ゾーンのDNS要求を処理するマスターまたはスレーブとして構成できます。 BINDがスレーブとして構成されている場合、BINDは、ゾーン転送方式を使用してマスターサーバーからゾーンデータのコピーを取得します。
前回の投稿では、スレーブサーバーのソースとして機能するCentOS7でDNSサーバーを構成しました。
環境
ドメイン名:itzgeek.local | ||
---|---|---|
primary.itzgeek.local | 192.168.1.10 | マスターDNSサーバー |
secondsary.itzgeek.local | 192.168.1.20 | スレーブDNSサーバー |
これには、プライマリとセカンダリという名前の2つのサーバーがあります。プライマリは、itzgeek.localドメインのマスターとしてすでに構成されています。
次に、セカンダリをitzgeek.localのスレーブDNSサーバーとして構成します。
マスターサーバー上
マスターサーバーでBINDを構成して、セカンダリサーバーへのゾーン転送を許可し、primary.itzgeek.localの/etc/named.confファイルを編集します。
vi /etc/named.conf
ファイルに次のエントリを追加します。転送許可に記載されているサーバーは、マスターサーバーからゾーンを転送できます。
options { . . . allow-transfer { 192.168.1.20; }; also-notify { 192.168.1.20; }; . . . }
セカンダリDNSサーバー情報をprimary.itzgeek.localの前方参照ファイルに追加します。
vi /var/named/fwd.itzgeek.local.db
レコードは次のようになります。
@ IN SOA primary.itzgeek.local. root.itzgeek.local. ( 1002 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;Name Server Information @ IN NS primary.itzgeek.local. ;Secondary Name server @ IN NS secondary.itzgeek.local. ;IP address of Primary Name Server primary IN A 192.168.1.10 ;IP address of Secondary Name Server secondary IN A 192.168.1.20 ;Mail exchanger itzgeek.local. IN MX 10 mail.itzgeek.local. ;A - Record HostName To IP Address www IN A 192.168.1.100 mail IN A 192.168.1.150 ;CNAME record ftp IN CNAME www.itgeek.local.
BINDサービスを再起動します。
systemctl restart named
ファイアウォールに許可ルールを追加して、マスターサーバーからの転送ゾーンを許可します。
firewall-cmd --permanent --add-port=53/tcp firewall-cmd --reload
スレーブサーバー上
セカンダリサーバーにスレーブゾーン宣言を追加するときが来ました。セカンダリサーバーに次のパッケージをインストールしてください。
yum -y install bind bind-utils
/etc/named.confを編集します ファイル。次の行をコメントアウトして、BINDがすべてのインターフェースでリッスンできるようにします。
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
次の行にネットワークを追加します。 192.168.1.0 / 24を追加しました 192.168.1.0/24ネットワークからのクライアントがDNSに名前からIPへの変換を照会できるようにするため。
options { . . . allow-query { localhost; 192.168.1.0/24; }; . . . }
以下のようにスレーブゾーンを追加します。
zone "itzgeek.local" IN { type slave; masters { 192.168.1.10; }; file "slaves/fwd.itzgeek.local.db"; }; zone "1.168.192.in-addr.arpa" IN { type slave; masters { 192.168.1.10; }; file "slaves/1.168.192.db"; };
itzgeek.local –ドメイン名
スレーブ –セカンダリDNS
fwd.itzgeek.local.db&1.168.192.db –スレーブフォワードおよびリバースルックアップファイル
Secondary.itzgeek.localでBINDサービスを再起動します
systemctl restart named
ファイアウォールに許可ルールを追加して、クライアントが名前解決のためにDNSサーバーに接続できるようにします。
firewall-cmd --permanent --add-port=53/udp firewall-cmd --reload
Secondary.itzgeek.local(192.168.1.20)を使用してwww.itzgeek.localのルックアップを確認します
[root@client ~]# dig @192.168.1.20 www.itzgeek.local
出力:
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> @192.168.1.20 www.itzgeek.local ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5314 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.1.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS secondary.itzgeek.local. itzgeek.local. 604800 IN NS primary.itzgeek.local. ;; ADDITIONAL SECTION: primary.itzgeek.local. 604800 IN A 192.168.1.10 secondary.itzgeek.local. 604800 IN A 192.168.1.20 ;; Query time: 0 msec ;; SERVER: 192.168.1.20#53(192.168.1.20) ;; WHEN: Wed Jul 17 21:53:45 IST 2019 ;; MSG SIZE rcvd: 140
レコードの更新
マスターサーバーでDNSレコードを変更するときは常に、ゾーンファイルのシリアル番号を変更し、マスターサーバーで次のコマンドを実行してゾーンをリロードすることを忘れないでください。
itzgeek.localと1.168.192.in-addr.arpaをゾーン名に変更します。
### Forward Zone ### rndc reload itzgeek.local ### Reverse Zone ### rndc reload 1.168.192.in-addr.arpa
結論
それで全部です。 CentOS 7 /RHEL7でスレーブDNSサーバーをセットアップする方法を学んだことを願っています。