This is intentional. The aliases were added because in IPv4 you could usually only have one IP address on an interface. The aliases were added to work around that. With IPv6 multiple addresses per interface are very normal so the aliases are not used anymore.
The ifconfig
tool is not the easiest tool to manage this though. The ip
tool makes this much easier.
This is how you show the current addresses:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:75:36:4e brd ff:ff:ff:ff:ff:ff
inet 83.137.17.100/26 brd 83.137.17.127 scope global eth0
inet6 2001:4038:0:16::16/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe75:364e/64 scope link
valid_lft forever preferred_lft forever
You can add an extra address like this:
# ip addr add 2001:db8::1/64 dev eth0
And it just shows up as one of the addresses in the list:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:0c:29:75:36:4e brd ff:ff:ff:ff:ff:ff
inet 83.137.17.100/26 brd 83.137.17.127 scope global eth0
inet6 2001:db8::1/64 scope global
valid_lft forever preferred_lft forever
inet6 2001:4038:0:16::16/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe75:364e/64 scope link
valid_lft forever preferred_lft forever