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)

IPv6地址獲取方式及對應的CentOS服務器搭建

#RS

2. 鏈路內(與IPv4子網概念相同)的路由器(村長)收到請求後,發送RA(Router Advertisements)

IPv6地址獲取方式及對應的CentOS服務器搭建

#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生成的地址(一個是主用,一個是臨時用), 生成後,需要站在村裡最高的地方吼一嗓子,咱以後就叫王二麻子了,沒人爭,這個地址就是你用了。

IPv6地址獲取方式及對應的CentOS服務器搭建

#NS通告

4. 通告路由器自己的新地址:當兩個地址都沒人爭後,麻溜地跑到村長那裡去註冊(可能村裡不止村長一個人能出去,書記也是可以的):村長啊,我準備用王二麻子作為藝名,找幾個筆友,發展成老婆,以後有給王二麻子的信,記得轉交我哦

IPv6地址獲取方式及對應的CentOS服務器搭建

#NA路由器通告


DHCPv6地址分配

1. 終端上線後,發起RS(Router Solicitation)

2. 路由器回覆RA, flags中Managed address configuration標記位置位

IPv6地址獲取方式及對應的CentOS服務器搭建

#RA

3. 終端按照自動地址配置,獲得兩個自動配置地址

4. 終端發起組播DHCPv6請求(Solicit)

IPv6地址獲取方式及對應的CentOS服務器搭建

#DHCPv6 Solicit

5. DHCPv6 Server通告自己的存在並分配地址(相當於DHCP Offer)

IPv6地址獲取方式及對應的CentOS服務器搭建

#DHCPv6 Advertise


6. 終端發起Request(我就用這個地址了哈,DHCPv6 Server回應relpy(是的)

IPv6地址獲取方式及對應的CentOS服務器搭建

#DHCPv6 Request & Reply

7. 終端同樣的需要將該地址通告村長

IPv6地址獲取方式及對應的CentOS服務器搭建

#NA


Server IPv6基本配置:

網絡配置

<code>

vim

/etc/sysctl.conf/<code>

輸入

<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>
<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 鄰居緩存

IPv6地址獲取方式及對應的CentOS服務器搭建

通過ping6查看鄰居連通性(注意終端防火牆配置允許ICMPv6)

IPv6地址獲取方式及對應的CentOS服務器搭建


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-time

604800

;/<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-time

21600

;/<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記錄中查到


IPv6地址獲取方式及對應的CentOS服務器搭建

Window下查看IPv6鄰居

<code>netsh 

interface

ipv6

show

neighbor

/<code>

配置IPv6 DNS Server

<code>yum install 

bind

/<code>


確認配置中開啟ipv6接口監聽

<code>

cat

/etc/named.conf/<code>
IPv6地址獲取方式及對應的CentOS服務器搭建


啟動服務

<code>systemctl 

enable

named/<code>
<code>

systemctl

start named/<code>

放開防火牆端口

<code>firewall-cmd --

add

-port=

53

/udp –permanent/<code>
<code>firewall-cmd –reload/<code>


分享到:


相關文章: