[ad_1]
Unbound 是一个递归的、可验证的、非常安全的 DNS 缓存服务器,它在 BSD 许可下免费分发。 Unbound 支持 DNS-over-TLS 和 DNS-over-HTTPS,通过允许客户端加密其连接来增加在线隐私。 根据您的网络配置,Unbound 可以同时支持 IPV4 和 IPV6。 Linux 发行版中 Unbound 的安装和配置非常简单明了。 Unbound 软件包可用于大多数现代操作系统,包括 CentOS、Ubuntu、 Fedora. 使用自己的域在内部为应用程序或网站提供服务的公司可以将 unbound 用作 DNS 服务器。 在本文中,我们将学习如何安装和配置 未绑定 Ubuntu 20.04 中的服务器。
安装
在 Ubuntu 20.04 中安装 Unbound 名称解析服务器非常简单易行。 运行以下命令安装包
$ sudo apt install unbound -y
输出:
此外,运行以下命令来安装我们将用于检查 DNS 服务器配置的其他软件包
$ sudo apt install bind-utils net-tools -y
安装完成后,使用命令可以找到配置文件的内容:
$ cat /etc/unbound/unbound.conf
输出 :
输出显示将从 unbound.conf.d 目录加载所有 .conf 文件。
让我们在目录下创建一个新的配置文件 /etc/unbound/unbound.conf.d 目录。 在这个例子中,我创建了一个 unbound_test.conf 文件。 你可以有自己的假设。
使用文本编辑器打开文件并添加以下示例配置。 您可以相应地修改参数。
$ sudo nano /etc/unbound/unbound.conf.d/unbound_test.conf
server: port: 53 verbosity: 0 num-threads: 2 outgoing-range: 512 num-queries-per-thread: 1024 msg-cache-size: 32m interface: 127.0.0.1 interface: 192.168.5.5 rrset-cache-size: 64m cache-max-ttl: 86400 infra-host-ttl: 60 infra-lame-ttl: 120 outgoing-interface: 192.168.0.2 access-control: 127.0.0.0/8 allow access-control: 192.168.5.0/24 allow username: unbound directory: "/etc/unbound" logfile: "/var/log/unbound.log" use-syslog: no hide-version: yes so-rcvbuf: 4m so-sndbuf: 4m do-ip4: yes do-ip6: no do-udp: yes do-tcp: yes
Now create a log file and assign permission to write logs $ sudo touch /var/log/unbound.log
$ sudo chown unbound:unbound /var/log/unbound.log
重启Unbound服务加载配置
$ sudo service unbound restart
使用以下命令启用服务
$ sudo service unbound enable
使用以下命令检查未绑定服务是否正在运行:
$ sudo service unbound status
输出 :
运行以下命令检查未绑定的端口正在侦听
$ sudo netstat -anlpt | grep LIST
输出:
输出显示 Unbound 服务正在侦听端口 53 以接受请求。
配置文件说明:
港口 : 未绑定的监听端口
隐藏版本 : 不显示未绑定的版本
使用系统日志 : 指定是否要在 syslog 中写入日志
用户名 : 用户,unbound 在其下运行
冗长 : 日志级别,范围从 0 到 4,4 为调试日志级别
界面: 监听未绑定请求的接口
传出接口 : 上网的接口
线程数 :线程数,建议指定处理器核心数相等
在防火墙中打开 DNS 端口。
创建配置文件后,您需要打开一个 DNS 端口以允许您的本地 LAN 客户端连接到您的 Unbound 仅缓存 DNS 服务器。
$ sudo ufw allow from any to any port 53 proto tcp
$ sudo ufw allow from any to any port 53 proto udp
要检查防火墙规则,请运行以下命令
$ sudo ufw status
输出 :
现在我们已经到了测试我们新的 Unbound DNS 服务器的最后一点。 对于测试,我们可以使用 你 先前安装的软件包附带的命令 绑定工具. 在实际的 DNS 服务器中执行一些 DNS 查询。 对于这个例子,我查询了 kernel.org 进行测试。 你可以有自己的假设。
$ dig kernel.org @localhost
输出:
第一次查询的响应时间为 4 毫秒。 由于我们已经配置了 Unbound DNS 服务器,查询现在被缓存了。 要验证 dns 缓存,请使用相同的域名运行以下查询。
$ dig kernel.org @localhost
现在可以发现查询时间是0毫秒。
如果要从 LAN 客户端测试 Unbound DNS 服务器的配置,请查询指向 Unbound DNS 服务器 IP 的 DNS 响应。 (在我的情况下,我的未绑定 DNS 服务器 IP 是 192.168.178.130)
$ dig kernel.org @192.168.178.130
优化
Unbound 的默认配置适用于有限的用户,但如果需要为大量用户提供服务,则需要进行一定的优化。 以下是一些优化选项,您可以实施这些选项以获得高性能。
线程数: 在系统上放置相同数量的 CPU 内核,例如,将值 4 放置为 2 个 CPU,每个 CPU 有 2 个内核。
so-reuseport:是的 在 linux 中,这有助于提高 UDP 性能
传出范围:您可以根据核心数将值设置得尽可能大。
所以-sndbuf: 对于繁忙的服务器,此值可以设置为更大的值 4m 或 8m。
有关更多详细信息,您可以参考
https://nlnetlabs.nl/documentation/unbound/howto-optimise/
结论
在本文中,我们介绍了如何通过基本配置在 Ubuntu 中安装和配置 Unbound 名称解析服务器。 已经使用 dig 命令执行了某些测试来检查 Unbound 服务器的配置。 此外,我们还了解了如何使用 Unbound 服务器的 IP 从本地 LAN 客户端查询 DNS 响应。 任何反馈和建议将不胜感激。
[ad_2]