News item 2009-03-30 - Koos van den Hout

2009-03-30 11 months ago
With IPv6 I have enough address space to select a 'nicer looking' address on outgoing connections from home server greenblatt. The assigned endpoint, 2001:888:10:11::2 resolves to tunnel17.ipv6.xs4all.nl which is an ok name, but something of my own is better. So, I have set up /etc/network/interfaces to add another address of my own and use this as source in outgoing traffic:
iface xs4allipv6 inet6 v4tunnel
    endpoint 194.109.5.241
    address 2001:888:10:11::2
    netmask 64
    up ip tunnel change xs4allipv6 ttl 64
    up ip -6 addr add 2001:888:1011::13/128 dev xs4allipv6
    up ip -6 route add unreachable 2001:888:1011::/48
    up ip -6 route add default via 2001:888:10:11::1 src 2001:888:1011::13
    down ip -6 route del unreachable 2001:888:1011::/48
I add the address I prefer, 2001:888:1011::13 with such a netmask that it doesn't clash with the fact that address is part of the range on the wired network at home and I add a default route using that as source. 2001:888:1011::13 resolves to outgate.idefix.net

This works... except when I visit addresses in the xs4all IPv6 IP space (my best guess: in the same /32). This must be an artifact of the IPv6 source address selection policy, but I can't find the way to manipulate this policy. It seems to be related to Linux 2.6.recent.
Update : I learned from Jeroen Schot that the address selection is an implementation of RFC 3484, explaned in RFC 3484 on Linux by Ulrich Drepper. The destination address choice is configured in /etc/gai.conf, for as far as I can see gai.conf is mostly destination selection, the source is a kernel matter.
Update 2009-11-18 : Solution found: working IPv6 source address selection the way I want it.

Tags: , ,

IPv6 ready
Koos van den Hout, E-mail koos+web@kzdoos.xs4all.nl. PGP key DSS/1024 0xF0D7C263 RSS
Other webprojects: Camp Wireless, wireless Internet access at campsites, The Virtual Bookcase, book reviews, Weather maps