araDNS是一个轻量级但强大的开源DNS服务器程序。与ISC BIND,PowerDNS,djbdns等同类应用相比,MaraDNS更加简单易用,是中小企业的理想选择。

在本文中,我将向您展示如何在Vultr CentOS 6服务器实例上安装和使用MaraDNS作为递归DNS服务器。

先决条件

  • 一个新创建的Vultr CentOS 6服务器实例。
  • 非root sudo用户。有关如何创建sudo用户的详细信息,请参阅此文章

第1步:更新系统

sudo yum update
sudo shutdown -r now

重启后使用相同的sudo用户登录。

步骤2:下载并安装MaraDNS

cd
wget http://maradns.samiam.org/download/2.0/2.0.13/maradns-2.0.13.tar.bz2
tar -jxvf maradns-2.0.13.tar.bz2
cd maradns-2.0.13
sudo yum install gcc
sudo make
sudo make install

步骤3:使用MaraDNS作为递归DNS服务器

MaraDNS使用一个名为Deadwood的独立组件来处理递归DNS查询。为了正确和安全地运行死木,您需要根据您的具体情况修改其设置。

例如,如果您想要设置一个半公开的递归DNS服务器,它只处理来自指定IP地址的DNS查询,则需要配置如下所示的“

用vi编辑器打开文件“/ etc / mararc”:

sudo vi /etc/mararc

找到这一行:

ipv4_bind_addresses = "127.0.0.1"

添加你的机器的公网IP地址(比如说是203.0.113.1)和私有IP地址(比如说是10.99.0.10),然后这条线变成:

ipv4_bind_addresses = "127.0.0.1, 203.0.113.1, 10.99.0.10"

保存并退出:

:wq!

用vi编辑器打开另一个文件“/ etc / dwood3rc”:

sudo vi /etc/dwood3rc

找到这一行:

bind_address="127.0.0.2" # IP we bind to

再次添加您的机器的公共IP地址和私人地址,然后这条线应该成为:

bind_address="127.0.0.2, 203.0.113.1, 10.99.0.10" # IP we bind to

找到这一行:

recursive_acl = "127.0.0.1/16" # Who is allowed to use the cache

在上面的行中添加任何允许的IP地址范围,比如10.99.0.0/24和203.0.113.0/24,每行一个地址范围:

recursive_acl = "10.99.0.0/24"
recursive_acl = "203.0.113.0/24"

此外,请取消注释以下行以允许来自专用网络的DNS查询:

#filter_rfc1918 = 0

它应该成为:

filter_rfc1918 = 0

保存并退出:

:wq!

最后,开始戴德伍德:

sudo chkconfig maradns.deadwood on
sudo /etc/init.d/maradns.deadwood start

而已。感谢您的阅读。