I’ve had VyOS running in ESXi 6.7 for over a year now, and I’ve just run into a problem recently where VyOS is sending traffic out the wrong interface. I’ve found that there is a mismatch between VyOS’s route table and the output of the OS’s
ip route command.
Apologies for the images - I can’t SSH in so I’m stuck using the ESXi web console, which doesn’t support copy/paste
Here are the details:
- Version output (using the VyOS official ISO for 1.2.6-S1): https://imgur.com/E5NWarN
- Interface config (eth0 is DHCP-connected WAN, eth1 is a LAN /30, BGP’d to a Cisco 3750x, though we’re not connected to even get BGP up): https://imgur.com/y6LDV4k
- Route output (I have some VPNs with VTIs that are also misbehaving and going out eth0 instead of getting into the VTI, but I suspect its the same issue): https://imgur.com/3DM8BeA
- Traffic destined for 10.1.0.14 (which is the other end of the eth1 /30) is going out eth0 instead. I can reproduce this with ping, but since I can’t have two windows open at once at the moment due to the router being disconnected, here’s a repro with BGP:
- We can see, however - that the VyOS route table shows the proper route, but
ip routeshows eth0: https://imgur.com/60N2DVo
Thoughts on why this is happening? I’ve rebooted a few times, and over time, this ends up happening. My other VyOS router (running in a primary/failover model via BGP) is just fine with about the exact same config. Anything I can check or pull to debug this?