見出し画像

DNSサーバ 構築

こんにちは、tangoです。
今回なんですが、簡易的ですがDNSサーバを構築してみましたのでメモがてらまとめてみました。

★情報紹介
・DNSサーバ
OS:CentOS 8
※CentOS 8 のインストール~起動方法は、ブログにて紹介しています。
https://note.com/tango9512357/n/n6372aeb653db?magazine_key=m9c38f70c4263

・HTTPサーバ
OS:CentOS 8
※HTTPサーバ構築は、ブログにて紹介しています。
https://note.com/tango9512357/n/n42a42d3b2c57

・ホストPC
OS:Windows10

IPアドレス設定

1.IPv6を無効化
nmcli connection modify 【Ethernet名】 ipv6.method "disabled" ipv6.addresses "" ipv6.gateway ""

1IPアドレス設定


2.ネットワーク接続を再起動
nmcli connection up 【Ethernet名】

2IPアドレス設定


3.disableファイルが『1』に変わっているか確認
cat /proc/sys/net/ipv6/conf/【Ethernet名】/disable_ipv6

3IPアドレス設定


4.IPアドレスの変更

任意のIPアドレス設定は、ブログで紹介しているのでよかったら参考にしてください。
https://note.com/tango9512357/n/nd9771f1bcf67?magazine_key=m9c38f70c4263


SELinuxの無効化

1.SELinuxの状態を確認
getenforce

画像47


2.SELinux Configファイルの編集
vi /etc/selinux/config

<編集>
enforcing ⇒ disabled

1SELinuxの無効化


3.DNSサーバを再起動
systemctl reboot

画像47


4.SELinuxの状態を確認
getenforce

画像46


IPアドレスの確認

1.DNSサーバのIPアドレスを確認
ip a

画像46


BINDソフトウェアのインストール

1.インストール済みのパッケージを確認
dnf list installed | grep bind

画像46


2.BINDソフトウェアをインストール
dnf -y install bind bind-chroot bind-utils

・bind :BIND本体
・bind-chroot :BINDのchroot化
・bind-utils :digなどのDNS関連コマンドの使用

画像46


3.インストール済みのパッケージを確認
dnf list installed | grep bind

画像46


named-chroot サービスの起動

1.named-chroot のサービス自動起動の確認
systemctl is-enabled named-chroot

画像46


2.named-chroot の起動状況を確認
systemctl status named-chroot

画像46


3.named-chroot をenableに変更
systemctl enable named-chroot

画像46


4.named-chroot のサービスを起動
systemctl start named-chroot

画像46


5.named-chroot のサービス自動起動の確認
systemctl is-enabled named-chroot

画像46


6.named-chroot の起動状況を確認
systemctl status named-chroot

画像46


named.confファイルを編集

1.named.conf があるか確認
cd /var/named/chroot/etc/ && ll | grep name

1named.confファイルを編集


2.named.conf のBACKUP を作成
・BACKUP用
cp -p named.conf /var/named/chroot/etc/named.conf日付 && ll | grep name

・切り戻し用
cp -p named.conf日付 /var/named/chroot/etc/named.conf && ll | grep name

2named.confファイルを編集


3-1.named.conf ファイルの編集
vi named.conf

画像45


3-2.編集内容

//IPアドレスのグループ定義
listen-on port 53 { 127.0.0.1; }; ⇒ listen-on port 53 { any; };

//コメントアウトしてIPv6を無効化する
listen-on-v6 port 53 { ::1; }; ⇒ //listen-on-v6 port 53 { ::1; };

//リクエスト設定
allow-query { localhost; }; ⇒ allow-query { any; };

3named.confファイルを編集


3-3.正引き・逆引き指定を追加

//正引き
zone "test.com" IN {
       type master;
       file "test.com.zone";
       allow-query     { any; };
};

//逆引き
zone "100.168.192.in-addr.arpa" IN {
       type master;
       file "100.168.192.in-addr.arpa.zone";
       allow-query     { any; };
};


4named.confファイルを編集


4.構文チェック
named-checkconf

画像47


正引きゾーンファイル作成

1.named.localhost があるか確認
cd /var/named/chroot/var/named && ll

スクリーンショット 2021-04-29 113438


2.test.com.zone ファイルを作成し、作成されたか確認
cp -p named.localhost /var/named/chroot/var/named/test.com.zone && ll

スクリーンショット 2021-04-29 113512


3-1.test.com.zone ファイルを編集
vi test.com.zone

画像48


3-2.編集内容

$TTL 1D
@       IN SOA   ns.test.com. root.test.com. (
                                       0       ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
        IN      NS     ns.test.com.
ns      IN      A      DNSのIPアドレス
www     IN      A      対象サーバのIPアドレス ※今回はWebサーバ


4.構文チェック
named-checkzone test.com /var/named/chroot/var/named/test.com.zone

画像33


逆引きゾーンファイル作成

1.100.168.192.Web.test.com.zone ファイルを作成し、作成されたか確認
cp -p named.localhost /var/named/chroot/var/named/100.168.192.in-addr.arpa.zone && ll

1逆引きゾーンファイル作成


2-1.100.168.192.in-addr.arpa.zone ファイルを編集
vi 100.168.192.in-addr.arpa.zone

画像35


2-2.編集内容

$TTL 1D
@       IN SOA  ns.test.com. root.test.com. (
                                       0       ; serial
                                       1D      ; refresh
                                       1H      ; retry
                                       1W      ; expire
                                       3H )    ; minimum
                     IN      NS      ns.test.com.
第四オクテット        IN      PTR     ns.test.com.
第四オクテット        IN      PTR     www.test.com.


------------------------------------------------------------------------
例
110    IN    PTR    ns.test.com.
345    IN    PTR    www.test.com.


3.構文チェック
named-checkzone 100.168.192.in-addr.arpa /var/named/chroot/var/named/100.168.192.in-addr.arpa.zone

画像36


FirewallのDNSサービスを有効にする

1.アクティブのFirewallの設定確認
firewall-cmd --list-all

1FirewallのDNSportを開ける


2.DNSサービスを追加
firewall-cmd --add-service=dns --zone=public --permanent

画像38


3.Firewallを再起動
firewall-cmd --reload

画像39


4.アクティブのFirewallの設定確認
firewall-cmd --list-all

2FirewallのDNSportを開ける


名前解決の設定

1.resolv.conf ファイルの編集
vi /etc/resolv.conf && cat /etc/resolv.conf

# Generated by NetworkManager
#nameserver 192.168.100.1
nameserver 127.0.0.1

画像42


named-chroot サービスの再起動

1.named-chroot サービス再起動
systemctl restart named-chroot

画像43


2.named-chroot サービスの起動確認
systemctl status named-chroot

画像44


DNSサーバ側で nslookup コマンドで名前解決

1.正引き
nslookup www.test.com

2DNSサーバ側で nslookup コマンドで名前解決


2.逆引き
nslookup 【対象IPアドレス】

1DNSサーバ側で nslookup コマンドで名前解決


ホストPC側で nslookup コマンドで名前解決

1.コマンドプロンプトを開く
cmd

画像7


2.正引き
nslookup www.test.com 【DNS IPアドレス】

スクリーンショット 2021-04-29 122939


3.逆引き
nslookup 【対象IPアドレス】 【DNS IPアドレス】

1ホストPC側で nslookup コマンドで名前解決


ホストPC側のDNS設定

1. Windowsキー + R を押し、ncpa.cplを入力して、OKをクリック
ncpa.cpl

画像1


2.Wi-fiを右クリックし、プロパティを選択

スクリーンショット 2021-04-27 063315


3.IPv6のチェックを外す

スクリーンショット 2021-04-27 063455


4.IPv4のプロパティを編集

スクリーンショット 2021-04-27 063435


5.先程、新規構築したDNSサーバのIPアドレスを記載

スクリーンショット 2021-04-27 071354


ホストPC側で nslookup コマンドで名前解決

1.コマンドプロンプトを開く
cmd

画像7


2.正引き
nslookup www.test.com

スクリーンショット 2021-04-29 150100


3.逆引き
nslookup 【対象IPアドレス】

スクリーンショット 2021-04-29 150132


Webブラウザで確認

1.URL検索欄に www.test.com を入力

1Webブラウザで確認


以上がDNSサーバの構築方法になります。
それでは今回はこの辺で終わりたいと思います。
みなさんのエンジニアライフに少しでもお役に立てれば幸いです。
ありがとうございました。

・Twitter
https://twitter.com/tango3564

・Instagram
https://www.instagram.com/tango3690/