使用radvd完成IPv6无状态地址自动配置
IPv6同时定义了无状态和有状态地址自动配置机制。有状态地址自动配置使用DHCPv6协议来给主机动态分配IPv6地址,无状态地址自动配置通过ND协议来实现。在无状态地址自动配置过程中,主机通过接收链路上的路由器发出的RA消息,结合接口的标识符而生成一个全球单播地址。
在centos服务器上安装和配置radvd服务:
安装radvd和配置ipv6通告前缀:
#查看下服务器网卡信息:
[root@RAs ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.106 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fd00:2020:2019::200 prefixlen 64 scopeid 0x0<global>
inet6 fe80::ba12:9bfa:b522:add7 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:6a:27:a7 txqueuelen 1000 (Ethernet)
RX packets 59 bytes 6650 (6.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 79 bytes 8855 (8.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#安装radvd服务配置修改如下:
interface ens33 #修改成你需要启用路由器通告的网卡名称
{
AdvSendAdvert on;
AdvDefaultPreference high; #配置通告的路由优先级为高
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
prefix fd00:2020:2019::/64 #通告的IPv6前缀
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
};
RDNSS fd00:2020:2019::100 fd00:2020:2019::200 #配置你指定的DNS,注意RDNSS必须大写
{
AdvRDNSSLifetime 300;
};
#DNSSL mynet.top
# {
# AdvRDNSSLifetime 300;
# };
};
~
启动服务并测试:
[root@RAs ~]# systemctl start radvd
[root@RAs ~]# radvdump
#
# radvd configuration generated by radvdump 2.17
# based on Router Advertisement from fe80::ba12:9bfa:b522:add7
# received by interface ens33
#
interface ens33
{
AdvSendAdvert on;
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvManagedFlag off;
AdvOtherConfigFlag off;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 300;
AdvHomeAgentFlag off;
AdvDefaultPreference high;
AdvSourceLLAddress on;
prefix fd00:2020:2019::/64
{
AdvValidLifetime 86400;
AdvPreferredLifetime 14400;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
}; # End of prefix definition
RDNSS fd00:2020:2019::100 fd00:2020:2019::200
{
AdvRDNSSLifetime 300;
}; # End of RDNSS definition
}; # End of interface definition
抓包观察: