博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 搭建dns服务器 解析任意域名
阅读量:6838 次
发布时间:2019-06-26

本文共 3502 字,大约阅读时间需要 11 分钟。

DNS服务器IP地址:192.168.1.219

服务器版本:centos6.6

一:软件安装

[root@localhost ~]# yum -y install bind*

二:修改主配置文件

[root@localhost ~]# cp /etc/named.conf /etc/named.conf.bak # 修改之前先备份一遍[root@localhost ~]# vi /etc/named.conf

修改为以下:

options {listen-on port 53 { any; }; // 监听在主机的53端口上。any代表监听所有的主机directory “/var/named”; // 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下// 下面三项是服务的相关统计信息dump-file “/var/named/data/cache_dump.db”;statistics-file “/var/named/data/named_stats.txt”;memstatistics-file “/var/named/data/named_mem_stats.txt”;allow-query { any; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人recursion yes;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;forwarders { // 指定上层DNS服务器192.168.1.1;};bindkeys-file “/etc/named.iscdlv.key”;managed-keys-directory “/var/named/dynamic”;};logging {channel default_debug {file “data/named.run”;severity dynamic;};};zone “.” IN {type hint;file “named.ca”;};include “/etc/named.rfc1912.zones”;include “/etc/named.root.key”;

三、 自定义域名解析配置

[root@localhost ~]# vi /etc/named.rfc1912.zones # 比如我们要添加yumaozdy.com这个域的解析可以添加下面这一段zone “yumaozdy.com” IN { // 定义要解析主域名type master;file “yumaozdy.com.zone”; // 具体相关解析的配置文件保存在 /var/named/yumaozdy.com.zone 文件中};

四 自定义yumaozdy.com.zone文件

[root@ns named]# vi /var/named/yumaozdy.com.zone

全文如下:

$TTL 86400@ IN SOA ns.yumaozdy.com. root (1 ; serial1D ; refresh1H ; retry1W ; expire0 ) ; minimum@ IN NS ns.yumaozdy.com.ns IN A 192.168.1.219www IN A 192.168.1.45bbs IN A 192.168.1.46ttt IN A 192.168.1.68// 其中 ns.yumaozdy.com 代表当前dns服务器名称。所以 ns.yumaozdy.com 一定要解析到自己本身www IN A 192.168.1.45 // 代表 www.yumaozdy.com 解析到 192.168.1.45服务器上。其他的类似

五、修改权限

[root@ns named]# chown root:named yumaozdy.com.zone # 这一步一定要做

六、重启服务

[root@dns_server named]# service named restart

七、新增域名解析

如果我们要追加一个域的解析。比如google.com 则:

vi /etc/named.rfc1912.zones// 添加下面这段zone “google.com” IN {type master;file “google.com.zone”;};[root@ns named]# cp -a yumaozdy.com.zone google.com.zone[root@ns named]# vi google.com.zone$TTL 86400@ IN SOA ns.google.com. root (1 ; serial1D ; refresh1H ; retry1W ; expire0 ) ; minimum@ IN NS ns.google.com.ns IN A 192.168.1.219www IN A 192.168.1.11bbs IN A 192.168.1.46ttt IN A 192.168.1.68

配置完成之后重启服务

[root@dns_server named]# service named restart

八、关闭selinux(略)

九、添加防火墙规则

vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT-A INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT-A INPUT -m state –state NEW -m tcp -p tcp –dport 953 -j ACCEPT

添加规则,并且保存(注意位置)

service iptables restart

十、测试

vim /etc/resolv.confnameserver 192.168.1.219

保存

ping www.yumaozdy.com和其他域名看能否解析

zone配置文件简单说明:

常见的正解文件 RR 相关信息
[domain] IN [[RR type] [RR data]]
主机名. IN A IPv4 的 IP 地址
主机名. IN AAAA IPv6 的 IP 地址
领域名. IN NS 管理这个领域名的服务器主机名字.
领域名. IN SOA 管理这个领域名的七个重要参数(如上说明)
领域名. IN MX 顺序数字 接收邮件的服务器主机名字
主机别名. IN CNAME 实际代表这个主机别名的主机名字.
单位:W= 周、D= 日、H= 小时、M= 分钟。
$TTL 86400
@ IN SOA ns.helome.com. root ( # ns.test.web. 是DNS服务器的名称
0 ; serial (d. adams) 仅作为序列号而已
1D ; refresh 服务器的更新时间
15M ; retry 重新更新时间间隔
1W ; expiry 多久之后宣布失败
1H ) ; minimum 相当于缓存记忆时间
@ IN NS ns.helome.com.
@ IN MX 5 mail.helome.com. (5为优先级别)
ns IN A 192.168.32.131
www IN A 192.168.32.131
mail IN A 192.168.32.131

测试检测域信息是否正常

检查之前先看下 配置文件有没有读取权限 ll /var/named (如果没有 chmod +r /var/named/* 即可)

使用host或nslookup命令 检测域信息是否正常(如下图所示)

host mail.helome.comnslookup mail.helome.com

到此DNS服务器的搭建就完毕了。

bind文件配置过程中容易出错

以下命令用以检查bind配置文件及zone文件语法

named-checkconf/etc/named.confnamed-checkzone helome.com /var/named/helome.com.zone

转载于:https://www.cnblogs.com/linuxde/p/8715659.html

你可能感兴趣的文章
动态代理的工作原理图
查看>>
【计算几何】点在多边形内部
查看>>
iOS利用代理实现界面跳转
查看>>
(二十一)状态模式详解(DOTA版)
查看>>
MySQL累积求和
查看>>
第五周 Word注释与交叉引用
查看>>
BIND9源码分析之 多个view的情况下如何做dynamic update
查看>>
openssl 证书操作
查看>>
精简版StringBuilder,提速字符串拼接
查看>>
位运算
查看>>
HDU 4708 Rotation Lock Puzzle(模拟)
查看>>
Chapter 6 -- Caches
查看>>
wpf/Silverlight/wp中如何绑定模板中的属性
查看>>
Netty Associated -- Channel
查看>>
vim 配置
查看>>
数据结构与算法实验题6.1 s_sin’s bonus byFZuer
查看>>
C#点点滴滴:枚举enum
查看>>
白盒密码入门
查看>>
在数据仓库建模时,应该使用哪种数据类型的度量值
查看>>
Gradle学习系列之九——自定义Task类型
查看>>