LoginSignup
2
0

More than 1 year has passed since last update.

debianでkea dhcp serverを利用する

Last updated at Posted at 2021-07-22

kea

dhcpサーバとしてはiscのdhcp serverが有名ですが、新しいdhcpサーバとしてkeaが開発されています。

debianへのインストール

debianの公式パッケージにもkeaは含まれていますが、より新しいバージョンを利用したい場合はiscのリポジトリを追加して利用します。

詳しい方法については、すでに記事「パッケージからISC Kea DHCP サーバのインストール方法」があるので、そちらを参照してください。

また、こちらの環境では「Kea DHCPでAct-Act(load-balancing)のHA構成を組む」の記事を参考に2台のkeaでHA構成(Act-Act)にしています。

systemd用の起動ファイル修正

mariadbにdhcpの情報を保存するようにしたら、インストールしたままでは、再起動時にisc-kea-dhcp-serverが正常に起動しなくなっていた。詳しく調べると、どうやらsystemdで起動する際にmariadbが起動する前にkeaが起動すると、異常終了してしまう。

systemdの設定ファイルで起動の依存関係を記述することで回避しようとしたがうまくいかなかった。
/lib/systemd/system/isc-kea-dhcp4-server.serviceの[Unit]セクションに

[Unit]
...
After=mariadb.target

を追加してみた。これでうまくいくと思ったが、実際にリブートすると異常終了している。そこで[Service]セクションのExecStartを修正してmariadbのソケットが生成されるまでkeaの起動を待つようにした。

[Service]
...
ExecStart=/usr/bin/bash -c "while [ ! -S /var/run/mysqld/mysqld.sock ]; do sleep 1; done;/usr/sbin/kea-dhcp4 -c /etc/kea/kea-dhcp4.conf"

これで再起動してもkeaが正常に稼働してることを確認できた。

DBの更新

apt upgrade
すると、うまく起動しなくなった。keaのlogを確認すると

2021-08-06 12:11:36.699 ERROR [kea-dhcp4.dhcp4/63609.140537304271296] DHCP4_INIT_FAIL failed to initialize Kea server: configuration error using file '/etc/kea/kea-dhcp4.conf': Unable to open database: MySQL schema version mismatch: need version: 10.0 found version: 9.6

というエラーが記録されており、どうやらデータベースのschemaが更新された模様。

kea-admin db-upgrade mysql -u kea -n kea -p

を実行してデータベースを更新し、restartすると無事に起動した。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0