Mtr traceroute from different source interfaces

Aloha,
I have a setup with 3 different uplinks.
All my uplink provider doesnt support dynmaic routing-protocols, so I have to use static routes.
Luckily with the VyOS feature “failover”
I could setup a “floating stattic default route” which works quite good.
From time to to time I like to test my different uplinks, for best delay to certain destinations.
For that purpose I like to use MTR and specify the source interface.

What I mean is test with a traceroute my other uplinks, ignoring the current best default route.

Unfortunately that doesnt work.
Is this not supported or am I just too stupid?
:slight_smile:

sh vers
Version:          VyOS 1.5-rolling-202407280023
Release train:    current
Release flavor:   generic

My default routes look like this:

 sh ip route 0.0.0.0/0
Routing entry for 0.0.0.0/0
  Known via "kernel", distance 0, metric 20
  Last update 00:13:53 ago
  * 100.64.0.1, via bond1.66

Routing entry for 0.0.0.0/0
  Known via "static", distance 210, metric 0, tag 210
  Last update 00:14:05 ago
    77.83.188.1, via eth1, weight 1
    100.64.0.1, via bond1.66, weight 1

Routing entry for 0.0.0.0/0
  Known via "kernel", distance 0, metric 30
  Last update 19:22:45 ago
  * 193.193.213.1, via eth0

Routing entry for 0.0.0.0/0
  Known via "kernel", distance 0, metric 10, best
  Last update 2d08h27m ago
  * 77.83.188.1, via eth1

When I try to use MTR from the shell, it just work on the interface, which is pointing to the current best default route:

/bin/mtr -I eth0 9.9.9.9
 x.x.x.x-> 9.9.9.9 (9.9.9.9)                                                                                 2024-12-08T14:33:33+0200
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                                                                                     Packets               Pings
 Host                                                                                                              Loss%   Snt   Last   Avg  Best  Wrst StDev

From the eth1 interface, which is currently the correct outgoing interface

(x.x.x.x) -> 9.9.9.9 (9.9.9.9)                                                                                    2024-12-08T14:36:24+0200
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                                                                                     Packets               Pings
 Host                                                                                                              Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. nat.254.utels.ua                                                                                                0.0%     8    3.1   1.4   0.5   3.1   1.0
 2. ae1-208.rt.bmb.kiv.ua.retn.net                                                                                  0.0%     8    1.3   2.5   0.6   8.4   2.5
 3. ae12-9.rt.ntl.kiv.ua.retn.net                                                                                   0.0%     8    4.2   8.5   1.0  47.3  15.7
 4. gw-as49544.retn.net                                                                                             0.0%     8    1.9   1.7   0.9   2.2   0.5
 5. plwaw1-rt002i.i3d.net                                                                                           0.0%     8   13.1  13.7  13.1  14.3   0.4
 6. hosted-by.i3d.net                                                                                               0.0%     8   14.1  13.6  12.9  14.3   0.6
 7. dns9.quad9.net                                                                                                  0.0%     7   13.1  13.8  13.1  14.3   0.

Works as designed, or is it possible?
I was hoping, to test uplink without changing default route.
After all, the failover protocol is doing the exact thing

Glad to hear any hint
Cheers
MArcel

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.