У меня есть / 64 адресов IPv6, доступных одному из моих серверов (Ubuntu 12.04). Я связываю их так:
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.82
netmask 255.255.255.248
network xxx.xxx.xxx.80
broadcast xxx.xxx.xxx.255
gateway xxx.xxx.xxx.81
iface eth0 inet6 static
address xxxx::2
netmask 64
gateway xxxx::1
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra_defrtr
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra_pinfo
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra_rtr_pref
up /sbin/ifconfig eth0 inet6 add xxxx::3/64
# ... snip ...
up /sbin/ifconfig eth0 inet6 add xxxx::25/64
Это работает, но все приложения используют xxxx::25 для своих исходящих запросов, если специально не указано иное. Если я добавлю xxxx::26 в мой /etc/network/interfaces, все они начнут использовать это. Кажется, они просто используют то, что имеет наибольшее число.
Как указать определенный адрес, который будет использоваться по умолчанию? В моем случае мне захочется использовать самый низкий адрес (xxxx::2), но мне очень хотелось бы знать, как указать конкретный, если возникнет необходимость в будущем.