[189490] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: rfc 1812 third party address on traceroute

daemon@ATHENA.MIT.EDU (Job Snijders)
Tue May 31 04:27:41 2016

X-Original-To: nanog@nanog.org
Date: Tue, 31 May 2016 10:27:33 +0200
From: Job Snijders <job@instituut.net>
To: Randy Bush <randy@psg.com>
In-Reply-To: <m2r3cihl96.wl%randy@psg.com>
Cc: North American Network Operators' Group <nanog@nanog.org>
Errors-To: nanog-bounces@nanog.org

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

home help back first fref pref prev next nref lref last post