ubuntuサーバーで内向きDNSを作成します。
内向きDNSをすると何が便利なのかといいますと、例えばnas.natというドメインを自分のサーバー宛てにすることができるのです。
あまりよくない例ですが、google.comというドメインも自分のサーバーに設定することができます。(偽装もできるので注意)
#実装
まずはunboundをインストールします。
$ sudo apt -y install unbound
次にunbound.confを設定します。ここでは、サンプルのディレクトリをコピーします。
$ sudo cp /usr/share/doc/unbound/examples/unbound.conf /etc/unbound/unbound.conf.d/
そして、コピーしたファイルを編集します。
$ sudo nano /etc/unbound/unbound.conf.d/unbound.conf
こんな感じに編集します。下記サンプルです。
ここでは、3つのドメインを同一サーバー向けに設定します。
nas.uma.gov
media.uma.gov
office.uma.gov
これらすべてが、192.168.31.150(私のサーバーIP)に設定されます。必要に応じて変更してください。
server:
verbosity: 1
interface: 0.0.0.0
#アクセス許可設定 ※ここでは、ローカルネットワークと31のネットワークを許可していますので、環境に合わせて変更
access-control: 127.0.0.0/23 allow
access-control: 192.168.31.0/23 allow
#逆引き設定
local-data: "nas.uma.gov. IN A 192.168.31.150"
local-data: "media.uma.gov. IN A 192.168.31.150"
local-data: "office.uma.gov. IN A 192.168.31.150"
python:
remote-control:
#Cloudflare Public DNS
forward-zone:
name: "."
forward-addr: 1.1.1.1
forward-addr: 1.0.0.1
最後に、設定ファイルが間違っていないか確認する
$ unbound-checkconf
unboundを再起動
$ sudo service unbound restart
##エラー対策
よしよし、、出来たぞ!!再起動しようかと思ったところ、エラーが発生
👇エラー内容
root@servername:~# service unbound start
Job for unbound.service failed because the control process exited with error code.
See "systemctl status unbound.service" and "journalctl -xe" for details.
おっと!???
まさか、ポートだれか使ってる??
####👇DNSポート(PORT:53)を使ってるサービスを調べる
$ sudo ss -lntp | grep 53
---------------------------------------------------------------------------------------
LISTEN 0 5 127.0.1.1:53 *:* users:(("systemd-resolved",1224,5))
---------------------------------------------------------------------------------------
あ、、居た!こいつだ
この、systemd-resolvedというサービスは、ネームサーバーを変えたりすることができるがここではその機能は不要のため停止する。
下記のように設定すること
[Resolve]
DNSStubListener=no
設定後にこのsystemd-resolvedを再起動
$ sudo systemctl restart systemd-resolved
####もう一回DNSポート(PORT:53)を使ってるサービスを調べる
$ sudo ss -lntp | grep 53
ここで何も出てこなければ設定完了です。
unboundをスタートさせましょう。
$ sudo service unbound start
とりあえず完成です。