最近在做IPV6全网部署的项目,拆分到每个站点,给每个站点分配/64的pool和/36的PD,集中IPV6 DHCP服务器(KEA)。大致就是DHCP IPV6中心服务器<> 路由器 <> 接入网OLT <> 客户ONT这样的结构。
思路是这样的:
1、根据分配好的PD和POOL IPV6地址段,生成KEA 服务器上要添加的配置脚本。
看下kea运行状态:
axing@IPV6DHCP:~$ sudo keactrl status
DHCPv4 server: active
DHCPv6 server: active
DHCP DDNS: inactive
Control Agent: active
Kea DHCPv4 configuration file: /usr/local/etc/kea/kea-dhcp4.conf
Kea DHCPv6 configuration file: /usr/local/etc/kea/kea-dhcp6.conf
Kea DHCP DDNS configuration file: /usr/local/etc/kea/kea-dhcp-ddns.conf
Kea Control Agent configuration file: /usr/local/etc/kea/kea-ctrl-agent.conf
keactrl configuration file: /usr/local/etc/kea/keactrl.conf
/usr/local/etc/kea/kea-dhcp6.conf 就是要改的配置文件。
2、运行脚本,生成要添加的配置脚本。
因为配置文件格式固定,每个站点仅IPV6 POOL和PD不同,可以很容易的使用python3 + jinja2 实现。这里不详细些了,跟生成配置脚本类似。
3、将配置文件添加到/usr/local/etc/kea/kea-dhcp6.conf末尾,重启KEA进程
sudo keactrl stop
sudo keactrl start
4、配置路由器,在路由器上配置IPV6静态路由,将/36的PD指向OLT上的IPV6地址,在ISIS里重分布IPV6的静态路由。主要包括几项:
OLT上行互联网vlan端口的IPV6地址;
IPV6 静态路由;
IPV6 prefix;
设定路由策略;
ISIS重分布IPV6静态路由;
5、配置OLT,这里是华为MA5800。 主要包括:
使能IPV6;
添加IPV6的service-profile;
绑定互联网上行VLAN和IPV6的service-profile;
使能DHCPv6;
制定IPV6 DHCP服务器地址;
IPV6 nd, arp proxy的设置;
互联网上行VLAN的ipv6地址配置;
IPV6默认网关配置;
IPV6 默认路由配置;
6、遇到的坑
这里其实坑还蛮多的,挑主要的讲两个。 第一个,在OLT上,需要在互联网上行VLAN端口上配置一个IPV4地址,不能只配IPV6地址。随便啥都行,否则只配IPV6端口起不来;第二个,配置次序问题。必须先配路由器,再配OLT,否则收不到IPV6的DHCP请求,如果先配了OLT,得把互联网上行vlan删了,配完路由器再返回来配置一遍才好。
7、主备服务器。。。。以前好像说过用python脚本同步主备配置文件来着的。
在备机检查没问题,重启kea也正常的情况下,运行脚本同步主备机配置问题。然后重启主服务器。
8、用下面命令查看有没有收到相关站点的IPV6请求,都正确的话会看到很多,说明全部成功了。
tail -f /var/log/kea6-logs | grep your-pop.code