Sample config:
set load-balancing wan interface-health eth0 nexthop '10.217.32.254' set load-balancing wan interface-health eth0 test 10 target '8.8.8.8' set load-balancing wan interface-health eth1 nexthop '192.168.1.1' set load-balancing wan interface-health eth1 test 10 target '1.1.1.1' set load-balancing wan rule 1 failover set load-balancing wan rule 1 inbound-interface 'eth5' set load-balancing wan rule 1 interface eth0 weight '2' set load-balancing wan rule 1 interface eth1 weight '1' set load-balancing wan rule 1 protocol 'all'
When configuring WAN load balancing with two or more interfaces, only the first interface is ever used for traffic. The second interface never becomes active in the forwarding path, even when its health checks are passing.
An example config above, with eth0 and eth1 configured in a failover rule with eth1 as primary (weight 1) and eth0 as backup (weight 2), all traffic is sent via eth0. show wan-load-balance status only shows a rule for eth0, and the journal only logs State change: eth0 -> True with no mention of eth1.
Manually pinging the health check target from eth1 succeeds, confirming the link is healthy. Restarting the service does not resolve the issue.
vyos@vyos:~$ show wan-load-balance Interface: eth0 Status: active Last Status Change: 2026-04-17 11:36:22 Last Interface Success: 0:02:53.578027 Last Interface Failure: N/A Interface Failures: 0 Interface: eth1 Status: active Last Status Change: 2026-04-17 11:36:22 Last Interface Success: 0:02:53.536477 Last Interface Failure: N/A Interface Failures: 0 vyos@vyos:~$ show wan-load-balance status iifname "eth5" ct state new counter packets 0 bytes 0 jump wlb_mangle_isp_eth0
Logs:
Apr 17 11:22:51 vyos systemd[1]: Stopping VyOS WAN Load Balancer... Apr 17 11:22:51 vyos python3[13228]: Notice: Waiting for commit to complete... Apr 17 11:22:51 vyos python3[13228]: Notice: Waiting for commit to complete... Apr 17 11:22:51 vyos python3[13228]: INFO: State change: eth0 -> True Apr 17 11:22:51 vyos systemd[1]: vyos-wan-load-balance.service: Deactivated successfully. Apr 17 11:22:51 vyos systemd[1]: Stopped VyOS WAN Load Balancer. Apr 17 11:22:51 vyos systemd[1]: vyos-wan-load-balance.service: Consumed 3.087s CPU time. Apr 17 11:22:51 vyos systemd[1]: Started VyOS WAN Load Balancer. Apr 17 11:27:25 vyos systemd[1]: Stopping VyOS WAN Load Balancer... Apr 17 11:27:25 vyos python3[14741]: Notice: Waiting for commit to complete... Apr 17 11:27:25 vyos python3[14741]: Notice: Waiting for commit to complete... Apr 17 11:27:25 vyos python3[14741]: INFO: State change: eth0 -> True Apr 17 11:27:25 vyos systemd[1]: vyos-wan-load-balance.service: Deactivated successfully. Apr 17 11:27:25 vyos systemd[1]: Stopped VyOS WAN Load Balancer. Apr 17 11:27:25 vyos systemd[1]: vyos-wan-load-balance.service: Consumed 2.763s CPU time. Apr 17 11:27:25 vyos systemd[1]: Started VyOS WAN Load Balancer.
Version:
vyos@vyos:~$ show vers Version: VyOS 1.5.0 Release train: circinus Release flavor: kvm Built by: VyOS Inc. Built on: Mon 30 Mar 2026 15:13 UTC Build UUID: 8fc890cf-a392-4c1b-a7a2-700d311cd0c7 Build commit ID: cb47cdb72c6d08