龙空技术网

IPv6地址获取方式及对应的CentOS服务器搭建

WindWu 948

前言:

当前看官们对“ipv6subnet”大体比较珍视,我们都想要知道一些“ipv6subnet”的相关资讯。那么小编同时在网上网罗了一些关于“ipv6subnet””的相关内容,希望你们能喜欢,兄弟们一起来学习一下吧!

IPv6终端地址获取的方法有四种:静态地址配置: 与IPv4一样,指定终端的IPv6地址,掩码(prefix)和网关地址等无状态自动地址配置(SLAAC): 终端上线后发起RS(Router Solicitation), 链路内(与IPv4子网概念相同)的路由器收到请求后发送RA(Router Advertisements)给终端,使其能自动配置地址。DHCPv6地址分配:只用DHCPv6 Server进行地址分配自动分配与DHCPv6结合:同时使自动地址配置和DHCPv6地址分配

终端地址获取配置方式依赖于RA报文中的Flags标记位置位情况来定


IPv6用户上线过程解析:

地址自动配置

1. 终端启动后,向链路内所有路由器(目的地址为:FF02::2)发起RS(Router Solicitation)

#RS

2. 链路内(与IPv4子网概念相同)的路由器(村长)收到请求后,发送RA(Router Advertisements)

#RA

Flags: 村长的个人爱好(如获取方式---DHCPv6、自动配置,优先级、代理等)Router lifetime: 路由器的存活时间Router lifetime(即你多少时间需要到我这里来请安)IPv6前缀信息 ICMPv6 OptionType=3 Prefix information: 即咱们属于哪国、哪省、这个村叫什么名字,简单说就是网络号, 小的们拿着这个号后自己在后面加上自己的名字,就是你的IPv6地址(全名), 出门记得报全名链路最大传输单元ICMPv6 OptionType=5 MTU: 咱们这条路上只能跑多大的报文(如1480 bytes),不允许超载,自觉遵守,否则后果自负。链路地址ICMPv6 OptionType=1 Source link-layer addresss: 最后告诉你村长我的小名叫什么, 有事儿私聊----爷们儿走开!

3. 根据前缀生成地址子网通告: 除去本地链路地址(FE80开头),终端还有两个根据Prefix生成的地址(一个是主用,一个是临时用), 生成后,需要站在村里最高的地方吼一嗓子,咱以后就叫王二麻子了,没人争,这个地址就是你用了。

#NS通告

4. 通告路由器自己的新地址:当两个地址都没人争后,麻溜地跑到村长那里去注册(可能村里不止村长一个人能出去,书记也是可以的):村长啊,我准备用王二麻子作为艺名,找几个笔友,发展成老婆,以后有给王二麻子的信,记得转交我哦

#NA路由器通告


DHCPv6地址分配

1. 终端上线后,发起RS(Router Solicitation)

2. 路由器回复RA, flags中Managed address configuration标记位置位

#RA

3. 终端按照自动地址配置,获得两个自动配置地址

4. 终端发起组播DHCPv6请求(Solicit)

#DHCPv6 Solicit

5. DHCPv6 Server通告自己的存在并分配地址(相当于DHCP Offer)

#DHCPv6 Advertise


6. 终端发起Request(我就用这个地址了哈,DHCPv6 Server回应relpy(是的)

#DHCPv6 Request & Reply

7. 终端同样的需要将该地址通告村长

#NA


Server IPv6基本配置:

网络配置

vim /etc/sysctl.conf

输入

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.all.forwarding = 1

参数参数设置

vim /etc/sysconfig/network

输入

NETWORKING_IPV6=yes
IPV6FORWARDING=yes
HOSTNAME=testserver
ONBOOT=yes

接口配置文件

vim /etc/sysconfig/network-scripts/ifcfg-br1

输入

IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6ADDR=2020:102:101:1::1/64
IPV6FORWARDING=yes
IPV6_FAILURE_FATAL=no
IPV6_PEERROUTES=yes


自动地址配置

安装radvd

yum -y install radvd

配置radvd

cat /etc/radvd.conf
interface br1
{
AdvManagedFlag off;  #off为自动地址配置,on为DHCPv6地址分配
    AdvSendAdvert on;
    AdvOtherConfigFlag off;  #off为自动地址配置,on为DHCPv6地址分配
    AdvLinkMTU 1480;
    MinRtrAdvInterval 30;
    MaxRtrAdvInterval 100;
    prefix 2020:102:101:1::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
    };
};

启动服务

systemctl start radvd.service
systemctl enable radvd.service  


终端后的地址后,在CentOS Server上通过ip -6 neighbor show查看IPv6 邻居缓存

通过ping6查看邻居连通性(注意终端防火墙配置允许ICMPv6)


DHCPv6安装和配置

DHCPv6允许更加灵活的配置方式和更多的参数下发。

DHCP Server安装

[root@172-12-0-100 ~]# yum install dhcp

修改radvd配置文件中两个参数:

AdvManagedFlag on;
AdvOtherConfigFlag on;

保存后,重启服务:

systemctl restart radvd.service


配置dhcpv6

vim /etc/dhcp/dhcpd6.conf

输入

default-lease-time 604800;
preferred-lifetime 604800;
option dhcp-renewal-time 1800;
option dhcp-rebinding-time 3600;
allow leasequery;
option dhcp6.name-servers 2020:102:101:1::1;
option dhcp6.domain-search "testserver";
option dhcp6.preference 255;
option dhcp6.rapid-commit;
option dhcp6.info-refresh-time 21600;
dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases";
 subnet6 2020:102:101:1::/64 {
    range6 2020:102:101:1::100 2020:102:101:1::200;
}

启用服务

systemctl enable dhcpd6
systemctl start dhcpd6


注意需要开启udp 547端口,否则DHCPv6报文无法到达Server上层

firewall-cmd --add-port=547/udp –permanent
firewall-cmd –reload

终端上线获得地址后,可在Server的lease记录中查到


Window下查看IPv6邻居

netsh interface ipv6 show neighbor
配置IPv6 DNS Server
yum install bind


确认配置中开启ipv6接口监听

cat /etc/named.conf


启动服务

systemctl enable named
systemctl start named

放开防火墙端口

firewall-cmd --add-port=53/udp –permanent
firewall-cmd –reload

标签: #ipv6subnet