Ubuntu 20.04
Sponsored Link

Dnsmasq : Install
2020/08/26
 
Install Dnsmasq which is the lightweight DNS forwarder and DHCP Server Software.
[1] Install Dnsmasq.
root@dlp:~#
apt -y install dnsmasq
[2] Configure Dnsmasq.
root@dlp:~#
vi /etc/dnsmasq.conf
# line 19: uncomment (never forward plain names)

domain-needed
# line 21: uncomment (never forward addresses in the non-routed address spaces)

bogus-priv
# line 53: uncomment (query with each server strictly in the order in resolv.conf)

strict-order
# line 67: add if you need

# query the specific domain name to the specific DNS server

# the example follows means query [server.education] domain to the [10.0.0.10] server

server=/server.education/10.0.0.10
# line 135: uncomment (add domain name automatically)

expand-hosts
# line 145: add (define domain name)

domain=srv.world
# change the link according to man page of systemd-resolved in order to avoid conflicting on 53

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

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

[3] For DNS records, add them in /etc/hosts.Then, Dnsmasq will answer to queries from clients.
root@dlp:~#
vi /etc/hosts
# add records
10.0.0.30       dlp.srv.world dlp 

root@dlp:~#
systemctl restart dnsmasq

[4] Verify to resolve Name or IP address from a client that is in your internal network.
root@desktop:~#
vi /etc/netplan/01-netcfg.yaml
# change DNS setting to Dnsmasq Server

nameservers:
  addresses: [10.0.0.30]

root@desktop:~#
netplan apply

root@desktop:~#
systemd-resolve --status --no-pager | tail -9

Link 2 (enp1s0)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.0.0.30

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


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

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

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

;; Query time: 0 msec
;; SERVER: 10.0.0.30#53(10.0.0.30)
;; WHEN: Wed Aug 25 20:44:02 JST 2020
;; MSG SIZE  rcvd: 58

root@desktop:~#
dig -x 10.0.0.30


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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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: 10.0.0.30#53(10.0.0.30)
;; WHEN: Wed Aug 25 20:45:32 JST 2020
;; MSG SIZE  rcvd: 78
Matched Content