First and foremost, the link that @sammo supplied did not solve anything. I tried the solution provided and it seemed to work for a few hours - like most solutions I have tried - but in the end the problem came back. The last few days I have had days when everything is working and then suddenly it stops working.
Today there were two hosts I couldn't reach. I did a simple telnet 192.168.1.12 8123 (HomeAssistant port) from my laptop (and from my browser on my phone) and I couldn't reach the host. But if I did the same test from the router everything worked just fine. The interesting part is that after doing a couple of telnet attempts from my laptop I suddenly got through and then it was stable, like I pierced through some kind of wall of some sort. While doing the test I did a tcpdump from the Archer C7 router and while I couldn't reach the host there was a total silence in the output - like it never reached the router or passed the Data Link-layer perhaps?
I have another Archer C7 V2 which have exactly the same behaviour. Also, if I dont recall incorrectly I believe I may had similar issue with the original stock firmware.
Anyhow, I'm pasting a previous test I did a few days ago when it was not working. I hope it's the details you requested.
I'm trying to reach a host with the ip adress of 192.168.1.227.
192.168.1.227 is running Tasmota on a Sonoff ZB Bridge. Connected through 2.4GHZ wireless network.
My Archer C7 V2 is responsible for both wired and wireless networks. DHCP is enabled and I'm using a 192.168.1.0/24 network. Have no firewall enabled on the LAN side.
TEST 1 - Laptop connected through WIFI
I'm using an laptop connected through WIFI, the same as 192.168.1.227 is connected to. The OS I'm using is Manjaro and the kernel is 5.4
IP: 192.168.1.191
PING TEST <<
[tomas@academy ~]$ ping -c 3 192.168.1.227
PING 192.168.1.227 (192.168.1.227) 56(84) bytes of data.
From 192.168.1.191 icmp_seq=1 Destination Host Unreachable
From 192.168.1.191 icmp_seq=2 Destination Host Unreachable
From 192.168.1.191 icmp_seq=3 Destination Host Unreachable
--- 192.168.1.227 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2038ms
pipe 3
This fails.
TRACEROUTE TEST <<
[tomas@academy ~]$ traceroute 192.168.1.227
traceroute to 192.168.1.227 (192.168.1.227), 30 hops max, 60 byte packets
1 academy.lan (192.168.1.191) 3043.221 ms !H 3043.114 ms !H 3043.081 ms !H
[tomas@academy ~]$
Seems reasonable, besides the high response time.
TEST 2 - Stationary computer connected through wired network
I'm using a stationary computer connected through wired network, a cable directly to Archer C7. The OS I'm using is Manjaro and the kernel is 5.10.
IP: 192.168.1.174
PING TEST <<
[tomas@wombat]$ ping -c 3 192.168.1.227 4s
PING 192.168.1.227 (192.168.1.227) 56(84) bytes of data.
64 bytes from 192.168.1.227: icmp_seq=1 ttl=255 time=5.38 ms
64 bytes from 192.168.1.227: icmp_seq=2 ttl=255 time=21.7 ms
64 bytes from 192.168.1.227: icmp_seq=3 ttl=255 time=46.0 ms
--- 192.168.1.227 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 5.375/24.358/45.959/16.671 ms
GOOD, but not awesome response time.
TRACEROUTE TEST <<
[tomas@wombat]$ traceroute 192.168.1.227
traceroute to 192.168.1.227 (192.168.1.227), 30 hops max, 60 byte packets
1 zbbridge1.l
GOOD!
TEST 3 - From Archer C7
IP: 192.168.1.1
OpenWrt 21.02
PING TEST <<
root@OpenWrt:~# ping -c 3 192.168.1.227
PING 192.168.1.227 (192.168.1.227): 56 data bytes
64 bytes from 192.168.1.227: seq=0 ttl=255 time=33.361 ms
64 bytes from 192.168.1.227: seq=1 ttl=255 time=64.697 ms
64 bytes from 192.168.1.227: seq=2 ttl=255 time=81.042 ms
--- 192.168.1.227 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 33.361/59.700/81.042 ms
GOOD, but not awesome response time.
TRACEROUTE TEST <<
root@OpenWrt:~# traceroute 192.168.1.227
traceroute to 192.168.1.227 (192.168.1.227), 30 hops max, 38 byte packets
1 zbbridge1.lan (192.168.1.227) 45.810 ms 6.215 ms 6.221 ms
Finally, here are the files you asked me to concat.
/etc/config/network:
config interface 'loopback'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
option device 'lo'
config globals 'globals'
option ula_prefix 'fd44:333c:f2c3::/48'
config interface 'lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option device 'br-lan'
config interface 'wan'
option proto 'dhcp'
option device 'eth0.2'
config interface 'wan6'
option proto 'dhcpv6'
option device 'eth0.2'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '2 3 4 5 0t'
config switch_vlan
option device 'switch0'
option vlan '2'
option ports '1 6t'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth1.1'
/etc/config/wireless:
config wifi-device 'radio0'
option type 'mac80211'
option channel '36'
option hwmode '11a'
option path 'pci0000:00/0000:00:00.0'
option htmode 'VHT80'
option legacy_rates '0'
option country 'SE'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'yyy-5GHz'
option key 'xxx'
option encryption 'psk2+ccmp'
option disassoc_low_ack '0'
config wifi-device 'radio1'
option type 'mac80211'
option channel '11'
option hwmode '11g'
option path 'platform/ahb/18100000.wmac'
option htmode 'HT20'
option legacy_rates '0'
option country 'SE'
option txpower '19'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option key 'xxx'
option ssid 'yyy'
option encryption 'psk2'
/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 authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option localservice '1'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv6 'server'
option ra 'server'
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'
/etc/config/firewall:
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
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 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 src_ip 'fc00::/6'
option dest_ip 'fc00::/6'
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 include
option path '/etc/firewall.user'
config redirect
option src 'wan'
option name 'WireGuard'
option src_dport '51820'
option target 'DNAT'
option dest_ip '192.168.1.12'
option dest 'lan'
list proto 'udp'
option dest_port '51820'
config rule
list proto 'all'
option name 'Disable media box'
list src_ip '192.168.1.203'
option dest 'wan'
option target 'DROP'
option src 'lan'
option enabled '0'
config redirect
option dest_port '51820'
option src 'wan'
option name 'Wireguard'
option src_dport '51820'
option target 'DNAT'
option dest_ip '192.168.1.12'
option dest 'lan'
list proto 'udp'