DNSサーバ構築
はじめに
インフラエンジニア初学者のぽれいんと申します。
転職する前はプログラミングスクールにて主にHTML、CSS、Ruby、MySQL等について学びました。
※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。
<前回の記事>
↑↑まだ見ていない方はこちらから↑↑
使用環境
- サーバー
- Amazon EC2
- インスタンスタイプ: t2.micro (1台)
- オペレーティングシステム: Amazon Linux 2
- Amazon EC2
DNSサーバの構築
rootユーザになる
sudo su -
bindのインストール
yum install -y bind
bindを自動起動を有効にして起動
systemctl enable named
systemctl start named
namedプロセスの起動確認
ps -efH | grep named
以下プロセスが起動していることを確認
named 3341 1 0 08:07 ? 00:00:00 /usr/sbin/named -u named -c /etc/name .conf
netstat -anp | grep named
以下のようにnamedが利用する53番ポートがオープンしていることを確認
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3341/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3341/named
tcp6 0 0 ::1:53 :::* LISTEN 3341/named
tcp6 0 0 ::1:953 :::* LISTEN 3341/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 3341/named
udp6 0 0 ::1:53 :::* 3341/named
unix 2 [ ] DGRAM 20948 3341/named
コピーを作成してnamed.confの編集
cp /etc/named.conf /etc/named.conf.org
vi /etc/named.conf
--------ここから--------------
・全てのサーバから名前解決できるようにする
listen-on port 53 { 127.0.0.1; }; → listen-on port 53 { 127.0.0.1;any; };
listen-on-v6 port 53 { ::1; }; → listen-on-v6 port 53 { ::1;any; };
・全てのサーバからクエリの受付を許可
allow-query { localhost; }; → allow-query { any; };
--------ここまで--------------
※anyを使用するとセキュリティに問題があるように思われるが、他でセキュリティの強化が図れる。しかし、現場で作業する際は上長に設定値の確認を行う。
/etc/named.confの構文チェック
named-checkconf
ゾーンデータベースファイルの作成・編集
vi /var/named/hogehoge.com.zone
-----------ここから---------------
$ORIGIN hogehoge.com.
$TTL 900
@ IN SOA ns.hogehoge.com. sample.hogehoge.com. (
2017080701 ; Serial
3600 ; Refresh
900 ; Retry
1814400 ; Expire
900 ) ; Minimum
IN NS ns
ns IN A 192.168.1.10
hoge IN A 192.168.2.21
porain IN A 192.168.3.33
-----------ここまで---------------
/var/named/hogehoge.zoneの構文チェック
named-checkzone hogehoge.com /var/named/hogehoge.com.zone
以下のようにOKが表示されればOK
zone hogehoge.com/IN: loaded serial 2017080701
OK
named.confに追記
vi /etc/named.conf
以下を追記
-----------ここから---------------
#以下管理したいゾーン情報
zone "hogehoge.com" IN {
type master;
file "/var/named/hogehoge.com.zone";
};
-----------ここまで---------------
/etc/named.confの構文チェック
named-checkconf
/etc/resolv.confの編集
vi /etc/resolv.conf
---以下をコメントアウト---
#nameserver 172.31.0.2
---以下を追記---
#ローカルループアップアドレス
nameserver 127.0.0.1
bindの再起動・プロセス・ポート番号のリッスンを確認
systemctl restart named
ps -efH | grep named
netstat -anp | grep named
↑でLinuxのIPアドレスが開通していることを確認!
digコマンドで名前解決ができているか確認
dig porain.hogehoge.com
以上!!!!!!!!!!!!!!