在一个适配器上是否有多个全局范围的IPv6地址?

在Linux上设置IPv6非常简单,您可以遵循IPv4指南并给自己一个静态的IPv6地址。

在Solaris上,事情并不那么乐观,在运行in.ripng之后,IPv6才起作用。 运行后,在本地局域网段获得IPv6地址自动configuration。 因此,尽pipe我为一个静态IPv6地址configuration了Solaris,但我最终还是得到了三个链接本地范围,静态全局范围和自动configuration的全局范围:

 lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 eri0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.6.28.36 netmask ffffff00 broadcast 10.6.28.255 lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1 inet6 ::1/128 eri0: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2 inet6 fe80::203:baff:fe4e:6cc8/10 eri0:1: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 2 inet6 2002:dce8:d28e::36/64 eri0:2: flags=2180841<UP,RUNNING,MULTICAST,ADDRCONF,ROUTER,IPv6> mtu 1500 index 2 inet6 2002:dce8:d28e:0:203:baff:fe4e:6cc8/64 

eri0:1是我经常select匹配IPv4主机的静态地址, eri0:2显示重新使用链路本地接口中的数字的自动configuration地址。

in.ripngconfiguration了/etc/inet/ndpd.conf

 ifdefault AdvSendAdvertisements true prefixdefault AdvOnLinkFlag on AdvAutonomousFlag on if eri0 AdvSendAdvertisements 1 prefix 2002:dce8:d28e::/64 eri0 

因此,自动configuration扩展到局域网段上的所有其他主机,所以以前只有一个全局范围地址的Linux服务器现在产生两个:

 eth0 Link encap:Ethernet HWaddr 00:14:5e:bd:6d:da inet addr:10.6.28.31 Bcast:10.6.28.255 Mask:255.255.255.0 inet6 addr: 2002:dce8:d28e:0:214:5eff:febd:6dda/64 Scope:Global inet6 addr: fe80::214:5eff:febd:6dda/64 Scope:Link inet6 addr: 2002:dce8:d28e::31/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

这些理智的configuration?

让互联网面对从他们的MAC地址获取地址的服务器似乎是不切实际的。

从networking堆栈的发展angular度来看,我想用IPv6绑定到eth0 ,而忽略链路本地范围接口很简单,我可以如何在两个全局范围的地址之间进行select?

由于RFC 3484的sorting规则具有相同的范围和前缀长度,因此很难应用。

编辑:审查系统configuration后,我注意到Solarispipe理员,我现在可以得到静态寻址无需自动configuration正确工作。

这种情况是完全正常的。 如果您不希望Linux机器自动configurationIPv6地址,则可以在/etc/sysctl.conf中的Linux机器上closures该机器:

 net.ipv6.conf.eth0.autoconf = 0