VMWare上のCentOS7.7でDNSを立ち上げた
とあるアプリケーションを試してみたくなった。で、そのアプリケーションはDNSでのFQNを前提としている。前から、自前DNSがあるといろいろと便利だろうと思っていたので立ち上げてみた。
環境はCentOS 7.7。VMWare ESXi 6.0, Parent OSはWindows10。
VMは20GBディスク+1GBメモリの最小構成。
Step1: bindをインストール
# yum -y install bind bind-utils
Step2: /etc/named.confの編集
options {
// listen-on port 53 { 127.0.0.1; }; << コメントアウト
listen-on port 53 { 192.168.1.250; }; << 実際にListenするIPアドレスに変更
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; << コメントアウト
allow-query { 192.168.1.0/24; }; << 受け付けるIPアドレス
正引き用に以下を追加する。ここではドメイン名としてpathpilot.localを、/var/namedに保存する設定ファイル名をpathpilot.localにしている。
zone "pathpilot.local" IN {
type master;
file "pathpilot.local";
allow-update { none; };
};
逆引き用に以下を追加する。
zone "1.168.192.in-addr.arpa" IN {
type master;
file "pathpilot.local.rev";
allow-update { none; };
};
Step3: /var/named/pathpilot.localの作成
以下の内容でpathpilot.localを作成。serialは任意の数字列で良いみたい。
DNSとしてpath01.pathpilot.local、このpath01と今回登録したいdiscoverのIPアドレスを設定する。
$TTL 1D
@ IN SOA path01.pathpilot.local. root.pathpilot.local. (
2020072301 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS path01.pathpilot.local.
path01 IN A 192.168.1.250
discover IN A 192.168.1.120
新たにDNSにサーバーを追加した場合は、discoverの下にサーバー名とそのIPアドレスを追記すればよい。
Step4: /var/named/pathpilot.local.revの作成
$TTL 1D
@ IN SOA path01.pathpilot.local. root.pathpilot.local.(
2020072301 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS path01.pathpilot.local.
250 IN PTR path01.pathpilot.local.
120 IN PTR discover.pathpilot.local.
新たにDNSにサーバーを追加した場合は、IPアドレスの最後値(discoverの場合は192.168.1.120の120)とサーバー名を追加すればよい。
Step5: ちゃんと設定できたか確認
/etc/named.confの確認。何も表示されなければOKなんだと思う。
# named-checkconf
#
Step3で作成したファイルの確認
# named-checkzone pathpilot.local /var/named/pathpilot.local
zone pathpilot.local/IN: loaded serial 2020072301
OK
#
Step4で作成したファイルの確認
# named-checkzone pathpilot.local.rev /var/named/pathpilot.local.rev
zone pathpilot.local.rev/IN: loaded serial 2020072301
OK
#
Step6: Firewallの設定
以下コマンドを実行してFirewallにdnsサービスを追加、確認する。
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: dhcpv6-client dns ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Step7: namedのスタート
# systemctl start named
# systemctl enable named
# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
Active: active (running) since 木 2020-07-23 16:49:24 JST; 2s ago
Process: 67484 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 67496 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
Process: 67494 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
Main PID: 67498 (named)
Tasks: 4
CGroup: /system.slice/named.service
└─67498 /usr/sbin/named -u named -c /etc/named.conf
7月 23 16:49:24 localhost.localdomain named[67498]: zone 1.168.192.in-addr.arpa/IN: loaded serial 2020072301
7月 23 16:49:24 localhost.localdomain named[67498]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: zone localhost/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: zone pathpilot.local/IN: loaded serial 2020072301
7月 23 16:49:24 localhost.localdomain named[67498]: zone localhost.localdomain/IN: loaded serial 0
7月 23 16:49:24 localhost.localdomain named[67498]: all zones loaded
7月 23 16:49:24 localhost.localdomain named[67498]: running
7月 23 16:49:24 localhost.localdomain named[67498]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted
7月 23 16:49:24 localhost.localdomain named[67498]: resolver priming query complete
#
以上でDNSサーバーの設定は完了。次にDNSクライアント側からDNSにアクセスして動作確認する。
Step8: DNSクライアント側の設定と正引きと逆引きの確認
クライアント側でも以下をインストール。
yum install bind-utils
その後、以下を実施。
resolv.confの設定
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.250
domain pathpilot.local
#
正引きの確認
# nslookup discover.pathpilot.local
Server: 192.168.1.250
Address: 192.168.1.250#53
Name: discover.pathpilot.local
Address: 192.168.1.120
#
逆引きの確認
# nslookup 192.168.1.250
250.1.168.192.in-addr.arpa name = path01.pathpilot.local.
#
以上でDNSの設定は完了。
追記:
/var/named/pathpilot.localと.revを変更したら、変更内容を反映させるために以下を実行のこと。
systemctl restart named
« Spectrum Scale GUIのインストール その2 | トップページ | Raspberry Pi 4 の到着 »
「ソフトウエア導入」カテゴリの記事
- 非Windows11対応PCをWindows11にアップグレードする方法(2023.03.21)
- ThonnyでPicoのVersion upで SSL: CERTIFICATE_VERIFY_FAILED, certificate has expired にハマった件(2022.11.23)
- UI-VIEW32のオリジナルマップの作製(2022.11.22)
- APRS I-Gateの設置(2022.11.15)
- PCIe dual serial port adapterドライバーCH38XDRV.ZIPのWindows11へのインストール(2022.11.13)
« Spectrum Scale GUIのインストール その2 | トップページ | Raspberry Pi 4 の到着 »
コメント