IPv6終端地址獲取的方法有四種:
終端地址獲取配置方式依賴於RA報文中的Flags標記位置位情況來定
IPv6用戶上線過程解析:
地址自動配置
1. 終端啟動後,向鏈路內所有路由器(目的地址為:FF02::2)發起RS(Router Solicitation)
#RS
2. 鏈路內(與IPv4子網概念相同)的路由器(村長)收到請求後,發送RA(Router Advertisements)
#RA
Flags: 村長的個人愛好(如獲取方式---DHCPv6、自動配置,優先級、代理等)Router lifetime: 路由器的存活時間Router lifetime(即你多少時間需要到我這裡來請安)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基本配置:
網絡配置
<code>
vim
輸入
<code>
net.ipv6.conf.all.disable_ipv6
=0
/<code><code>
net.ipv6.conf.default.disable_ipv6
=0
/<code><code>
net.ipv6.conf.lo.disable_ipv6
=0
/<code><code>
net.ipv6.conf.all.forwarding
=1
/<code>參數參數設置
<code>
vim
/etc/sysconfig/network/<code>輸入
<code>
NETWORKING_IPV6
=yes
/<code><code>
IPV6FORWARDING
=yes
/<code><code>
HOSTNAME
=testserver/<code><code>
ONBOOT
=yes
/<code>接口配置文件
<code>
vim
/etc/sysconfig/network-scripts/ifcfg-br1/<code>輸入
<code>
IPV6INIT
=yes
/<code><code>
IPV6_AUTOCONF
=no
/<code><code>
IPV6_DEFROUTE
=yes
/<code><code>
IPV6_PEERDNS
=yes
/<code><code>
IPV6ADDR
=2020
:102
:101
:1
::1
/64
/<code><code>
IPV6FORWARDING
=yes
/<code><code>
IPV6_FAILURE_FATAL
=no
<code>
IPV6_PEERROUTES
=yes
/<code>自動地址配置
安裝radvd
<code>
yum
-y install radvd/<code>配置radvd
<code>
cat
/etc/radvd.conf/<code><code>
interface
br1
/<code><code>{/<code>
<code>
AdvManagedFlag
off
; #off
為自動地址配置,on
為DHCPv6地址分配/<code><code>
AdvSendAdvert
on
;/<code><code>
AdvOtherConfigFlag
off
; #off
為自動地址配置,on
為DHCPv6地址分配/<code><code>
AdvLinkMTU
1480
;/<code><code>
MinRtrAdvInterval
30
;/<code><code>
MaxRtrAdvInterval
100
;/<code><code>
prefix
2020
:102
:101
:1
::/64
/<code><code> {/<code>
<code>
AdvOnLink
on
;/<code><code>
AdvAutonomous
on
;/<code><code>
AdvRouterAddr
on
;/<code><code> };/<code>
<code>};/<code>
啟動服務
<code>
systemctl
start
radvd
.service
/<code><code>systemctl
enable
radvd.service /<code>終端後的地址後,在CentOS Server上通過ip -6 neighbor show查看IPv6 鄰居緩存
通過ping6查看鄰居連通性(注意終端防火牆配置允許ICMPv6)
DHCPv6安裝和配置
DHCPv6允許更加靈活的配置方式和更多的參數下發。
DHCP Server安裝
<code>[ ]/<code>
修改radvd配置文件中兩個參數:
<code>
AdvManagedFlag
on
;/<code><code>
AdvOtherConfigFlag
on
;/<code>保存後,重啟服務:
<code>
systemctl
restart
radvd
.service
/<code>配置dhcpv6
<code>
vim
/etc/dhcp/dhcpd6.conf/<code>輸入
<code>
default
-lease-time604800
;/<code><code>
preferred-lifetime
604800
;
/<code><code>option dhcp-renewal-
time
1800
;/<code><code>option dhcp-rebinding-
time
3600
;/<code><code>
allow
leasequery;/<code><code>
option
dhcp6
.name-servers
2020:102
:101
:1
::1
;/<code><code>
option
dhcp6.domain-search"testserver"
;/<code><code>
option
dhcp6
.preference
255;/<code><code>option dhcp6.rapid-
commit
;/<code><code>
option
dhcp6.info
-refresh-time21600
;/<code><code>
dhcpv6
-lease-file-name"/var/lib/dhcpd/dhcpd6.leases"
;/<code><code>
subnet6
2020
:102
:101
:1
::/64
{/<code><code>
range6
2020:102
:101
:1
::100
2020:102
:101
:1
::200
;/<code><code>}/<code>
啟用服務
<code>systemctl
enable
dhcpd6/<code><code>
systemctl
start dhcpd6/<code>注意需要開啟udp 547端口,否則DHCPv6報文無法到達Server上層
<code>firewall-cmd --
add
-port=547
/udp –permanent/<code><code>firewall-cmd –reload/<code>
終端上線獲得地址後,可在Server的lease記錄中查到
Window下查看IPv6鄰居
<code>netsh
interface
ipv6
show
neighbor
/<code>配置IPv6 DNS Server
<code>yum install
bind
/<code>確認配置中開啟ipv6接口監聽
<code>
cat
/etc/named.conf/<code>啟動服務
<code>systemctl
enable
named/<code><code>
systemctl
start named/<code>放開防火牆端口
<code>firewall-cmd --
add
-port=53
/udp –permanent/<code><code>firewall-cmd –reload/<code>