Troubleshoot DHCP (not working, new install)

I have a Linksys router with OpenWRT 19.07 but the router is getting flakey, so I bought a new Asus RT-ACRH13 (AC1300) and flashed OpenWRT 19.07 onto it. I setup and configured everything on the new one the same as the old one, but on the new [Asus] DHCP is not handing out addresses. (DNS may not be working either, haven't gotten that far) I have carefully compared the configs between the two and they are exactly the same. I have SSH'ed in and compared /etc/config/dhcp and just generally poked around, searched log files (no errors), checked running processes (odhcpd is running), and can't figure out why it isn't working.
I have some basic knowledge of linux and networking, but I'm far from an expert. What steps should I take to further troubleshoot this and narrow down possible reasons for DHCP not to work?

Check if you have the odhcpd-ipv6only or the odhcpd(full) version installed

1 Like

Did you install "dnsmasq-full" on the old device, and failed to install it on the new one?

1 Like
/etc/init.d/log restart; /etc/init.d/dnsmasq restart; /etc/init.d/odhcpd restart
logread -e dnsmasq; netstat -l -n -p | grep -e dnsmasq; pgrep -f -a dnsmasq
logread -e odhcpd; netstat -l -n -p | grep -e odhcpd; pgrep -f -a odhcpd

First of all, thanks guys for helping!
Under software, both routers had odhcp6c and odhcp-ipv6only installed, and both have dnsmasq installed (but not "dnsmasq-full")
Under processes, both are running dnsmasq, both are running /usr/sbin/odhcpd, but only the old/working/Linksys router shows "odhcp6c -s /lib/netifd/dhcpv6.script -P0 -t120 eth1.2" and "udhcpc -p /var/run/udhcpc-eth1.2.pid -s /lib/netifd/dhcp.script -f -t 0 -i eth1.2 -x hostname:RouterOldLinksys -C -O 121"
Running vgaetera's commands on both routers reveals there is a problem with dnsmasq although I didn't see any obvious reasons why (attached below). Note that after restarting dnsmasq on the old/working/Linksys router there are 3 status lines from udhcpc including "no lease, failing" (remember, this is on the working router) whereas on the new/broken/Asus router there are no such status lines.
A couple of clues in from the dnsmasq grep-- the broken one includes "warning: interface LAN does not currently exist" whereas the working one includes "DNS service limited to local subnets".
netstat indicates dnsmasq is busy doing stuff on the working one, and just basic info on the non-working one.
I tried to follow up on the above clues but couldn't find any differences in any settings between the two routers, perhaps someone can give me a more specific pointer?
New/Broken/Asus output::

BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.3, r11063-85e04e9f46
 -----------------------------------------------------
root@RouterNewAsus:~# /etc/init.d/log restart
root@RouterNewAsus:~# /etc/init.d/dnsmasq restart
root@RouterNewAsus:~# /etc/init.d/odhcpd restart
root@RouterNewAsus:~# logread -e dnsmasq
Sun Aug  2 23:12:11 2020 daemon.info dnsmasq[6427]: exiting on receipt of SIGTERM
Sun Aug  2 23:12:12 2020 user.notice dnsmasq: DNS rebinding protection is active, will discard upstream RFC1918 responses!
Sun Aug  2 23:12:12 2020 user.notice dnsmasq: Allowing 127.0.0.0/8 responses
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: started, version 2.80 cachesize 150
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-auth no-DNSSEC no-ID loop-detect inotify dumpfile
Sun Aug  2 23:12:12 2020 daemon.warn dnsmasq[7035]: warning: interface LAN does not currently exist
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq-dhcp[7035]: DHCP, IP range 10.3.0.201 -- 10.3.0.240, lease time 1d3h46m39s
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain test
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain onion
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain localhost
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain local
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain invalid
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain bind
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain home.drwiz.net
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: reading /tmp/resolv.conf.auto
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain test
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain onion
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain localhost
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain local
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain invalid
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain bind
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using local addresses only for domain home.drwiz.net
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using nameserver 1.1.1.1#53
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using nameserver 8.8.8.8#53
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using nameserver 1.1.1.1#53
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: using nameserver 8.8.8.8#53
Sun Aug  2 23:12:12 2020 daemon.info dnsmasq[7035]: read /tmp/hosts/dhcp.cfg01411c - 40 addresses
root@RouterNewAsus:~# netstat -l -n -p | grep -e dnsmasq
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      7035/dnsmasq
tcp        0      0 ::1:53                  :::*                    LISTEN      7035/dnsmasq
udp        0      0 127.0.0.1:53            0.0.0.0:*                           7035/dnsmasq
udp        0      0 0.0.0.0:67              0.0.0.0:*                           7035/dnsmasq
udp        0      0 ::1:53                  :::*                                7035/dnsmasq
root@RouterNewAsus:~# pgrep -f -a dnsmasq
7035 /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c -k -x /var/run/dnsmasq/dnsmasq.cfg01411c.pid
root@RouterNewAsus:~# logread -e odhcpd
root@RouterNewAsus:~# netstat -l -n -p | grep -e odhcpd
root@RouterNewAsus:~# pgrep -f -a odhcpd
7067 /usr/sbin/odhcpd

Old/Working/Linksys router output:

BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.3, r11063-85e04e9f46
 -----------------------------------------------------
root@RouterOldLinksys:~# /etc/init.d/log restart
root@RouterOldLinksys:~# /etc/init.d/dnsmasq restart
udhcpc: started, v1.30.1
udhcpc: sending discover
udhcpc: no lease, failing
root@RouterOldLinksys:~# /etc/init.d/odhcpd restart
root@RouterOldLinksys:~# logread -e dnsmasq
Mon Aug  3 11:37:45 2020 daemon.info dnsmasq[20916]: exiting on receipt of SIGTERM
Mon Aug  3 11:37:45 2020 user.notice dnsmasq: DNS rebinding protection is active, will discard upstream RFC1918 responses!
Mon Aug  3 11:37:45 2020 user.notice dnsmasq: Allowing 127.0.0.0/8 responses
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: started, version 2.80 cachesize 150
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: DNS service limited to local subnets
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-auth no-DNSSEC no-ID loop-detect inotify dumpfile
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq-dhcp[21481]: DHCP, IP range 10.3.0.201 -- 10.3.0.240, lease time 1d3h46m39s
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain test
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain onion
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain localhost
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain local
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain invalid
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain bind
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain home.drwiz.net
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: reading /tmp/resolv.conf.auto
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain test
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain onion
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain localhost
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain local
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain invalid
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain bind
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using local addresses only for domain home.drwiz.net
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using nameserver 1.1.1.1#53
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using nameserver 8.8.8.8#53
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: using nameserver 192.168.1.254#53
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: read /etc/hosts - 4 addresses
Mon Aug  3 11:37:48 2020 daemon.info dnsmasq[21481]: read /tmp/hosts/dhcp.cfg01411c - 13 addresses
Mon Aug  3 11:37:48 2020 daemon.warn dnsmasq-dhcp[21481]: not giving name BettysLaptop.home.drwiz.net to the DHCP lease of 10.3.0.209 because the name exists in /tmp/hosts/dhcp.cfg01411c with address 10.3.5.1
Mon Aug  3 11:37:48 2020 daemon.warn dnsmasq-dhcp[21481]: not giving name jgdesktop.home.drwiz.net to the DHCP lease of 10.3.0.207 because the name exists in /tmp/hosts/dhcp.cfg01411c with address 10.3.1.32
root@RouterOldLinksys:~# netstat -l -n -p | grep -e dnsmasq
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      21481/dnsmasq
tcp        0      0 10.3.0.1:53             0.0.0.0:*               LISTEN      21481/dnsmasq
tcp        0      0 192.168.1.95:53         0.0.0.0:*               LISTEN      21481/dnsmasq
tcp        0      0 ::1:53                  :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb7:6510:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6510:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fd74:936:739::1:53      :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6510:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb7:6510:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb7:6513:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb7:6512:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6513:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb7:6511:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6510:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:651f:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:651e:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:651d:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:651c:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:651b:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:651a:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6519:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6518:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6517:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6516:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6515:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6514:53 :::*                    LISTEN      21481/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb7:6513:53 :::*                    LISTEN      21481/dnsmasq
udp        0      0 127.0.0.1:53            0.0.0.0:*                           21481/dnsmasq
udp        0      0 10.3.0.1:53             0.0.0.0:*                           21481/dnsmasq
udp        0      0 192.168.1.95:53         0.0.0.0:*                           21481/dnsmasq
udp        0      0 0.0.0.0:67              0.0.0.0:*                           21481/dnsmasq
udp        0      0 ::1:53                  :::*                                21481/dnsmasq
udp        0      0 fe80::6238:e0ff:feb7:6510:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6510:53 :::*                                21481/dnsmasq
udp        0      0 fd74:936:739::1:53      :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6510:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6238:e0ff:feb7:6510:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6238:e0ff:feb7:6513:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6238:e0ff:feb7:6512:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6513:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6238:e0ff:feb7:6511:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6510:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:651f:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:651e:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:651d:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:651c:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:651b:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:651a:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6519:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6518:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6517:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6516:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6515:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6514:53 :::*                                21481/dnsmasq
udp        0      0 fe80::6038:e0ff:feb7:6513:53 :::*                                21481/dnsmasq
root@RouterOldLinksys:~# pgrep -f -a dnsmasq
21481 /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c -k -x /var/run/dnsmasq/dnsmasq.cfg01411c.pid
root@RouterOldLinksys:~# logread -e odhcpd
root@RouterOldLinksys:~# netstat -l -n -p | grep odhcdp
root@RouterOldLinksys:~# pgrep -f -a odhcpd
21514 /usr/sbin/odhcpd

Your old router seems to serve only DHCPv4 with dnsmasq, so perhaps you don't need to bother with odhcpd.
Check the following on the new router:

uci show network; uci show dhcp; uci show firewall
grep -e ^dhcp-range= /var/etc/dnsmasq.conf.*

Yes, I have IPV6 disabled & turned off for the local network for both routers.
Ran the uci show commands on both routers, output is attached. What am I looking for?
From New/Broken/Asus:

root@RouterNewAsus:~# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd9d:7166:d078::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0'
network.lan.proto='static'
network.lan.ip6assign='60'
network.lan.dns='1.1.1.1' '8.8.8.8'
network.lan.netmask='255.255.240.0'
network.lan.delegate='0'
network.lan.ipaddr='10.3.0.111'
network.lan.gateway='10.3.0.1'
network.lan_eth0_dev=device
network.lan_eth0_dev.name='eth0'
network.lan_eth0_dev.macaddr='24:4b:fe:35:3a:88'
network.wan=interface
network.wan.ifname='eth1'
network.wan.proto='static'
network.wan.delegate='0'
network.wan.dns='1.1.1.1' '8.8.8.8'
network.wan.netmask='255.255.255.252'
network.wan.gateway='192.168.1.254'
network.wan.ipaddr='192.168.1.253'
network.wan_eth1_dev=device
network.wan_eth1_dev.name='eth1'
network.wan_eth1_dev.macaddr='24:4b:fe:35:3a:8c'
network.wan6=interface
network.wan6.ifname='eth1'
network.wan6.proto='dhcpv6'
network.wan6.reqprefix='auto'
network.wan6.reqaddress='try'
network.wan6.peerdns='0'
network.wan6.delegate='0'
network.wan6.auto='0'
network.wan6.defaultroute='0'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='1 2 3 4 0'


root@RouterNewAsus:~# uci show dhcp
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].localservice='1'
dhcp.@dnsmasq[0].domain='home.drwiz.net'
dhcp.@dnsmasq[0].local='/home.drwiz.net/'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].sequential_ip='1'
dhcp.@dnsmasq[0].filterwin2k='1'
dhcp.@dnsmasq[0].dhcpleasemax='200'
dhcp.@dnsmasq[0].logqueries='1'
dhcp.@dnsmasq[0].nohosts='1'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='201'
dhcp.lan.limit='40'
dhcp.lan.leasetime='99999'
dhcp.lan.force='1'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dhcp.@host[0]=host
dhcp.@host[0].mac='54:88:0E:02:E4:F5'
dhcp.@host[0].dns='1'
dhcp.@host[0].name='LivRmTVWiFi'
dhcp.@host[0].ip='10.3.1.4'
dhcp.@host[0].leasetime='9999999'

## more static/reserved leases...

dhcp.@host[37]=host
dhcp.@host[37].mac='6C:AD:F8:E7:BD:0F'
dhcp.@host[37].dns='1'
dhcp.@host[37].name='Chromecast'
dhcp.@host[37].ip='10.3.1.6'
dhcp.@host[37].leasetime='9999999'


root@RouterNewAsus:~# uci show firewall
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].input='ACCEPT'
firewall.@defaults[0].output='ACCEPT'
firewall.@defaults[0].forward='REJECT'
firewall.@defaults[0].drop_invalid='1'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].network='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].forward='ACCEPT'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].input='REJECT'
firewall.@zone[1].output='ACCEPT'
firewall.@zone[1].forward='REJECT'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@zone[1].network='wan'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src='lan'
firewall.@forwarding[0].dest='wan'
firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-DHCP-Renew'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='udp'
firewall.@rule[0].dest_port='68'
firewall.@rule[0].target='ACCEPT'
firewall.@rule[0].family='ipv4'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-Ping'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='icmp'
firewall.@rule[1].icmp_type='echo-request'
firewall.@rule[1].family='ipv4'
firewall.@rule[1].target='ACCEPT'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-IGMP'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='igmp'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].src_ip='fc00::/6'
firewall.@rule[3].dest_ip='fc00::/6'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[3].enabled='0'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[4].enabled='0'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[5].enabled='0'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@rule[6].enabled='0'
firewall.@rule[7]=rule
firewall.@rule[7].name='Allow-IPSec-ESP'
firewall.@rule[7].src='wan'
firewall.@rule[7].dest='lan'
firewall.@rule[7].proto='esp'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[8]=rule
firewall.@rule[8].name='Allow-ISAKMP'
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='lan'
firewall.@rule[8].dest_port='500'
firewall.@rule[8].proto='udp'
firewall.@rule[8].target='ACCEPT'
firewall.@include[0]=include
firewall.@include[0].path='/etc/firewall.user'


root@RouterNewAsus:~# grep -e ^dhcp-range= /var/etc/dnsmasq.conf.*
dhcp-range=set:lan,10.3.0.201,10.3.0.240,255.255.240.0,99999

From Old/Working/Linksys:

root@RouterOldLinksys:~# uci show network
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd74:0936:0739::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.ipaddr='10.3.0.1'
network.lan.netmask='255.255.240.0'
network.lan.ip6assign='60'
network.lan.dns='1.1.1.1' '8.8.8.8'
network.lan.delegate='0'
network.wan=interface
network.wan.ifname='eth1.2'
network.wan.proto='dhcp'
network.wan6=interface
network.wan6.ifname='eth1.2'
network.wan6.proto='dhcpv6'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='0 1 2 3 5t'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].ports='4 6t'


root@RouterOldLinksys:~# uci show dhcp
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].localservice='1'
dhcp.@dnsmasq[0].domain='home.drwiz.net'
dhcp.@dnsmasq[0].local='/home.drwiz.net/'
dhcp.@dnsmasq[0].dhcpleasemax='30'
dhcp.@dnsmasq[0].sequential_ip='1'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='201'
dhcp.lan.leasetime='99999'
dhcp.lan.limit='40'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dhcp.@host[0]=host
dhcp.@host[0].mac='E8:9A:8F:87:8F:A1'
dhcp.@host[0].leasetime='99999'
dhcp.@host[0].dns='1'
dhcp.@host[0].name='Blue-Moon'
dhcp.@host[0].ip='10.3.1.66'
dhcp.@host[0].netmask='255.255.128.0'

## more static/reserved leases...

dhcp.@host[11]=host
dhcp.@host[11].mac='00:E0:4C:32:D6:9D'
dhcp.@host[11].dns='1'
dhcp.@host[11].name='Rothar'
dhcp.@host[11].leasetime='99999'
dhcp.@host[11].ip='10.3.11.7'


root@RouterOldLinksys:~# uci show firewall
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].input='ACCEPT'
firewall.@defaults[0].output='ACCEPT'
firewall.@defaults[0].forward='REJECT'
firewall.@defaults[0].drop_invalid='1'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].network='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].forward='ACCEPT'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].network='wan' 'wan6'
firewall.@zone[1].input='REJECT'
firewall.@zone[1].output='ACCEPT'
firewall.@zone[1].forward='REJECT'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src='lan'
firewall.@forwarding[0].dest='wan'
firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-DHCP-Renew'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='udp'
firewall.@rule[0].dest_port='68'
firewall.@rule[0].target='ACCEPT'
firewall.@rule[0].family='ipv4'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-Ping'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='icmp'
firewall.@rule[1].icmp_type='echo-request'
firewall.@rule[1].family='ipv4'
firewall.@rule[1].target='ACCEPT'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-IGMP'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='igmp'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].src_ip='fc00::/6'
firewall.@rule[3].dest_ip='fc00::/6'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[3].enabled='0'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[5].enabled='0'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@rule[6].enabled='0'
firewall.@rule[7]=rule
firewall.@rule[7].name='Allow-IPSec-ESP'
firewall.@rule[7].src='wan'
firewall.@rule[7].dest='lan'
firewall.@rule[7].proto='esp'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[8]=rule
firewall.@rule[8].name='Allow-ISAKMP'
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='lan'
firewall.@rule[8].dest_port='500'
firewall.@rule[8].proto='udp'
firewall.@rule[8].target='ACCEPT'
firewall.@include[0]=include
firewall.@include[0].path='/etc/firewall.user'


root@RouterOldLinksys:~# grep -e ^dhcp-range= /var/etc/dnsmasq.conf.*
dhcp-range=set:lan,10.3.0.201,10.3.0.240,255.255.240.0,99999

Dnsmasq is probably complaining about upper case in the interface name.

Also, remove these settings as they are incorrect/redundant:

See also: [Workaround] GL-AR150: No DHCP if LAN cable is not plugged during boot

Well, it's working now. 🤷 I'm glad, but it also bugs me cuz I don't know what I did. Actually, I don't think I did anything. I don't think I've changed anything recently other than to disable dhcp on one router, and enable it on the other, going back and forth testing.
Now I have a new problem with the WiFi, but I'm still looking into that one....
Anyway, thanks again for the help! I may not have figured out what was causing the original problem, but I did learn several other useful tricks while trying to diagnose it!

1 Like