[ISC][DHCP] Kea DHCP serverの1.6.0-betaのbuildで手間取った。

2019-05-31 10:47:09AIX、UNIX、Linux, ContainerAlpine, botan, build, container, DHCP, DHCPd, docker, isc, Kea, log4cplus

気が付いたらISCのDHCPv4/v6 serverなKeaの1.6.0-betaがリリースされていました。まぁまだ開発版の扱いですが、色々と新機能が増えそうです。

試してみようかとbuildしようとしたんですがちょっと手間取りました。

keaをbuildするにあたって必要なライブラリが2つあります。log4cplusとbotanです。log4cplusについては以前に記事にしたように、1系じゃないとbuild出来ませんでした。

今回の1.6.0-betaもそのままbuildしようとしたのですが、どうにもうまくいかず・・・ alpine Linuxをベースにcontainerでbuildしているのですが、botan-devパッケージをインストールしても、./configureでbotanのライブラリが認識されなかったりとかアタフタたふたしておりました。
# 改めてautoreconf -ifを実行したところ、build出来ました。

また、botanのパッケージでbuildするよりも、botanを最低限のライブラリを生成するオプションを有効にして自前でbuildした方が、最終的なcontainerのサイズが小さくなったので、結局は自前でbuildすることにしました。

余談ですが、

1.6.0からは色々と新機能が追加されそうです。

  • configuration backend DHCPv4およびDHCPv6サーバーが1つ以上のMySQLデータベースから構成を管理および取得できるようにする
    • 現時点はMySQLのみだが、将来的にはPostgresqlも対応する予定。Cassandraの対応予定はない。
  • configuration backend用の管理コマンドの実装
  • ネイティブパッケージを用意する いくつかの一般的なディストリビューション用にISC自身のネイティブ(DEBとRPM)パッケージが提供される。 CentOS 7、Debian 9、Fedora 28および29、Ubuntu 18.04、18.10および19.04のパッケージを提供する予定。
  • 互換性の向上。
  • DDNS用の制御ソケットの実装。
  • パフォーマンスの改善。
  • ホストキャッシュコマンドの実装。hookにホストコマンドを追加
  • 新しいサブネットコマンドの実装。
  • 高可用性の改善。ntpによる時刻同期の変化への追随。
    • NGINXでリバースHAプロキシを設定できるように
  • logging句がdaemonスコープへ移動。(以前に記事にしたところ)
  • 更新タイマーと再bindタイマーが自動で計算されるように。
  • その他・・・

パフォーマンスの改善は良い感じですね。まぁ自分のように家庭用で使用する限りではあまり恩恵を受けることはなさそうですが。あと、configuration backend、これも大規模だと中々使い出がありそうです。

詳細は以下のRelease Noteを確認してください。

POINT

ソースからbuildするときは、INSTALLやREADMEなどには目を通しておきましょう。

Generate the configure script. If you downloaded the source from git or are compiling with premium hook packages, you will need to run autoreconf to generate the configure script as shown below. If you are building from a tarball you may skip this step.

$ autoreconf --install

とりあえずdocker hubにpushしておきました。

2019-05-31 10:47:09AIX、UNIX、Linux, ContainerAlpine, botan, build, container, DHCP, DHCPd, docker, isc, Kea, log4cplus