Difference between revisions of "Dnsmasq"

From UVOO Tech Wiki
Jump to navigation Jump to search
Line 13: Line 13:
 
## Install
 
## Install
 
```
 
```
sudo systemctl disable systemd-resolved
+
apt-get update && sudo apt-get install -y dnsmasq
sudo systemctl mask systemd-resolved
+
systemctl stop systemd-resolved
sudo systemctl stop systemd-resolved
+
touch /etc/dnsmasq.hosts
sudo apt-get update && sudo apt-get install -y dnsmasq
+
systemctl disable systemd-resolved
# echo "10.0.0.1  prod.example.com. >> /etc/dnsmasq.hosts"
+
systemctl mask systemd-resolved
# echo "10.0.0.2  dev.example.com. >> /etc/dnsmasq.hosts"
+
```
# sudo systemctl unmask systemd-resolved
+
 
# sudo systemctl enable systemd-resolved
+
## Undo
 +
```
 +
systemctl mask systemd-resolved
 +
systemctl enable systemd-resolved
 +
systemctl start systemd-resolved
 
```
 
```
  
Line 32: Line 36:
 
```
 
```
 
no-resolv  # Don't read /etc/resolv.conf. Get upstream servers only from the command line or the dnsmasq  configuration file.
 
no-resolv  # Don't read /etc/resolv.conf. Get upstream servers only from the command line or the dnsmasq  configuration file.
 
# Google's nameservers, for example
 
 
server=8.8.8.8
 
server=8.8.8.8
 
server=8.8.4.4
 
server=8.8.4.4
 
addn-hosts=/etc/dnsmasq.hosts
 
addn-hosts=/etc/dnsmasq.hosts
 
cache-size=1000  # Only cache up to 1000 names
 
cache-size=1000  # Only cache up to 1000 names
 +
listen-address=127.0.0.1,10.x.x.x  # must explicityly set this for non-local network resolves
 
# server=/example.com/ns.example.com  # forward example.com to server
 
# server=/example.com/ns.example.com  # forward example.com to server
 
# ...
 
# ...
Line 44: Line 47:
 
```
 
```
 
systemctl restart dnsmasq
 
systemctl restart dnsmasq
 +
dig @10.x.x.x +short prod.example.com -p 15353
 
```
 
```

Revision as of 02:06, 22 August 2020

Related commands

  • sudo systemd-resolve --flush-caches

Files of Interest

/var/lib/misc/dnsmasq.leases

Stub Resolver

Install

apt-get update && sudo apt-get install -y dnsmasq
systemctl stop systemd-resolved
touch /etc/dnsmasq.hosts
systemctl disable systemd-resolved
systemctl mask systemd-resolved

Undo

systemctl mask systemd-resolved
systemctl enable systemd-resolved
systemctl start systemd-resolved

/etc/dnsmasq.hosts

10.0.0.1  prod.example.com.
10.0.0.2  dev.example.com.

/etc/dnsmasq.conf

no-resolv  # Don't read /etc/resolv.conf. Get upstream servers only from the command line or the dnsmasq  configuration file.
server=8.8.8.8
server=8.8.4.4
addn-hosts=/etc/dnsmasq.hosts
cache-size=1000  # Only cache up to 1000 names
listen-address=127.0.0.1,10.x.x.x  # must explicityly set this for non-local network resolves
# server=/example.com/ns.example.com  # forward example.com to server
# ...
systemctl restart dnsmasq
dig @10.x.x.x +short prod.example.com -p 15353