如何在CentOS 7上安装快速轻量级DNS服务器MaraDNS如何在CentOS 7上安装快速轻量级DNS服务器MaraDNS如何在CentOS 7上安装快速轻量级DNS服务器MaraDNS如何在CentOS 7上安装快速轻量级DNS服务器MaraDNS
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在CentOS 7上安装快速轻量级DNS服务器MaraDNS

在此页

  1. 安装 MaraDNS
  2. 将 MaraDNS 配置为权威名称服务器
  3. 将 MaraDNS 配置为递归名称服务器

MaraDNS 是一个小型、免费、轻量级的域名服务器。它是另一种开源 DNS 服务器,充当缓存、递归或权威名称服务器。它非常容易配置并且适用于 Linux 和 Windows 平台。它可以从这里下载。

以下是 MarDNS 的一些有趣特性:

  • 易于安装
  • 内存使用率低(使用大约 5MB 的 RAM)
  • 可以充当权威名称服务器和递归名称服务器。
  • 不要错过,MaraDNS 网站上的文档非常简单易懂。

现在让我们开始在 CentOS 7 上使用 MaraDNS。以下步骤将指导您安装和配置 MaraDNS:

安装 MaraDNS

截至目前,没有任何适用于 CentOS 7 的 MaraDNS 可用 RPM,因此我们将从源代码安装和编译它。

安装 gcc:

sudo yum install gcc

从这里下载最新的源存档。你可以这样做:

wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2

提取档案的内容:

tar -xjf maradns-2.0.11.tar.bz2

切换到提取的 MaraDNS 目录,编译并安装程序:

cd maradns-2.0.11
sudo make
sudo make install

MaraDNS 现已安装。 MaraDNS 服务安装在 /etc/init.d/maradns。您可以通过以下方式简单地启动服务:

sudo /etc/init.d/maradns start

要启动递归恶魔,请运行:

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

默认情况下,权威名称服务器在端口 127.0.0.1 上侦听,递归服务器在端口 127.0.0.2 上侦听。

让我们确保在启动时启动 MaraDNS:

chkconfig maradns on


递归 DNS 服务器的初始化脚本需要与 chkconfig 兼容,然后才能在启动时运行它。将以下内容添加到文件 /etc/init.d/maradns.deadwood 文件的顶部:

# chkconfig: - 55 45
# description: MaraDNS is secure Domain Name Server (DNS)
# probe: true

将其设置为在启动时运行:

chkconfig maradns.deadwood on

将 MaraDNS 配置为权威名称服务器

权威 DNS 服务器“知道”任何给定域的 URL 到 IP 的映射。它们是递归 DNS 服务器发送给 Web 客户端(如浏览器(Chrome、Firefox))的信息来源。您可以将 MaraDNS 配置为权威名称服务器作为:

编辑 MaraDNS 的配置文件,即 /etc/mararc:

ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"
csv2 = {} csv2["example.net."] = "db.example.net"

第一行告诉 MaraDNS 监听 IP-127.0.0.1。您可以向其中添加更多 IP,以逗号分隔。例如- 127.0.0.1, x.x.x.x

第二行 chroot_dir 是提到将保存所有区域文件的目录。

第三行使用 csv2={} 命令初始化 csv2 散列。

第四行提到了域名example.net 的名为db.example.net 的区域文件。

这是域名 example.net 的名为 db.example.net 的区域文件,不言自明:

example.net.      +14400    soa    ns1.example.net.  2012010117 14400 3600 604800 14400 ~ 
example.net.      +14400    ns     ns1.example.net. ~ 
example.net.      +14400    ns     ns2.example.net. ~ 
ns1.example.net.  +14400    a      127.0.0.1 ~ 
ns2.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    a      127.0.0.1 ~ 
www.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    mx     10 mail.example.net. ~
mail.example.net. +14400    a      127.0.0.1 ~

您从授权起始 (SOA) 行开始。然后指定权威名称服务器和其他记录。记录由域名、TTL(生存时间)、记录类型和记录值组成。
需要注意的两点是所有域名都以句点结尾,即它们必须是完全限定的域名,并且所有记录以波浪字符 (~) 结尾。要了解更多信息,请查看有关区域文件格式的文档。

为了更简单,我们将 example.net 指向 127.0.0.1。这是你如何做的:

example.net.    127.0.0.1 ~

重新启动服务为:

sudo /etc/init.d/maradns restart

将 MaraDNS 配置为递归名称服务器

当您的 Web 浏览器发出 DNS 查询时(假设浏览器尚未将映射存储在其缓存中),它会被发送到递归 DNS 服务器。它也称为 DNS 转发。它默认侦听端口 127.0.0.2,您可以向其添加更多 IP,以逗号分隔。例如 - 127.0.0.2,x.x.x.x。您可以通过将以下行附加到 /etc/dwood3rc 文件来将 MaraDNS 配置为递归名称服务器:

upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Forwarding requests to Google DNS Servers

重新启动服务为:

sudo /etc/init.d/maradns.deadwood restart

您已完成设置 MaraDNS 服务器! 🙂

提示 - 如果您希望您的 MaraDNS 服务器响应外部 DNS 查询,您需要:

将您的机器公共 IP 添加到两个配置文件 (/etc/mararc & /etc/dwood3rc) 并将它们修改为:

/等/马拉克:

ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Replace x.x.x.x with your machine's public address.

/etc/dwood3rc:

bind_address="127.0.0.2, x.x.x.x" #Replace x.x.x.x with your machine's public address.

recursive_acl=\0.0.0.0/0\ #允许来自任何地方的连接。

您可以从这里获取这些示例文件。不要忘记再次重新启动服务。

就这样!

©2015-2025 艾丽卡 support@alaica.com