Wireguard client on Beryl MT3000 ignores DNS and split-tunnel config

Background

I have a GL.iNet GL-MT3000 running OpenWrt 21.02-SNAPSHOT r15812+908-46b6ee7ffc and Kernel Version 5.4.211. Firmware is Version 4.7.0 release3.

I have a Wireguard VPN server setup elsewhere. I downloaded the config file and configured the Wireguard VPN client on the MT3000. When the client service is running, it connects successfully to the server.

Both whatismyip.com and ipleaks.net show my IP address is the VPN server's exit node address.

I have the Wireguard VPN client set to "VPN Policy Based on Target Domain or IP", set it to "Do Not Use VPN", and have entered several domains into the associated list. I can confirm that they show up in /etc/config/vpnpolicy in addition to the GUI.

Hardware acceleration is off.

Problem

Split tunneling is not working. When the VPN client is running, all traffic gets routed through my Wireguard server, regardless of whether it is whitelisted or not.

Hello,

We have aware this issue/request.

The all traffic of DNS requests will go to the VPN interface.

This codes to avoid the problem of DNS leaks.

Later, we will further improve the DNS split and the DNS traffic follows the client of the policy mode.