Wan lease failing to renew

Hello everyone,
I have an issue with my wan connection not renewing its lease when using either a bare metal x86 or GiNet Flint 2 Mt6000 version of openwrt. If I use my old D-Link DIR-2660 running openwrt it is rock solid and will hold the lease for over a month with ease. The lease renewal issue is causing issues with online gaming, this usually results in a disconnection from which ever game is being played. I have attached a log from the x86 version of openwrt. I am running version 24.10.1 . As the D-Link router works ok, I am assuming that it isn't an isp issue?

Sun May 25 14:07:57 2025 daemon.notice netifd: wan (3215): udhcpc: sending renew to server 176.10.X.X
Sun May 25 14:08:00 2025 daemon.notice netifd: wan (3215): udhcpc: broadcasting renew
Sun May 25 14:08:00 2025 daemon.notice netifd: wan (3215): udhcpc: lease of 176.10.X.XXX obtained from 176.10.X.X, lease time 600
Sun May 25 14:08:57 2025 daemon.err uhttpd[2149]: [info] luci: accepted login on / for root from 10.200.100.232
Sun May 25 14:10:05 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 10.200.100.2 e4:fa:c4:b4:f3:d5
Sun May 25 14:10:05 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 10.200.100.2 e4:fa:c4:b4:f3:d5 TapoCamLR
Sun May 25 14:10:09 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 10.200.100.3 e4:fa:c4:b4:f4:8b
Sun May 25 14:10:09 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 10.200.100.3 e4:fa:c4:b4:f4:8b TapoCamKT
Sun May 25 14:12:27 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 10.200.100.180 e4:62:c4:8f:7d:74
Sun May 25 14:12:27 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 10.200.100.180 e4:62:c4:8f:7d:74 Cisco-ATA
Sun May 25 14:13:00 2025 daemon.notice netifd: wan (3215): udhcpc: sending renew to server 176.10.X.X
Sun May 25 14:15:31 2025 daemon.notice netifd: wan (3215): udhcpc: sending renew to server 176.10.X.X
Sun May 25 14:16:47 2025 daemon.notice netifd: wan (3215): udhcpc: sending renew to server 176.10.X.X
Sun May 25 14:17:25 2025 daemon.notice netifd: wan (3215): udhcpc: sending renew to server 176.10.X.X
Sun May 25 14:17:44 2025 daemon.notice netifd: wan (3215): udhcpc: sending renew to server 176.10.X.X
Sun May 25 14:17:47 2025 daemon.notice netifd: wan (3215): udhcpc: broadcasting renew
Sun May 25 14:17:50 2025 daemon.notice netifd: wan (3215): udhcpc: broadcasting renew
Sun May 25 14:17:54 2025 daemon.notice netifd: wan (3215): udhcpc: broadcasting renew
Sun May 25 14:18:00 2025 daemon.notice netifd: wan (3215): udhcpc: lease lost, entering init state
Sun May 25 14:18:00 2025 daemon.notice netifd: Interface 'wan' has lost the connection
Sun May 25 14:18:00 2025 daemon.warn miniupnpd[4321]: no AF_INET address found for eth1.101
Sun May 25 14:18:00 2025 daemon.warn miniupnpd[4321]: Cannot get IP address for ext interface eth1.101. Network is down
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
Sun May 25 14:18:00 2025 daemon.warn miniupnpd[4321]: no AF_INET address found for eth1.101
Sun May 25 14:18:00 2025 daemon.err miniupnpd[4321]: Failed to get IP for interface eth1.101
Sun May 25 14:18:00 2025 daemon.warn miniupnpd[4321]: SendNATPMPPublicAddressChangeNotification: cannot get public IP address, stopping
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using nameserver 10.200.100.250#53
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using nameserver fe80::ba27:ebff:fe50:5007%eth1.101#53
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Sun May 25 14:18:00 2025 daemon.warn miniupnpd[4321]: no AF_INET address found for eth1.101
Sun May 25 14:18:00 2025 daemon.warn miniupnpd[4321]: no AF_INET address found for eth1.101
Sun May 25 14:18:00 2025 daemon.notice netifd: wan (3215): udhcpc: broadcasting discover
Sun May 25 14:18:00 2025 user.notice ddns-scripts[3760]: DNSUpdate: PID '3760' terminated by 'SIGTERM' at 2025-05-25 14:18
Sun May 25 14:18:00 2025 daemon.notice netifd: wan (3215): udhcpc: broadcasting select for 176.10.X.XXX, server 176.10.X.X
Sun May 25 14:18:00 2025 daemon.notice netifd: wan (3215): udhcpc: lease of 176.10.X.XX obtained from 176.10.1.1, lease time 600
Sun May 25 14:18:00 2025 daemon.notice netifd: Interface 'wan' is now up
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using nameserver 10.200.100.250#53
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using nameserver 10.200.100.251#53
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using nameserver fe80::ba27:ebff:fe50:5007%eth1.101#53
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Sun May 25 14:18:00 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Sun May 25 14:18:00 2025 user.notice firewall: Reloading firewall due to ifup of wan (eth1.101)
Sun May 25 14:18:01 2025 user.notice ddns-scripts[5288]: DNSUpdate: PID '5288' started at 2025-05-25 14:18

Try cloning the wan facing MAC from your previous device.

If that doesn’t work, contact your isp to ask them for help. The logs show that they are literally providing a 1m lease which is silly, but entirely on their end.

MAC is cloned from their supplied router. Lease is 10 minutes. Also ISP will not give any support for anything but their supplied router.

Ah, yes it is 10m. But the problem is still on the isp side because it is a short lease that is not being renewed before it expires. Your device is correctly sending the renewal requests.

The problem that I see is that multiple requests for renewal are ignored.
Is the configuration the same in both Flint and DIR-2660?
uci show network.wan

2 Likes

Hi config as follows

Flint

network.wan=interface
network.wan.device='eth1.101'
network.wan.proto='dhcp'
network.wan.peerdns='0'
network.wan.dns='10.200.100.251'

DIR-2660

network.wan=interface
network.wan.device='wan.101'
network.wan.proto='dhcp'
network.wan.peerdns='0'
network.wan.dns='10.200.100.251'

Let’s see the complete config of the flint. (I still think this is a question for the isp, but let’s make sure there aren’t any issues here)

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/dhcp
cat /etc/config/firewall

I have spoken to my ISP and they are not interested as I am not using their hardware. :frowning:

Config as follows

ubus call system board

root@Evil_Edna_Too:~# ubus call system board
{
        "kernel": "6.6.86",
        "hostname": "Evil_Edna_Too",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.1",
                "revision": "r28597-0425664679",
                "target": "mediatek/filogic",
                "description": "OpenWrt 24.10.1 r28597-0425664679",
                "builddate": "1744562312"
        }
}

cat /etc/config/network

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 ula_prefix 'XX::/48'
        option packet_steering '1'

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'
        option ipaddr '10.200.100.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        list dns '10.200.100.251'

config interface 'wan'
        option device 'eth1.101'
        option proto 'dhcp'
        option peerdns '0'
        list dns '10.200.100.251'

config interface 'wan6'
        option device 'eth1.101'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix '56'
        option norelease '1'
        option peerdns '0'
        list dns 'fe80::ba27:ebff:fe50:5007'

config interface 'VPN_Craftz'
        option proto 'wireguard'
        option private_key 'XXXXXXXXXXXXXXXXXXXX'
        option listen_port '51820'
        list addresses '10.200.200.1/24'
        option mtu '1420'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '101'
        option name 'eth1.101'
        option mtu '1472'
        option macaddr 'XX:XX:XX:XX:XX:XX'
        option mtu6 '1452'

config wireguard_VPN_Craftz
        option description 'Andy Phone'
        option public_key 'XXXXXXXXXXXXXXXXXX'
        option private_key 'XXXXXXXXXXXXXXXX'
        option preshared_key 'XXXXXXXXXXXXXXX'
        list allowed_ips '10.200.200.2/32'
        option route_allowed_ips '1'
        option endpoint_port '51820'

cat /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'

config dhcp 'lan'
        option interface 'lan'
        option start '2'
        option limit '250'
        option leasetime '2h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        list dhcp_option '6,10.200.100.251'
        option ra_mtu '1472'
        list dns 'fe80::ba27:ebff:fe50:5007'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

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

config host
        option name 'PiHole'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.250'

config host
        option name 'HomeNAS'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.200'

config host
        option name 'Tado'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.230'

config host
        option name 'Cisco-ATA'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.180'

config host
        option name 'MultiServer'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.190'

config host
        option name 'Epson-Printer'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.210'

config host
        option name 'SamKnows'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.220'

config host
        option name 'WDW-BBS'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.240'

config host
        option name 'HomeCam'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.60'

config host
        option name 'PiHole2'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.251'

config host
        option name 'homeassistant'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.80'

config host
        option name 'TapoCamLR'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.2'

config host
        option name 'TapoCamKT'
        list mac 'XX:XX:XX:XX:XX:XX'
        option ip '10.200.100.3'

cat /etc/config/firewall

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'
        option flow_offloading '1'
        option flow_offloading_hw '1'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'lan'
        list network 'VPN_Craftz'

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'BBS Telnet'
        option src 'wan'
        option src_dport '23'
        option dest_ip '10.200.100.240'
        option dest_port '23'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'BBS BinkP'
        option src 'wan'
        option src_dport '24554'
        option dest_ip '10.200.100.240'
        option dest_port '24554'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'HTTP Redirect'
        option src 'wan'
        option src_dport '80'
        option dest_ip '10.200.100.190'
        option dest_port '80'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'HTTPS Redirect'
        option src 'wan'
        option src_dport '443'
        option dest_ip '10.200.10.190'
        option dest_port '443'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Minecraft Bedrock'
        option src 'wan'
        option src_dport '19132'
        option dest_ip '10.200.100.190'
        option dest_port '19132'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Minecraft IPv6'
        option src 'wan'
        option src_dport '19133'
        option dest_ip '10.200.100.190'
        option dest_port '19133'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Minecraft Java'
        option src 'wan'
        option src_dport '25565'
        option dest_ip '10.200.100.190'
        option dest_port '25565'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'MultiServer Murmur'
        option src 'wan'
        option src_dport '64738'
        option dest_ip '10.200.100.190'
        option dest_port '64738'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'uMurmur'
        option src 'wan'
        option src_dport '51695'
        option dest_ip '10.200.100.200'
        option dest_port '51695'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Home VPN'
        option src 'wan'
        option src_dport '51820'
        option dest_ip '10.200.200.1'
        option dest_port '51820'

config redirect
        option dest 'lan'
        option target 'DNAT'
        option name 'Caddy'
        option src 'wan'
        option src_dport '2019'
        option dest_ip '10.200.100.190'
        option dest_port '2019'

There are many such providers now
Add to the planner

*/30 * * * * kill -USR1 $(pidof udhcpc)

This command will check the ip address changed or not every 30 minutes without violating the connection

2 Likes

What type is your ISP? cable? And using the provider router in bridge mode in front of your OpenWRT device?

If so, a lot of cable providers cache your WAN MAC and dont accept a different one of another router for a certain timeout, which can be a few minutes or a few hours.
This can have such or similar weird effects.
In such cases, changing the router behind a cable modem in bridge mode can become a super annoying experience.

You can try to configure the same WAN MAC on your other router, to see if this is a viable fix. Or disconnect a certain time and wait and then attach the other router.

Not saying that this is the root cause, but something that should be checked in such a case.

Symmetrical Fttp

Try to enable broadcasts. Apart from that there is little you can do if the provider is not cooperative.

uci set network.wan.broadcast='1'
uci commit network
ifup wan

I don't think it will make any difference, but the 802.11q stanza is not needed and can be deleted: