Static Leases and DHCP Issues

I have a few questions to ask about the DHCP service on my openwrt router as I cannot seem to get it to do what I believe it should.

For various reasons I want to fix IP addresses on certain network items but do not want to use fixed addressing on the item itself. In the past I have reserved ip addresses through the DHCP server and this has worked fine.

I cannot appear to get it to work properly on Openwrt since the latest firmware upgrade to 25.12.4 but I am not sure if it is a release issue or a config issue that I have got wrong hence posting here.

I started with a blank static page and as leases showed up as active I added them to the static list. However this did not appear to work in all cases.

I attach some config files below and would be grateful if anyone could let me know if they see a problem or need more information to help me.

One other question please, for a home network should I add option dns '1' to static leases or is this ott for a small home network?

Thanks in advance.

/etc/config/dhcp (partial)


config dnsmasq
	option domainneeded '1'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option expandhosts '1'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option localservice '1'
	option ednspacket_max '1232'
	list server '1.1.1.1'
	list server '8.8.8.8'
	option noresolv '1'
	list addnmount '/var/run/pbr.dnsmasq'

config dhcp 'lan'
	option interface 'lan'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'
	option start '151'
	option limit '49'
	option leasetime '12h'
	option ra_preference 'medium'

config odhcpd 'odhcpd'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

config host
	option name 'EPSON-WF-7835'
	list mac '50:57:9C:50:4B:AD'
	option ip '10.0.0.10'

config host
	option name 'envoy-maison'
	list mac '3C:E0:64:EF:04:3D'
	option ip '10.0.0.15'

config host
	option name 'envoy-direct'
	option dns '1'
	list mac '18:7F:88:4B:3C:6E'
	option ip '10.0.0.16'

config host
	list mac '90:B2:1F:14:F2:85'
	option ip '10.0.0.30'
	option name 'GJJ-iPad-4'

config host
	option name 'GJJ-iMac24'
	list mac 'AA:8F:6C:D0:0D:66'
	option ip '10.0.0.40'
	option leasetime 'infinite'

config host
	list mac '20:7B:D2:98:DD:A5'
	option ip '10.0.0.41'
	option name 'GJJ-iMac24-eth'

config host
	option name 'JCP-Air'
	option dns '1'
	option mac 'D0:88:0C:60:65:BB'
	option ip '10.0.0.45'

config host
	option name 'GJJ-AIR'
	option dns '1'
	option mac 'C8:69:CD:92:E8:96'
	option ip '10.0.0.50'

/etc/config/network (looks to have built up rubbish over time)

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option packet_steering '1'
	option ula_prefix 'fd33:1ec6:00a8::/48'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'
	list ports 'lan5'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	list ipaddr '10.0.0.1/24'
	option gateway '192.168.1.20'
	option broadcast '192.168.1.255'
	option multipath 'off'

config interface 'ovpn_wan_free'
	option proto 'none'
	option metric '20'
	option device 'tun0'
	option defaultroute '0'

config route
	option interface 'ovpn_wan_free'
	option target '0.0.0.0'
	option netmask '0.0.0.0'
	option metric '30'

config interface 'wan_fbx'
	option proto 'static'
	option metric '10'
	option device 'eth1'
	list ipaddr '192.168.1.20/24'
	option gateway '192.168.1.254'
	option broadcast '192.168.1.255'
	list dns '8.8.8.8'
	list dns '1.1.1.1'
	list dns '8.8.4.4'
	list dns '10.0.0.1'
	list dns '192.168.1.20'
	list dns '192.168.1.254'
	option multipath 'off'

config device
	option name 'eth0'

config interface 'WSLondon1984WG'
	option proto 'wireguard'
	option private_key loop+4eyDdFN5haAEYi2o='
	list addresses '100.101.186.151/32'
	option listen_port '51822'
	option auto '0'

config wireguard_WSLondon1984WG
	option description 'Windscribe-London-1984-WG'
	option public_key '895TAMNSeQymq8Qr6dxHh9FdRfNweZt5GdDDMB0s5XE='
	option preshared_key '+tOZ9D5zjHzdNEzNPPhMTVQYOT6QCtBD40xjCMF6DRw='
	list allowed_ips '0.0.0.0/0'
	list allowed_ips '::/0'
	option endpoint_host 'lhr-341-wg.whiskergalaxy.com'
	option endpoint_port '65142'
	option persistent_keepalive '25'

config interface 'WSLondonCrumpWG'
	option proto 'wireguard'
	option private_key 'GHUpzYRdSrTvabCJkUdnFf6UJ5+4eyDdFN5haAEYi2o='
	list addresses '100.101.186.151/32'
	option listen_port '51821'
	option auto '0'

config wireguard_WSLondonCrumpWG
	option description 'Windscribe-London-Crumpets-WG.conf'
	option public_key 'yrmgyxaJAxTEth7Gc8lXOQVHn9Gn/fzd4cLE+0WZjFI='
	option preshared_key '+tOZ9D5zjHzdNEzNPPhMTVQYOT6QCtBD40xjCMF6DRw='
	list allowed_ips '0.0.0.0/0'
	list allowed_ips '::/0'
	option endpoint_host 'lhr-171-wg.whiskergalaxy.com'
	option endpoint_port '65142'
	option persistent_keepalive '25'

config interface 'WSLondonBiscWG'
	option proto 'wireguard'
	option 
	list addresses '100.126.215.40/32'
	option listen_port '51823'

config wireguard_WSLondonBiscWG
	option description 'Windscribe-London-Biscuits-WG.conf'
	='
	option preshared_key '
	list allowed_ips '0.0.0.0/0'
	list allowed_ips '::/0'
	option endpoint_host 'lhr-335-wg.whiskergalaxy.com'
	option endpoint_port '65142'
	option persistent_keepalive '25'
	option route_allowed_ips '0'

config device
	option name 'WSLondon1984WG'

config device
	option name 'WSLondonCrumpWG'

config device
	option name 'WSLondonBiscWG'

config device
	option name 'lan1'

config device
	option name 'lan2'

config device
	option name 'lan3'

config device
	option name 'lan4'

config device
	option name 'lan5'

config device
	option name 'eth1'


/etc/config/system


config system
	option hostname 'OpenWrt-GL-MT6000'
	option ttylogin '0'
	option log_size '64'
	option urandom_seed '0'
	option compat_version '1.1'
	option log_proto 'udp'
	option conloglevel '8'
	option cronloglevel '5'
	option zonename 'Europe/Paris'
	option timezone 'CET-1CEST,M3.5.0,M10.5.0/3'
	option description 'GL.iNet GL-MT6000'

config timeserver 'ntp'
	list server '0.openwrt.pool.ntp.org'
	list server '1.openwrt.pool.ntp.org'
	list server '2.openwrt.pool.ntp.org'
	list server '3.openwrt.pool.ntp.org'

config led 'led_internet'
	option name 'internet'
	option sysfs 'amber:internet'
	option trigger 'netdev'
	option mode 'link tx rx'
	option dev 'wan'

config led 'led_wlan2g'
	option name 'WiFi 2.4GHz'
	option sysfs 'blue:wlan2g'
	option trigger 'netdev'
	option mode 'link tx rx'
	option dev 'wlan0'

config led 'led_wlan5g'
	option name 'WiFi 5GHz'
	option sysfs 'blue:wlan5g'
	option trigger 'netdev'
	option mode 'link tx rx'
	option dev 'wlan1'


/etc/config/wireless


config wifi-device 'radio2'
	option type 'mac80211'
	option path 'platform/soc/18000000.wifi'
	option band '2g'
	option channel '1'
	option htmode 'HE20'
	option cell_density '0'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option ssid 'MBD-2'
	option encryption 'psk2'
	option key ''

config wifi-device 'radio5'
	option type 'mac80211'
	option path 'platform/soc/18000000.wifi+1'
	option band '5g'
	option channel '36'
	option htmode 'HE80'
	option cell_density '0'

config wifi-iface 'default_radio5'
	option device 'radio5'
	option network 'lan'
	option mode 'ap'
	option ssid 'MBD-5'
	option encryption 'psk2'
	option key ''


Remove option gateway and option broadcast

Reboot router and reboot clients and check again

For proper DNS resolving make sure all DHCP configs have:

option dns '1'

...and maybe remember to remove private information before posting configs :slight_smile:

What actually happens when the specified clients renew their lease? Do the leases make it into the config?

grep dhcp-host /var/etc/dnsmasq.conf.*
logread -e dnsmasq-dhcp
cat /tmp/dhcp.leases

You can redact any sensitive names in the output, but it would be good to follow the specific MAC addresses through the DHCP DORA sequence.

...and maybe remember to remove private information before posting configs :slight_smile:

oops! Well no one is perfect! I will edit them. Thanks.

Thanks for all the responses. Overnight most of the items renewed their leases and picked up the correct IP. I did however, have to reboot my iPhone to force it off a self assigned IP to the correct one on the server (which I also rebooted to be safe).

Thanks Dave, these were very useful in finding out what was happening.

Still having issues with the iPhones but it looks like it is the internet provider as the speeds have dropped from 900 Mbps yesterday to 2 Mbps today!

I will monitor it and chase them if it continues.

Geoff

Dave,

How do I amend this command to only show a specific IP address or Mac address? Is it possible to do? I would (for example) like to follow the negotiations on my iPhone to see what is happening.

Thanks.

logread -e dnsmasq-dhcp | grep -i < ip of mac address >

That is what I already advised you to do:

Glad it is working.

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.
Thanks! :slight_smile: