WireGuard VPN fails to connect from GL-AR750

I have a GL-AR750 with latest firmware 3.216.

I have a self-hosted WireGuard server (PiVPN) accessible with port forwarding and a dynamic DNS. It works fine from phones, so the basics are operational.

However, when I enter a config into the GL-AR750 it hangs trying to connect. The red Abort button is displayed permanently until it is clicked to abort. WAN traffic is blocked while it is trying to connect. No error messages are displayed.

The VPN server is reachable by pinging the dynamic DNS address (both from the computer attached to the router, and from an SSH session in the router (root@GL-AR750:)

Here is the redacted config file generated by pivpn:

[Interface]
PrivateKey = U***********
Address = 10.246.104.4/24,fd11:5ee:bad:c0de::af6:6804/64
DNS = 8.8.8.8, 8.8.4.4

[Peer]
PublicKey = *************=
PresharedKey = /*****************=
Endpoint = my.dnsplace.org:51820
AllowedIPs = 0.0.0.0/0, ::0/0

I was able to SSH into the router, and look at the log using logread. There are many errors and warnings, but it is unclear what the root cause is.

Sat Aug  9 17:20:23 2025 user.notice wireguard: wireguard client start
Sat Aug  9 17:20:24 2025 daemon.info dnsmasq[10063]: exiting on receipt of SIGTERM
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: started, version 2.80 cachesize 150
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: DNS service limited to local subnets
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-L                   ua TFTP conntrack ipset auth nettlehash DNSSEC no-ID loop-detect inotify dumpfile
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq-dhcp[10708]: DHCP, IP range 192.168.11.100 -- 192.168.11.249, lease time 12h
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain test
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain onion
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain localhost
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain local
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain invalid
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain bind
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain lan
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: reading /tmp/resolv.conf.vpn
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain test
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain onion
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain localhost
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain local
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain invalid
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain bind
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using local addresses only for domain lan
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: using nameserver 8.8.4.4#53
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: read /etc/hosts - 4 addresses
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq[10708]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Sat Aug  9 17:20:25 2025 daemon.info dnsmasq-dhcp[10708]: read /etc/ethers - 0 addresses
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Section @zone[1] (wan) cannot resolve device of network 'wan6'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Section @zone[1] (wan) cannot resolve device of network 'wwan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Option 'wireguard'.masq6 is unknown
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Option 'sambasharewan'.dest_proto is unknown
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Section 'sambasharewan' does not specify a protocol, assuming TCP+U                   DP
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Option 'sambasharelan'.dest_proto is unknown
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: Section 'sambasharelan' does not specify a protocol, assuming TCP+U                   DP
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Clearing IPv4 filter table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Clearing IPv4 nat table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Clearing IPv4 mangle table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Clearing IPv4 raw table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Populating IPv4 filter table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'input_wireguard_rule'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'output_wireguard_rule'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'forwarding_wireguard_rule                   '
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-DHCP-Renew'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-Ping'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-IGMP'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-IPSec-ESP'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-ISAKMP'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'guestzone_DHCP'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'guestzone_DNS'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule #11
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule #12
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-Wireguard'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'lan' -> 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'guestzone' -> 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'wireguard' -> 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'wireguard' -> 'lan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'lan' -> 'wireguard'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'guestzone' -> 'wireguard'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Forward 'wireguard' -> 'guestzone'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Populating IPv4 nat table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_wireguard_rule                   '
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_wireguard_rul                   e'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Populating IPv4 mangle table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:  * Populating IPv4 raw table
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:      - Using automatic conntrack helper attachment
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:      - Using automatic conntrack helper attachment
Sat Aug  9 17:20:26 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Clearing IPv6 filter table
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Clearing IPv6 nat table
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Clearing IPv6 mangle table
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Populating IPv6 filter table
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'input_wireguard_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'output_wireguard_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'forwarding_wireguard_rule                   '
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-DHCPv6'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-MLD'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-ICMPv6-Input'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-ICMPv6-Forward'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-IPSec-ESP'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'Allow-ISAKMP'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'guestzone_DHCP'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule 'guestzone_DNS'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule #11
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Rule #12
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'lan' -> 'wan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'guestzone' -> 'wan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'wireguard' -> 'wan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'wireguard' -> 'lan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'lan' -> 'wireguard'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'guestzone' -> 'wireguard'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Forward 'wireguard' -> 'guestzone'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Populating IPv6 nat table
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_lan_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_lan_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_wan_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_wan_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_guestzone_rule                   '
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_guestzone_rul                   e'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_wireguard_rule                   '
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_wireguard_rul                   e'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_rule'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Populating IPv6 mangle table
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'lan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'wan'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'guestzone'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:    * Zone 'wireguard'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Set tcp_ecn to off
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Set tcp_syncookies to on
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Set tcp_window_scaling to on
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Running script '/etc/firewall.user'
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: uci: Entry not found
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: uci: Entry not found
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: uci: Entry not found
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: iptables: No chain/target/match by that name.
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: iptables: No chain/target/match by that name.
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: ipset v7.3: The set with the given name does not exist
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]: iptables: No chain/target/match by that name.
Sat Aug  9 17:20:27 2025 daemon.err gl_monitor[3459]:  * Running script '/usr/bin/glfw.sh'
Sat Aug  9 17:20:28 2025 daemon.err gl_monitor[3459]:  * Running script '/var/etc/gls2s.include'
Sat Aug  9 17:20:28 2025 daemon.err gl_monitor[3459]:    ! Skipping due to path error: No such file or directory
Sat Aug  9 17:20:28 2025 daemon.err gl_monitor[3459]:  * Running script '/usr/sbin/glqos.sh'
Sat Aug  9 17:20:29 2025 daemon.err gl_monitor[3459]: ifconfig: br-guest: error fetching interface information: Device not found
Sat Aug  9 17:20:30 2025 daemon.err gl_monitor[3459]: /sbin/uci: Invalid argument
Sat Aug  9 17:20:30 2025 daemon.err gl_monitor[3459]: /sbin/uci: Invalid argument
Sat Aug  9 17:20:31 2025 user.info mwan3rtmon[3048]: Detect rtchange event.
Sat Aug  9 17:20:32 2025 daemon.err gl_monitor[3459]: uci: Entry not found
Sat Aug  9 17:20:33 2025 user.notice wiregaurd: client start completed, del glwg.lock
Sat Aug  9 17:20:33 2025 daemon.err gl_monitor[3459]: uci: Entry not found
Sat Aug  9 17:21:45 2025 user.notice wireguard: wireguard client stop

I reviewed these other similar posts, but did not find a solution:

GL-AR150, GL-AR750: WireGuard Client cannot connect to a GLiNet WireGuard server Routers
GL-AR750S Wireguard client cannot connect to external wireguard server Routers
GL.iNet GL-AR750s-EXT Wireguard VPN & Clients section Routers

One suggested providing the output of cat /etc/config/wireguard
The file exists, and contains the information from the config file shown in redacted form above.

The first thing I'd try is dropping all references to any IPv6 in any WG conf. It may be tripping up there. Regardless I mark IPv6 is a leak risk.

I'm going to be modeling a WG client on my AR750 to a AXT100 later today. IDK the Certa's firmware ver but I think it's the same one. Hit me up in 48 hrs if you don't hear from me.

Thanks for reply. There is nothing about IPv6 in the config file. The entire config file that was generated by PiVPN is shown in the original post (with keys redacted).

Are there settings in the router to disable IPv6 with respect to the VPN?

That's IPv6. So is ::0/0. Also, a PSK wouldn't start with / but that looks more like a typo when you were redacting.

Not that I'm aware of in v3-series but I disabled it system-wide @ the kernel level. Here; this is based partially on GL.iNet firmware v4.8.x's 'disable IPv6' toggle in their GUI & addn'l for completeness:

if [ ! -s /etc/sysctl.d/99-disable-ipv6.conf ]; then
	mkdir -p /etc/sysctl.d/
	cat <<- '__EOF' > /etc/sysctl.d/99-disable-ipv6.conf
		net.ipv6.conf.all.disable_ipv6=1
		net.ipv6.conf.default.disable_ipv6=1
		net.ipv6.conf.lo.disable_ipv6=1
		net.ipv6.conf.all.disable_policy=1
		net.ipv6.conf.default.forwarding=0
		net.ipv6.conf.all.forwarding=0
	__EOF
fi

Reboot for it to take effect.

This is the latest firmware I have the option to upgrade to.
Maybe there is another way to upgrade to 4.x other than the built-in upgrade UI?

The IPv6 address fd11:5ee:bad:c0de::af6:6804/64 is a ULA (Unique local address), so it would not be routable on the Internet.

I thought the "bad:c0de" reference was to indicate it is just a "placeholder" and would not be used externally. I think it is the address used for the VPN interface - "inside the tunnel"

I presented it exactly as generated by PiVPN since it is a non-routable address (as is the IPv4 address 10.246.104.4.

This line is also exactly as generated by PiVPN - not redacted or edited.
AllowedIPs = 0.0.0.0/0, ::0/0

I left it as default. It does work with a phone, but maybe is a problem for the router?

So I lied. My Certa is on v.4.3.7-release4. Here's its WG Client conf for a direct tunnel to an upstream Flint v1 (GL-AX1800) WG Server running 4.6.8-release1:

[Interface]
Address = 10.0.71.6/24
PrivateKey = [redacted]=
MTU = 1320

[Peer]
AllowedIPs = 0.0.0.0/0, 192.168.81.0/24
Endpoint = 192.168.71.1:51820
PersistentKeepalive = 25
PublicKey = [redacted]=
PresharedKey = [redacted]=
root@certa:~# wg show
interface: wgclient
  public key: [redacted]=
  private key: (hidden)
  listening port: 42454
  fwmark: 0x80000

peer: [redacted]=
  preshared key: (hidden)
  endpoint: 192.168.71.1:51820
  allowed ips: 0.0.0.0/0, 192.168.81.0/24
  latest handshake: 29 seconds ago
  transfer: 6.39 MiB received, 568.64 KiB sent
  persistent keepalive: every 25 seconds

That is to say the Certa's WAN is downstream on the Flint v1's LAN. Here is the Certa's WG log:

Sun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Section wgclient2lan skipped due to invalid optionsnamesSun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Section nat6 option 'reload' is not supported by fw4
Sun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Section gls2s option 'reload' is not supported by fw4
Sun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Section gls2s specifies unreachable path '/var/etc/gls2s.include', ignoring section
Sun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Section glblock option 'reload' is not supported by fw4
Sun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Section vpn_server_policy option 'reload' is not supported by fw4
Sun Aug 10 22:02:48 2025 daemon.notice netifd: wgclient (27601): [!] Automatically including '/usr/share/nftables.d/chain-pre/mangle_output/01-process_mark.nft'
Sun Aug 10 22:02:50 2025 daemon.notice netifd: wgclient (27601): DROP  all opt -- in * out *  0.0.0.0/0  -> 0.0.0.0/0   match-set GL_MAC_BLOCK src
Sun Aug 10 22:02:50 2025 daemon.notice netifd: wgclient (27601): Failed to parse json data: unexpected character
Sun Aug 10 22:02:50 2025 daemon.notice netifd: wgclient (27601): uci: Entry not found
Sun Aug 10 22:02:50 2025 daemon.notice netifd: Interface 'wgclient' is now down
Sun Aug 10 22:02:53 2025 user.notice mwan3[27741]: Execute ifdown event on interface wgclient (unknown)
Sun Aug 10 22:02:58 2025 user.notice firewall: Reloading firewall due to ifdown of wgclient ()
Sun Aug 10 22:08:33 2025 daemon.notice netifd: Interface 'wgclient' is setting up now
Sun Aug 10 22:08:35 2025 daemon.notice netifd: Network device 'wgclient' link is up
Sun Aug 10 22:08:35 2025 daemon.notice netifd: Interface 'wgclient' is now up
Sun Aug 10 22:08:35 2025 user.notice wgclient-up: env value:T_J_V_ifname=string J_V_address_external=1 USER=root ifname=wgclient ACTION=KEYPAIR-CREATED N_J_V_address_external=address-external SHLVL=2 J_V_keep=1 HOME=/ HOTPLUG_TYPE=wireguard T_J_V_interface=string J_V_ifname=wgclient T_J_V_link_up=boolean LOGNAME=root DEVICENAME= T_J_V_action=int TERM=linux SUBSYSTEM=wireguard PATH=/usr/sbin:/usr/bin:/sbin:/bin CONFIG_LIST_STATE= J_V_interface=wgclient K_J_V= action ifname link_up address_external keep interface J_V_link_up=1 J_V_action=0 T_J_V_address_external=boolean N_J_V_link_up=link-up T_J_V_keep=boolean PWD=/ JSON_CUR=J_V CONFIG_SECTIONS=global AzireVPN Mullvad FromApp group_2650 group_5616 group_8583 group_6120 peer_2001 peer_2002 peer_3130 CONFIG_cfg030f15_ports=
Sun Aug 10 22:08:39 2025 user.notice mwan3[3252]: Execute ifup event on interface wgclient (wgclient)
Sun Aug 10 22:08:41 2025 user.notice mwan3[3252]: Starting tracker on interface wgclient (wgclient)
Sun Aug 10 22:08:51 2025 user.notice firewall: Reloading firewall due to ifup of wgclient (wgclient)

Hi

Please try upgrading the firmware to see if it works now.
You can download the latest 4.3.25 firmware here and upgrade it according this guide.

We used the AR750 with this firmware to test, and the similar WG configuration with IPv6 can work fine.

I can confirm v.4.3.25 also operates as expected, as documented above, without IPv6.