6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NSDの設定を(できるだけ最低限に)設定してみた。

Posted at

NSDを構築してみた。

動作環境

  • Virtualbox 6.0
  • Alpine Linux
  • Network
    • NAT
    • ホストオンリーアダプタ
サーバー IPアドレス
NSD 192.168.57.2
HTTP 192.168.57.151

NSD側

パッケージのインストール

apk add nsd

IPアドレスの設定

/etc/network/interfacesに以下を追記します。

auto eth1
iface eth1 inet static
    address 192.168.57.2
    netmask 255.255.255.0

/etc/resolv.confの変更

ローカルからnslookupコマンドで確認を取りたい場合は変更します。

nameserver 192.168.57.2

/etc/nsd/nsd.confの設定

NSDの設定をします。

server:
  ip-address: 192.168.57.2
  port: 53
  do-ip4: yes
  do-ip6: no
  zonesdir: "/etc/nsd/zone"

remote-control:
  control-enable: no

zone:
  name: "example.com"
  zonefile: "example.com.zone"

zone:
  name: "57.168.192.in-addr.arpa"
  zonefile: "example.com.rev"
  

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

/etc/nsd/zone/example.com.zoneを作成します。

$TTL 3600
$ORIGIN example.com.

@ IN SOA ns.example.com. mail.example.com. (
;    2019052601; Serial
;    3600; Reflesh
;    900;  Retry
;    3600000; Expire
;    3600 ; Minimum
    )

test IN A 192.168.57.151

NSDの起動

/etc/init.d/nsd start

動作の確認

Test 1 ローカルから

ローカルマシンからの以下のコマンドを実行し、登録した名前が解決されるのか確認します。

drill test.example.com @192.168.57.2

ANSWER SECTIONに登録した名前が反映されていれば成功です。

Test 2 外部から

他のマシンから先ほどと同様のテストを行います。
ホストマシンからでも、ゲストマシンからでも、どちらでも構いません。

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

/etc/nsd/zone/example.com.revを作成します。

$TTL 3600
$ORIGIN 57.168.192.in-addr.arpa

@ IN SOA ns.example.com. mail.example.com. (
;    2019052601; Serial
;    3600; Reflesh
;    900;  Retry
;    3600000; Expire
;    3600 ; Minimum TTL
  )

151 IN PTR test.example.com.

動作の確認

正引きのゾーンファイルを作成したときと同じテストを行います。今回のコマンドは次のとおりになります。

drill -o rd @192.168.57.2 -x 192.168.57.151

サービスの登録

仮想マシンを立ち挙げた時にNSDも同時に立ち上がってほしいので、サービスを有効化します。

rc-update add nsd

テスト用HTTPサーバ

動作環境

  • Lubuntu
  • ネットワークアダプター2
    • ホストオンリーアダプタ

パッケージのインストール

apt install apache2

IPアドレスの設定

/etc/systemd/network/50-enp0s8.networkを新しく作成し、次のとおりに書き込みます。

[Match]
Name=enp0s8
Virtualization=yes

[Address]
Address=192.168.57.151/24

書き込んだ後、サービスを有効化し、起動します。

systemctl start systemd-networkd
systemctl enable systemd-networkd

HTTPサーバの起動

systemctl start apache2

起動の確認

他のマシンから次のコマンドを実行します。

wget http://192.168.57.151 

カレントディレクトリにindex.htmlがダウンロードされていれば、起動は成功しています。

確認:NSDが機能しているか

別のマシンの/etc/resolv.confを次のとおりに書き換えます。

nameserver 192.168.57.2

そして、次のコマンドを実行します。

wget http://test.example.com -O url-to-addr.html

ファイルがダウンロードされていれば、成功しているでしょう。

参考

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?