Dnsmasq : インストール2024/04/29 |
小規模な内部ネットワーク向けの軽量な 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
# 116行目 : コメント解除してバインドするネットワークインターフェース名を追記 interface= enp1s0
# 134行目 : コメント解除 bind-interfaces # 145行目 : コメント解除 # ホスト名に自動的にドメイン名を付加する expand-hosts # 155行目 : 追記 : ドメイン名を定義
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:~#
root@desktop:~# netplan apply root@desktop:~# grep nameserver /run/systemd/resolve/resolv.conf nameserver 10.0.0.30 dig dlp.srv.world. ; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> dlp.srv.world. ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25017 ;; 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: Mon Apr 29 14:04:55 UTC 2024 ;; MSG SIZE rcvd: 58root@desktop:~# dig -x 10.0.0.30 ; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> -x 10.0.0.30 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20706 ;; 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: Mon Apr 29 14:05:39 UTC 2024 ;; MSG SIZE rcvd: 78 |
Sponsored Link |