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