Using traceroute with source-address or interface going through specific source or interface fails

Hi,

we have here multiple BGP peers and i would like to check how a specific traceroute would look like if the traffic would go through BGP peer A and compare it how it would look like going through BGP neighbour B.

I am using the traceroute command for this.

Doing:

traceroute $target

will work, using the default routing table.

Trying to enforce a specific source-address or interface like:

traceroute $target source-address $local_address_for_bgp_neighbour_A

Will just still route it through the default table, and not through the bgp session of neighbour_A.

trying

traceroute $target interface $interface_of_IP_to_bgp_neighbour_A

will just give * * *

Unfortunately there seems to be no documentation where the options of traceroute are explained so i am a bit stuck here.

Any advice / suggestion is appriciated! Thank you for your time!

And if you monitor traffic through the interface specified in the command, you don’t see this traffic at all?

Probably, this way you only specify source address, not route being used.
adding a temporary /32 static route can alter the path during testing

Hi,

no, actually to me it seems the whole feature does not work.

It does not matter if you are using ping in combination with source-address or interface.

You will just have:

4 packets transmitted, 0 received, 100% packet loss, time 3079ms

A command like

monitor traffic interface eth2 numeric | grep $source_address | grep $target_address

will show right nothing. No sign of this requests. Also if you work without the grep’s, there is just nothing.

Which version?
Provide the output of “show version”

And directly using traceroute command, and not using VyOS cli. Do you get desired results?
Man page: traceroute(1) — traceroute — Debian stretch — Debian Manpages

If no packets are shown…packets probably are sent on a different interface

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