配置 DHCPv6、客户端地址设置、SLAAC.note

noteId: WEB676955c3d41d0d4bfdb3263e9c91f9c5 · 原始路径:/ALL/Windows - B模块/服务配置/DHCP、DHCP代理/配置 DHCPv6、客户端地址设置、SLAAC.note · 图片:19 · 附件待处理:0

 
一、配置 DHCP v6:
 
1、配置 下发 DHCP v6地址:
 
DHCPv6只能够下发 /64 前缀的IP
 
这里指定的是排除地址的范围,题目没有要求就不要指定(或者手动排除已经存在的同网段IP):
点击下一步,点击完成
 
·(重要)现在客户端还无法获取地址,需要在 DHCPv6 服务器上开启 RA通告:
开启了之后,所有同网段的机器都会自动 SLAAC 获取一个地址
netsh interface ipv6 set interface "Ethernet0" forwarding=enabled advertise=enabled managedaddress=enabled otherstateful=enabled
# 重分发默认路由:
netsh interface ipv6 set interface "Ethernet0" forwarding=enabled advertise=enabled advertisedefaultroute=enabled
## powershell:
Set-NetIPInterface -InterfaceAlias Ethernet0 -AddressFamily IPv6 -Forwarding Enabled -Advertising Enabled -AdvertiseDefaultRoute Enabled
客户端获取地址:
这里客户端会获取到三个地址,一个 dhcp、一个 SLAAC、一个临时地址
 
 
 
1)如果只想让客户端获取 DHCPv6地址,不想让机器SLAAC获取地址:
netsh interface ipv6 set interface "Ethernet0" forwarding=enabled advertise=enabled managedaddress=enabled otherstateful=enabled
netsh interface ipv6 add route 2001:db8:10::/64 "Ethernet0" publish=no    //如果条目不存在就 add(默认不存在)
netsh interface ipv6 set route 2001:db8:10::/64 "Ethernet0" publish=no    //如果条目存在就 set
 
# 参数解析:
forwarding=enabled    //让Windows 剧本IPv6路由器行为
advertise=enabled    //开启RA通告
managedaddress=enabled    //RA里 M flag 设置为 1,让客户端通告DHCPv6获取地址
otherstateful=enabled    //RA里 O flag 设置为 1,让客户端通告DHCPv6获取 Option(DNS、域名)
如果客户端已经获取了SLAAC地址,就需要重启机器
客户端获取地址:
# 但是这样配置之后,客户端确实是能够获取到单个DHCP地址,但是会无法ping通任何机器:
这里是因为服务器关闭了RA通告,这样客户端确实不会进行SLAAC了,但是RA通告中携带的网关路由也没了
# 解决方法,需要手动添加路由:
netsh interface ipv6 add route ::/0 Ethernet0
 
2)关闭隐私地址:
netsh interface ipv6 set privacy state=disabled
 
 
2、配置 Options 选项:
DHCPv6 默认不会设置 DNS optionts,需要手动设置
DHCPv6 无法下发网关
 
1)DNS Server(Option 23):
 
2)Domain Search(Option 24):
 
 
3、设置网关:
DHCPv6 无法直接下发网关,只能通告RA,但是一般DHCPv6都不是网关,因此需要在网关上配置 RA,下发默认路由
 
1)本地手动指定:
netsh interface ipv6 add route ::/0 Ethernet0 2001:db8:10::fffe
 
# 删除:
netsh interface ipv6 delete route ::/0 Ethernet0 2001:db8:10::fffe
route print
 
 
2)在网关机器上配置 RA下发默认路由:
netsh interface ipv6 set interface "Ethernet0" forwarding=enabled advertise=enabled managedaddress=enabled otherstateful=enabled advertisedefaultroute=enabled
 
forwarding=enabled    //让Windows 剧本IPv6路由器行为
advertise=enabled    //开启RA通告
managedaddress=enabled    //RA里 M flag 设置为 1,让客户端通告DHCPv6获取地址
otherstateful=enabled    //RA里 O flag 设置为 1,让客户端通告DHCPv6获取 Option(DNS、域名)
advertisedefaultroute=enabled    //下发默认路由(将自身设置为客户端的IPv6默认网关)
route print
 
4、配置 分配固定地址:
IPv6 固定地址与IPv4不一样,需要 Duid、Iaid
 
1)查看客户端 Duid、laid:
# 先让客户端获取一次DHCPv6地址,然后之际查看租约:
get-dhcpserverv6lease -prefix 2001:db8:10:: | fl    //因为太长了不会完全显示,需要加一个 fl
根据IP找到 属于客户端的 Duid、Iaid
 
2)配置 分配固定地址:
图形化有点问题,输入正确但是添加不成功,直接使用命令行添加
## ClientDuid 必须要引号包裹
Add-DhcpServerv6Reservation -Prefix 2001:db8:10:: -IPAddress 2001:db8:10::1000 -ClientDuid "00-01-00-01-31-a8-c4-66-00-0c-29-96-1f-54" -Iaid 100666409 -Name Client1
 
# 删除:
Remove-DhcpServerv6Reservation -IPAddress 2001:db8:10::1000    //不建议图形化删除,图形化删除后命令行无法再添加回来
 
·客户端重新获取地址:
ipconfig /release6
ipconfig /renew6
 
 
5、如果要排除配置地址:
排除 2001:db8:10::1 ~ 2001:db8:10::3
 
排除 单个地址:
或者这样写也可以:
 
 
二、配置 SLAAC:
# advertisedefaultroute=enabled 表示是否下发默认路由
netsh interface ipv6 set interface "Ethernet0" forwarding=enabled advertise=enabled advertisedefaultroute=enabled
 
# 一般都是用set,因为接口已经有这个地址,已经有了这个路由:
Set-NetRoute -DestinationPrefix "2001:db8:12::/64" -InterfaceAlias "Ethernet2" -Publish Yes
# New-NetRoute -DestinationPrefix "2001:db8:12::/64" -InterfaceAlias "Ethernet2" -Publish Yes
 
三、DHCPv6中继(rras):
需要额外这个配置:
将 这个值改为0