Ubuntu 22.04
Sponsored Link

Dnsmasq : インストール2022/08/31

 
小規模な内部ネットワーク向けの軽量な DNS フォワーダー / DHCP サーバーソフトウェア Dnsmasq のインストールと設定です。
[1] Dnsmasq をインストールします。
root@dlp:~#
apt -y install dnsmasq
[2] Dnsmasq の設定です。
root@dlp:~#
vi /etc/dnsmasq.conf
# 19行目 : コメント解除
# ドメイン名の無いクエリは上位サーバーに問い合わせない

domain-needed
# 21行目 : コメント解除
# プライベート IP の逆引き要求は上位サーバーに問い合わせない

bogus-priv
# 53行目 : コメント解除
# [resolv.conf] に記述のサーバーに上から順に問い合わせる

strict-order
# 67行目 : もし必要であれば追記
# 指定のドメインは指定のサーバーに問い合わせる
# 下例の場合は [server.education] ドメインは [10.0.0.10] のサーバーに問い合わせる

server=/server.education/10.0.0.10
# 106行目 : コメント解除してバインドするネットワークインターフェース名を追記

interface=
enp1s0
# 124行目 : コメント解除

bind-interfaces
# 135行目 : コメント解除
# ホスト名に自動的にドメイン名を付加する

expand-hosts
# 145行目 : 追記 : ドメイン名を定義

domain=srv.world
# systemd-resolved と競合しないように systemd-resolved の man ページに従ってリンクを変更

root@dlp:~#
ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf

root@dlp:~#
systemctl restart dnsmasq systemd-resolved

[3] IP アドレスとホスト名のエントリは [/etc/hosts] へ登録します。
以上の設定により、クライアントからの要求に対して、設定した内部ドメインは [/etc/hosts] を参照し、その他は上位の DNS サーバーに問い合わせて結果を返します。
root@dlp:~#
vi /etc/hosts
# 設定するエントリを追記
10.0.0.30       dlp.srv.world dlp
10.0.0.31       www.srv.world www 
[4] 内部ネットワーク内の任意のクライアントから名前解決可能か確認しておきます。
root@desktop:~#
vi /etc/netplan/01-netcfg.yaml
# 名前解決の参照先を Dnsmasq サーバーに変更

nameservers:
  addresses: [10.0.0.30]

root@desktop:~#
netplan apply

root@desktop:~#
grep nameserver /run/systemd/resolve/resolv.conf

nameserver 10.0.0.30
root@desktop:~#
dig dlp.srv.world.


; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> dlp.srv.world.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28666
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;dlp.srv.world.                 IN      A

;; ANSWER SECTION:
dlp.srv.world.          0       IN      A       10.0.0.30

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Aug 31 01:57:37 UTC 2022
;; MSG SIZE  rcvd: 58

root@desktop:~#
dig -x 10.0.0.30


; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> -x 10.0.0.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58949
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;30.0.0.10.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
30.0.0.10.in-addr.arpa. 0       IN      PTR     dlp.srv.world.

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Aug 31 01:58:11 UTC 2022
;; MSG SIZE  rcvd: 78
関連コンテンツ