文章目录
  1. 1. 编译安装unbound
  2. 2. 参考

unbound是一个开源的DNS解析器,可以作为DNS缓存使用。本文将介绍如何编译安装unbound并使用它作为DNS缓存。

编译安装unbound

首先从ubuntu源代码仓库下载unbound, 官方网站提供了源码包下载,当前版本是1.23.1。在ubuntu下编译源码需要先安装依赖包, 相关命令如下:

1
2
3
4
5
6
7
8
9
# 安装编译环境
sudo apt update
sudo apt install -y build-essential
# 安装libssl、libexpat
sudo apt install -y libssl-dev
sudo apt install -y libexpat1-dev
# 安装bison、flex
sudo apt-get install -y bison
sudo apt-get install -y flex

接下来编译unbound, 即先./configuremake。 应用的安装路径为/usr/local/sbin/unbound,同时安装的工具还有unbound-host、unbound-anchor、unbound-control、unbound-checkconf、unbound-control-setup;默认配置文件路径为/usr/local/etc/unbound/unbound.conf

1
2
3
4
5
6
7
8
9
10
wget https://nlnetlabs.nl/downloads/unbound/unbound-1.23.1.tar.gz
# 解压
tar -zxvf unbound-1.23.1.tar.gz
# 使用make编译安装
cd unbound-1.23.1
# 编译, ./configure -h 显示编译选项
./configure
make
# 安装到 /usr/local/sbin/unbound
sudo make install

安装完成后, 运行unbound -V命令, 大写V即version参数,显示版本信息,正常输出则安装成功。默认运行时需要创建用户unbound, 不存在时会报错提示。

1
2
3
4
5
# 显示版本信息
sudo unbound -V

# 启动服务, -d在前台运行, -v显示详细日志
# sudo unbound -v -d

显示结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo unbound -V
Version 1.23.1

Configure line:
Linked libs: mini-event internal (it uses select), OpenSSL 3.0.11 19 Sep 2023
Linked modules: dns64 respip validator iterator

BSD licensed, see LICENSE in source package for details.
Report bugs to unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues

$ sudo unbound -v -d
unbound[2593333:0] notice: Start of unbound 1.23.1.
unbound[2593333:0] fatal error: user 'unbound' does not exist.

参考

  1. unbound
  2. unbound github
  3. unbound docs
文章目录
  1. 1. 编译安装unbound
  2. 2. 参考