- 靜态地址配置: 與IPv4一樣,指定終端的IPv6地址,掩碼(prefix)和網關地址等
- 無狀态自動地址配置(SLAAC): 終端上線後發起RS(Router Solicitation), 鍊路内(與IPv4子網概念相同)的路由器收到請求後發送RA(Router Advertisements)給終端,使其能自動配置地址。
- DHCPv6地址分配:隻用DHCPv6 Server進行地址分配
- 自動分配與DHCPv6結合:同時使自動地址配置和DHCPv6地址分配
終端地址獲取配置方式依賴于RA報文中的Flags标記位置位情況來定
地址自動配置
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
網絡配置
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允許更加靈活的配置方式和更多的參數下發。
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
yum install bind
确認配置中開啟ipv6接口監聽
cat /etc/named.conf
啟動服務
systemctl enable named
systemctl start named
放開防火牆端口
firewall-cmd --add-port=53/udp –permanent
firewall-cmd –reload