I'm having an issue with OpenWRT 24.10.3 on my ASUS RT-AX54, the issue is very similar to this post but the solution given to this user didn't apply to my configuration as the option was already applied.
None of my client devices are being leased IPv4 addresses by the router, however IPv6 is working as expected on all devices. Upstream my ISP is all ok, If I plug a device straight into my cable modems second port I get a new public IPv4 assigned to the device and the OpenWRT device is being issued one too. If I manually configure a client to have a static IPv4 from the client device IPv4 traffic from that device starts to flow as normal.
I've got no idea where to go from here in terms of troubleshooting, I tried the basic rebooting of things in case it was some fluke and nothing changed. I checked all my firewall settings, DHCP settings, network interface configurations and it all seems ok to me. None of the solutions I'm finding on the forum to similar issues are working for me either.
Let’s look at the config. Should be easy to fix.
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:
Remember to redact passwords, VPN keys, 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
Thank you for the quick reply, I appreciate the help. I think I redacted everything sensitive, here's the output of the commands:
root@main-router:~# ubus call system board
config/network
cat /etc/config/dhcp
cat /etc/config/firewall{
"kernel": "6.6.104",
"hostname": "main-router",
"system": "MediaTek MT7621 ver:1 eco:3",
"model": "ASUS RT-AX54",
"board_name": "asus,rt-ax54",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.3",
"revision": "r28872-daca7c049b",
"target": "ramips/mt7621",
"description": "OpenWrt 24.10.3 r28872-daca7c049b",
"builddate": "1758316778"
}
}
root@main-router:~# 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 'fda7:445d:bb02::/48'
option packet_steering '1'
option steering_flows '128'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option device 'wan'
option proto 'dhcp'
config interface 'wan6'
option device 'wan'
option proto 'dhcpv6'
root@main-router:~# 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 '50'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option dhcpv6 'server'
option ra 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
list dhcp_option '192.168.1.21'
list dhcp_option '1.1.1.1'
list dhcp_option '1.0.0.1'
option force '1'
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 'NewNAS'
list mac '[REDACTED]'
option ip '192.168.1.20'
config host
option name 'Pi-hole'
list mac '[REDACTED]'
option ip '192.168.1.21'
option duid '00041a098659516611f38a3f2240bd6a4b62'
config host
option name 'e-reader'
list mac '[REDACTED]'
option ip '192.168.1.30'
root@main-router:~# cat /etc/config/firewall
config defaults
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
config zone
option name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config zone
option name 'wan'
list network 'wan'
list network 'wan6'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option mtu_fix '1'
option masq '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 'Nextcloud'
list proto 'tcp'
option src 'wan'
option src_dport '9001'
option dest_ip '192.168.1.20'
option dest_port '9001'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'Jellyfin'
list proto 'tcp'
option src 'wan'
option src_dport '8096'
option dest_ip '192.168.1.20'
option dest_port '18096'
config rule
option src 'wan'
option dest 'lan'
option name 'Nextcloud'
list proto 'tcp'
option src_port '9001'
list dest_ip '192.168.1.20'
option dest_port '9001'
option target 'ACCEPT'
config rule
option src 'wan'
option dest 'lan'
option name 'Jellyfin'
list proto 'tcp'
option src_port '8096'
list dest_ip '192.168.1.20'
option dest_port '18096'
option target 'ACCEPT'
These are invalid. Delete them. Restart and test.
Oh, that's the problem. It also explains why it seemed to show up shortly after properly configuring my pi-hole, I meant to set those as DNS servers.
...Well that's embarrassing, I lost about 5 hours of sleep because I misread DHCP as DNS
Actually, you do use DHCP options to advertise the DNS servers, if that was your intent. You need to specify it with DHCP option 6 like this:
list dhcp_option '6,192.168.1.21'
It was not, but good to know I can do that!
system
Closed
October 28, 2025, 4:16am
8
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.