Kea Modern DHCP Server(Ubuntu)
一个由Internet Systems Consortium(ISC)开发的开源DHCPv4/DHCPv6服务器。Kea是一个高性能的,可扩展的DHCP服务器引擎。通过hooks library可以很容易的修改和扩展。
Kea包含的功能组件
- keactrl — kea服务器启动,停止,配置重置和状态查询组件
- kea-dhcp4 — DHCPv4服务器程序,用于响应客户端的DHCPv4查询。
- kea-dhcp6 — DHCPv6服务器程序,用于响应客户端的DHCPv6查询。
- kea-dhcp-ddns — DHCP动态DNS程序.这个程序在DHCP服务器和DNS服务器之间扮演者调解者。它接收来自DHCP服务器域名更新请求和发送DNS更新消息给DNS服务器。也就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来进行交流。而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的。
- kea-admin — 一个有用的数据库后台维护工具(创建一个新的数据库,检查版本,升级等.)
- kea-lfc — 这个程序会从文件移除冗余信息。这些文件是给后台的memfile数据提供持久化存储。
- kea-ctrl-agent — Kea控制代理(CA) 是一个守护进程,暴露一个RESTful控制器接口用于管理Kea服务器。
- perfdhcp — 一个DHCP新能测试工具,模拟多个客户端测试DHCPv4和DHCPv6服务器性能。
软件运行环境
- 加密库Botan或者OpenSSL
- log4cplus 1.0.3+
- 如果有需要mysql,需要MySQL headers and libraries。可选(postgresql、cassandra类同)
编译环境
- Boost C++ Libraries (http://www.boost.org/).
- Botan (at least version 1.8) or OpenSSL (at least version 1.0.1)
- log4cplus
- C++编译器
- 开发工具automake, libtool, pkg-config
- MySQL客户端和客户开发库,当使用–with-dhcp-mysql标志去编译Kea的MySQL数据后台。在这种情况下,MySQL服务器实例在本地或者在一个跨网络可达的机器上运行是必选的。注意运行单元测试要求必需是本地的MySQL服务器。
- PostgreSQL(同MySQL)
- googletest (version 1.8 or later), 当使用–with-gtest配置选项构建单元测试,需要依赖这个库.
- 如果使用了–enable-generate-docs配置选项来创建文档时。需要文档生成工具elinks,docbook-xsl, libxslt 和 Doxygen。
安装
安装前的需要提前安装的工具
安装C/C++编译器 sudo apt-get install gcc gcc安装相关构建工具 sudo apt-get install build-essential 安装make sudo apt-get install make
1. 下载源码解压Kea下载页面
2. 解压
ked-directory-struct
3. 运行./configure --with-dhcp-mysql=path-to-mysql_config
根据configure脚本的运行错误信息做相应的包安装,直到configure脚本运行成功。
其中–with-dhcp-mysql配置指向mysql_config的安装的位置
以下是必须要安装的
a. apt install libmysql++-dev(如果with-dhcp-mysql标志存在需要安装该包) b. 安装openssl sudo apt install openssl sudo apt install libssl-dev c. 安装boost C++,安装方式两种 - apt方式: 简单安装 sudo apt-get install libboost-system-dev - 源码安装[下载页面](http://www.boost.org/users/history/version_1_65_1.html) 1. 解压 2. ./bootstrap.sh 3. ./b2 install d. 安装log4cplus[下载页面](https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.2.1/) 简要安装步骤: 1. 解压 2. 运行./configure 3. make 4. make install
5. Kea安装最后一步
上面的各种安装完后最后在Kea的目录中运行./configure没有报错就可以,运行make,make install。不出意外,这样就算安装kea完成了。在控制台输入kea,连续按两下Tab键,就可以看到如下命令
kea-install-complete
6. MySQL数据库的初始化(可选)
没有使用MySQL的可以忽略该节
- 方式一
kea-admin lease-init mysql -u database-user -p database-password -n database-name
- 方式二
mysql> CONNECT database-name;
mysql> SOURCE path-to-kea/share/kea/scripts/mysql/dhcpdb_create.mysql
注意事项
运行#ldconfig
,如果没有这样做,你可能会遇到下面这种错误提示
program: error while loading shared libraries: libkea-something.so.1: cannot open shared object file: No such file or directory