DNSサーバー向けのフィルターだったり、ロードバランサーだったり、最近だとquad9に使われているとか、などのdnsdistですが1.2.1が公開になりました。.1ですが、結構更新点あるようです。
New Features
- Add configuration option to disable IP_BIND_ADDRESS_NO_PORT (Dan McCombs).
Improvements
- Handle bracketed IPv6 addresses without ports (Chris Hofstaedtler).
Bug Fixes
- Make dnsdist dynamic truncate do right thing on TCP/IP.
- Add missing QPSAction
- Don’t create a Remote Logger in client mode.
- Use libsodium’s CFLAGS, we might need them to find the includes.
- Keep the TCP connection open on cache hit, generated answers.
- Add the missing <sys/time.h> include to mplexer.hh for struct timeval.
- Sort the servers based on their ‘order’ after it has been set.
- Quiet unused variable warning on macOS (Chris Hofstaedtler).
- Fix the outstanding counter when an exception is raised.
- Do not connect the snmpAgent from a dnsdist client.
Changelog — dnsdist 1.2.0 documentation
今回はどちらかというと機能追加などではなく、build向けの修正といった感じでしょうか。
まぁキャッシュにヒットしたときに動作修正や、正常にorderされていなかったことについての修正があるようですが。
とりあえず自宅での検証環境はAArch64(Ubuntu 16.04)なのですが、毎回buildするのも面倒くさいのでパッケージングしておきます。
このあたりを参考に・・・
DebianUbuntu – もわの書斎
How to build a Debian/Ubuntu package from source? – Stack Overflow
sudo apt install devscripts fakeroot sudo apt install debhelper dh-systemd pkg-config libboost-dev libedit-dev liblua5.2-dev libsodium-dev sudo apt install libprotobuf-dev liblua5.3-dev libre2-dev libsodium18 sudo apt-get build-dep dnsdist apt-get source dnsdist cd dnsdist-1.0.0~alpha2/ uupdate ../dnsdist-1.2.1.tar.bz2 cd ../dnsdist-1.2.1/ dpkg-buildpackage -uc -us -rfakeroot -b
もしかしたら、libprotobuf10パッケージの導入が必要になるかもしれません。Ubuntuの場合は、Bionicぐらいしか対応していないはずなので、aptをいじって導入できるようにしたほうがいいかも。