rfc 1812 third party address on traceroute

Job Snijders job at instituut.net
Tue May 31 08:27:33 UTC 2016


On Mon, May 30, 2016 at 10:03:33PM -0700, Randy Bush wrote:
>                .-----------------.
>                |                 |
>                |               B |--------- D
>     S ---------| A      R        |
>                |               C |--------- (toward S)
>                |                 |
>                `-----------------'
> 
> if the source of a traceroute from S toward D with TTL to expire on R,
> and R's FIB wants to exit via C to get back to S (yes, virginia, the
> internet is highly asymmetric), the source address of the time exceeded
> message should be C.
> 
> of course, simpletons such as i would desire the source of the time
> exceeded message to be A.  after all, this is the interface to which i
> sent the icmp with the TTL to expire.
> 
> is anyone seeing the dreaded rfc1812 behavior in a citable fashion?  how
> common is it?

On most Linux the default behaviour is using source address "C", but
this can be corrected by setting the following somewhere in your
/etc/sysctl.d/ files:

	# make traceroute nice
	net.ipv4.icmp_errors_use_inbound_ifaddr=1

Kind regards,

Job



More information about the NANOG mailing list