home server DNS with dnsmasq

Pulling my hair for days here setting up DNS and DHCP with dnsmasq and the new way of doing things with netplan.

WAN-router is on 192.168.0.1 - works fine
LAN-router is on 192.168.1.1 - DHCP works fine, handing out 192.168.1.x addresses as it should. Can ping google.com
Client laptop is on 192.168.1.181 - Gets IP, can ping LAN-router, can ping IP addresses directly (such as 8.8.8.8) but traceroute and DNS does not work

This is my dnsmasq config:

bogus-priv
strict-order
filterwin2k
expand-hosts
domain=home
no-resolv
listen-address=127.0.0.1
listen-address=192.168.1.1
#DHCP range
dhcp-range=192.168.1.1,192.168.1.254,72h
dhcp-option=option:router,192.168.0.1
# Upstream name servers
server=192.168.0.1
server=8.8.4.4
server=8.8.8.8

Status of dnsmasq, boots fine:

Nov 15 06:54:17 router systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
Nov 15 06:54:17 router dnsmasq[2000]: dnsmasq: syntax check OK.
Nov 15 06:54:17 router dnsmasq[2030]: started, version 2.79 cachesize 150
Nov 15 06:54:17 router dnsmasq[2030]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
Nov 15 06:54:17 router dnsmasq-dhcp[2030]: DHCP, IP range 192.168.1.1 -- 192.168.1.254, lease time 3d
Nov 15 06:54:17 router dnsmasq[2030]: using nameserver 8.8.8.8#53
Nov 15 06:54:17 router dnsmasq[2030]: using nameserver 8.8.4.4#53
Nov 15 06:54:17 router dnsmasq[2030]: using nameserver 192.168.0.1#53
Nov 15 06:54:17 router dnsmasq[2030]: read /etc/hosts - 7 addresses
Nov 15 06:54:17 router systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server.

ip address show:

2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:e8:4c:68:61:52 brd ff:ff:ff:ff:ff:ff inet 192.168.0.205/24 brd 192.168.0.255 scope global dynamic enp1s0 valid_lft 1962sec preferred_lft 1962sec inet6 fe80::2e8:4cff:fe68:6152/64 scope link valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:e8:4c:68:61:53 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global enp2s0 valid_lft forever preferred_lft forever inet6 fe80::2e8:4cff:fe68:6153/64 scope link valid_lft forever preferred_lft forever

netplan-yaml:

network: renderer: networkd ethernets: enp1s0: addresses: [] dhcp4: true enp2s0: addresses: [192.168.1.1/24] gateway4: 192.168.0.1 dhcp4: false nameservers: search: [home] addresses: [192.168.0.1,8.8.8.8,8.8.4.4] version: 2

I'm sure I've confused it along the way. I was able to DNS resolve for names from the client laptop for a while, but no actual data transport was possible, so wasn't possible to actually reach the internet practically.

It's all a bit new to me so would appreciate any pointers.

1 Answer

This in not really an issue with netplan; you appear to have bugs in your dnsmasq config.

Your dnsmasq config, which as I understand is running on the Ubuntu router that connects your WAN and LAN interfaces, and is serving DHCP config to the LAN interface, has an entry of:

dhcp-option=option:router,192.168.0.1

However, 192.168.0.1 is not an address on your LAN network; it is an address on your WAN network (your WAN gateway). So it is incorrect to tell your DHCP clients on the LAN network to use this as their gateway, because they have no route to that gateway.

Instead, you should be providing the LAN address of the Ubuntu router as the gateway:

dhcp-option=option:router,192.168.1.1

You also need to have IP forwarding configuration on your Ubuntu router: How to make IP forwarding permanent?

Furthermore, you need to either configure your WAN router to know about your Ubuntu router and that it is a gateway for the 192.168.1.0/24 network, or configure NAT on your Ubuntu router: Configure Nat in Ubuntu 12.04

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like