linux dns搭建

DNS:域名解析(Domain Nmae System)
正向解析:
根据主机名称(域名)查找其对应的ip地址,这是最基本,最常用的功能
反向解析:
根据ip地址查找其对应的主机名称(域名),反垃圾邮件/安全防护等领域使用

DNS分布式结构
Full Qualified Domain Name 完全合格主机名
站点名.域名后缀
站点名. 。。。二级域.一级域

DNS域名管理
LANA (互联网数字分配机构)
整个域名系统的最高权威机构,主管DNS根,.int,.arpa等国际化域名
CNNLC(中国互联网络信息中心)
主管国家顶级域.cn
域名代理/注册/购买服务商
新网:www.xinnet.com
万网:www.net.cn
中国互联:hulian.top

————————————————————————————————————————————

BLND域名服务
伯克利internet域名服务,官方站点:www.isc.org
[root@stu ~]# yum -y install bind(域名服务)
[root@stu ~]# yum -y install bind-chroot(提供虚拟根支持)
BLND服务端程序
主要执行程序:/usr/sbin/named
服务脚本:/etc/init.d/named
默认端口:TCP/UDP 53
运行时的虚拟根环境:/var/named/chroot
主配置文件:/etc/named.conf
地址库文件(区域数据文件):/var/named/..提供‘域名-ip地址’记录 ..

named.conf配置解析
全局配置部分:设置监听地址/端口,地址库存放位置等
[root@stu named]# vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; };(监听地址和端口)
listen-on-v6 port 53 { ::1; };
directory "/var/named"; (地址文件的默认位置)
allow-query { any ; }; (允许任何客户机查询)
.............

include "/etc/named.rfc1912.zones";(可载入其他配置文件)
.......................
zone "." IN { (定义正向区域)
type master; (区域类型为主DNS)
file "named.ca";(地址库文件)
};

地址库文件解析
全局TTL配置项及SOA记录
$TTL(Time To Live 生存时间)
SOA(Start Of Authority 授权信息开始)
分号开始的部分表示注释
[root@stu ~]# vim /var/named/named.localhost
$TTL 1D //有效记录的生存周期,不加单位默认秒(D-天,H-小时,W-星期,M-分钟)
@ IN SOA @ rname.invalid. (
0 ; serial //更新序号,10位以内的整数
1D ; refresh //刷新时间
1H ; retry //重试间隔
1W ; expire //失效时间
3H ) ; minimum //无效记录的生存周期
NS @
A 127.0.0.1
AAAA ::1

(SOA 区域名. 区域管理员邮箱.。在当前文件内,本区域名可简写为@。)

域名解析记录
@ IN NS xx.xx.xx
ns IN A 192.168.1.1
www IN A 192.168.1.254
(NS,域名服务器记录,A地址记录,用在正向解析区域)
——————————————————————————————————————————————————————
搭建单区域DNS服务器
思路:
建立主配置目录/etc/named.conf
options {
directory "/var/named";
};

zone "Anonymous.org"IN{
type master;
file "Anonymous.org.zone";(地址库文件)
};
~
建立地址库文件/var/named/Anonymous.org.zone (进入地址库文件配置)
$TTL 86400
@ IN SOA @ 595.qq.com. (
201706291150 ; serial
3H ; refresh
15M ; retry
1W ; expire
1D ) ; minimum

@ NS stu.Anonymous.org.
stu A 192.168.4.30
www A 192.168.4.2
hydra A 192.168.4.205

启动named服务,查询测试
[root@stu ~]# service named restart
[root@stu ~]# host hydra.Anonymous.org(访问hydra)
hydra.Anonymous.org has address 192.168.4.205

DNS客户端
[root@stu ~]# yum -y install bind-utils(安装测试工具)
[root@stu ~]# vim /etc/resolv.conf(配置)
nameserver 192.168.4.30(指定的DNS服务器)

——————————————————————————————————————

一台DNS服务器同时支持多个DNS区域,反向查询
[root@stu ~]# vim /etc/named.conf (进入配置文件)
options {
directory "/var/named";
};

zone "Anonymous.org"IN{
type master;
file "Anonymous.org.zone";
};

zone "hydra.com"IN{ (新增一个地址库文件)
type master;
file "hydra.com.zone";
};
zone "4.168.192.in-addr.arpa"IN{ (反向区域查询)
type master;
file "192.168.4.arpa";
};

[root@stu ~]# cd /var/named/(到目录下创建hydra.com.zone的文件)
[root@stu named]# vim hydra.com.zone (写入配置)
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ;minimum

@ NS stu.Anonymous.org.

stu  A  192.168.4.1
hydra.com A 192.168.4.1
www A 192.168.4.1
xxx A 192.168.4.2


[root@stu named]# vim 192.168.4.arpa
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ;minimum

@ NS stu.Anonymous.org.
192.168.4.1 PTR hydra.Anonymous.org. (反向查询ip写前面,域名写后面)
192.168.4.2 PTR xxx.Anonymous.org.
[root@stu named]# service named restart(重启服务)

————————————————————————————————————————

DNS特殊解析记录
DNS轮询(负载均衡,一个域名,多个ip)
[root@stu named]# vim dns.Anonymous.org. (改地址库记录)
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ;minimum

@ NS stu.Anonymous.org.
stu A 192.168.4.30
www A 192.168.4.254 (三个服务器www应答)
www A 192.168.4.110
www A 192.168.100
pc205 A 1.2.3.4

DNS泛域名解析
站点名有规律(多个域名,多个ip)
[root@stu named]# vim dns.Anonymous.org.(正向地址库)
......
$GENERATE 10-80 station$ A 192.168.4.$

[root@stu named]#vim/var/named/192.168.4.arpa(反向地址库文件)
...........
$GENERATE 10-80 $ PTR station$ .Anonymous.org.

站点名任意(多个域名,一个ip)
[root@stu named]# vim stu.Anonymous.org.
* A 192.168.1.1

————————————————————————————————————————

构建主从DNS

主域名服务器:
特定DNS区域的官方服务器,具有唯一性
负责维护该区域内所有的“域名<--->ip地址”
[root@stu named]# vim /etc/named.conf
options {
directory "/var/named";
allow-transfer {192.168.4.205;};(只有205这个主机可以从我地址库下载地址)
};

zone "Anonymous.org"IN{
type master;
file "Anonymous.org.zone";
};
[root@stu named]# vim Anonymous.org.zone
@ NS dns.Anonymous.org.
@ NS pc205.Anonymous.rog.
xxx A 192.168.4.30
www A 192.168.4.2
pc205 A 192.168.4.205
tts9 A 118.45.29.31
* A 192.168.4.100
$GENERATE 10-80 station$ A 192.168.4.$

从域名服务器:
也称为 辅助域名服务器,可以没有
维护的“域名<--->ip地址”记录取决于主域名服务器
[root@pc205 ~]# vim /etc/named.conf (进入从服务器配置)
options {
directory "/var/named";
};
zone "Anonymous.org" IN {
type slave;
file "slaves/Anonymous.org.zone";(给从服务器权限)
masters {192.168.4.30;}; (写上主服务器地址)
};
[root@pc205 ~]# service named restart
停止 named:. [确定]
启动 named: [确定]
[root@pc205 ~]# ls /var/named/slaves/(检查会发现自动从主服务器下载)
Anonymous.org.zone

——————————————————————————————————————

原文地址:https://www.cnblogs.com/Hydraxx/p/7101080.html