IPv6 地址获取方式及工具
IPv6 地址获取方式及工具配置make config ----------> kernel config ------------>networking support ----------------->networking options--------------->IPv6 protocol-------->busyb
IPv6 地址获取方式及工具
配置
make config ----------> kernel config ------------>networking support ----------------->networking options--------------->IPv6 protocol
-------->busybox setting ---------> network utilities----------------------> enable ipv6 support
ping6
IPv6地址获取方式
主机接收路由器广播的RA包来决定如何获取和配置地址。
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O| Reserved | Router Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reachable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Retrans Timer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ...
+-+-+-+-+-+-+-+-+-+-+-+-
路由通告包是type = 134的ICMPv6包。
M bit : 置为1 表示主机的IPv6地址需要通过网路中的DHCPv6 server获取,不进行地址自动配置。 置为0 表示使用SLAAC. options中会有全局前缀信息选项。
O bit: 置为1 表示其他配置信息主要是DNS, 需要通过DHCPv6 获得。 置为0 表示从RA报文的options中获得DNS等其他配置信息。
所以根据IPv6路由器的不同配置,主机有三种IPv6地址获取方式。
- SLAAC + RDNSS : SLAAC (Stateless address autoconfiguration)。 RDNSS表示RA包中带有RDNSS选项,从该选项中获取DNS。
- SLAAC +stateless dhcpv6: IPv6地址自动配置, 其他配置信息依赖DHCPv6获得。
- stateful dhcpv6: IPv6地址及其他信息都从DHCPv6 server获得。
地址获取工具
当配置支持IPv6时, 无状态地址自动配置会默认开启。系统启动后(以eth0为例)
cat /proc/sys/net/ipv6/conf/eth0/autoconf 输出为 1, 表示使用RA包中的前缀信息自动配置地址。
在此目录下还有accept_ra, accept_ra_pinfo等相关配置开关,具体请参考IPv6 HOWTO。
为满足所有的地址获取方式,需要ndisc和wide-dhcpv6两个工具。
在配置为2,3方式时,使用wide-dhcpv6 中的dhcp6c作为dhcpv6 client, 在方式2中可以获取并设置DNS, 在方式3中可以完成配置地址和DNS的所有工作。
在配置为方式1时, 地址自动配置, 需要使用ndisc工具中的rdnssd获得系统得到的DNS, 然后手动进行设置。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)