• Welcome to Hurricane Electric's IPv6 Tunnel Broker Forums.

Technical meaning for the tunnel's client and server ipv6 addresses

Started by lespinasse, May 21, 2021, 11:40:05 PM

Previous topic - Next topic



I am a bit curious as to what a tunnel's client and server IPv6 addresses are used for.

My understanding is - when IPv6 packets get encapsulated to go through the tunnel, they are wrapped within an IPv4 packet using the tunnel's client and server IPv4 addresses as source and destination addresses, and 41 as the protocol. The tunnel's client and server IPv6 addresses wouldn't even show up within the encapsulated packet, so why do we need to configure them for / what are the configured addresses ever used for ?

In other words - what would go wrong if, in my openwrt config for the tunnel, I used option ip6addr "$prefix::1/48" where prefix is my routed prefix (also used in the option ip6prefix line), instead of the supplied client IPv6 address ? Experimentally the config seems to work, but I figure there must be a reason I don't grasp for the given client and server IPv6 addresses.




Figure a 'normal' IPv6 network connection.  You have an upstream router, which has your gateway address, and your local system.  Traffic outside of your local network would need to send traffic to your default gateway.  So while the client and server IPv6 addresses aren't explicitly in the packet, they're still used by the network stack to determine which interface things go out.  While 'unnumbered' is a thing in some concepts, it's just cleaner to have all pieces of a link visible, especially when there's limited diagnostic visibility as with a 6in4 tunnel.