Hello everyone,
I had some difficulty getting Kaspersky VPN to work correctly with OpenWrt, especially when using it together with Policy-Based Routing (PBR).
I finally got it working and wanted to share the solution.
Environment
OpenWrt: 25.12.5 Target: x86/64 OpenVPN: 2.7.6 PBR: 1.2.2-r20 LAN: 192.168.1.0/24 Router: 192.168.1.1
I have two VPNs running simultaneously:
NordVPN → tun0 Kaspersky VPN → tun1
Goal
The objective was to route different LAN clients through different VPNs:
192.168.1.190 → NordVPN 192.168.1.121 → Kaspersky VPN Other clients → normal WAN
Kaspersky OpenVPN configuration
The important part of the Kaspersky .ovpn configuration is:
dev tun1 route-nopull pull-filter ignore "redirect-gateway" pull-filter ignore "dhcp-option"
This prevents Kaspersky VPN from replacing the router's global default route.
The VPN successfully creates:
tun1
and receives its VPN address dynamically.
PBR configuration
I created a PBR interface for the Kaspersky tunnel:
KasperskyPBR → tun1
The PBR policy is:
Source: 192.168.1.121 Interface: KasperskyPBR
The NordVPN client uses:
192.168.1.190 → VPNTunel → tun0
Important discovery
Initially, I tried to create a normal persistent OpenWrt network interface
for tun1.
After reloading the network service, netifd interfered with the
OpenVPN tunnel and the IPv4 address assigned to tun1 was removed.
The working approach was to let OpenVPN control tun1, while using a separate PBR interface KasperskyPBR to reference the tunnel.
Final result
Both VPNs are active simultaneously:
192.168.1.190 → PBR → tun0 → NordVPN 192.168.1.121 → PBR → tun1 → Kaspersky VPN Other clients → WAN
I tested both clients simultaneously with real Internet traffic.
Each client received a different public IP, confirming that the traffic was actually going through the correct VPN.
For privacy, the actual public IP addresses are not included in this post.
Final topology
┌── 192.168.1.190 → NordVPN → tun0
LAN → OpenWrt → PBR ┤
└── 192.168.1.121 → Kaspersky → tun1
Other LAN clients → normal WAN
Conclusion
This configuration allows Kaspersky VPN and NordVPN to run simultaneously on the same OpenWrt router, with VPN selection performed on a per-client basis using PBR.
Additional LAN clients can be assigned to Kaspersky VPN simply by adding them to PBR policies.
Hopefully this is useful to anyone trying to run Kaspersky VPN on OpenWrt.
[SOLVED]