centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)

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)

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(1)

#RS

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(2)

#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生成的地址(一个是主用,一个是临时用), 生成后,需要站在村里最高的地方吼一嗓子,咱以后就叫王二麻子了,没人争,这个地址就是你用了。

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(3)

#NS通告

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(4)

#NA路由器通告


DHCPv6地址分配

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

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(5)

#RA

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

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(6)

#DHCPv6 Solicit

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(7)

#DHCPv6 Advertise


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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(8)

#DHCPv6 Request & Reply

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(9)

#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 邻居缓存

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(10)

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

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(11)


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记录中查到


centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(12)

Window下查看IPv6邻居

netsh interface ipv6 show neighbor

配置IPv6 DNS Server

yum install bind


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

cat /etc/named.conf

centosipv6不可访问(IPv6地址获取方式及对应的CentOS服务器搭建)(13)


启动服务

systemctl enable named

systemctl start named

放开防火墙端口

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

firewall-cmd –reload

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页