DNS基础概念:
- DNS全称为Domain Name System。它作为将域名和IP地址相互映射的得一个分布式数据库,能够使人更方便的访问互联网
- DNS使用TCP和UDP得53号端口
-
BIND是DNS得实现方式之一
- named是bind程序得运行的进程名
- named进程的主要运行者是named用户,为了安全起见,它的程序也应该以named用户运行
配置正向解析:
yum -y install bind bind-utils -y #安装bind
vim /var/named/lijing.io #在/var/named/下创建文件
$TTL 600
lijing.io. IN SOA lijing.io. nsadmin.liing.io. (
2017052901
1H
5M
1W
6H )
IN NS dns1.lijing.io
dns1.lijing.io. IN A 172.16.253.223
www.lijing.io IN CNAME www
vim /etc/named.conf #编辑主配置文件
/dnssec-enable #查找dnssec-enable
//dnssec-enable #注释之
dnssec-validation no #改为no,禁用
/allow-query #查找allow-query
allow-query { any; }; #允许所有人查询
/listen-on #查找这一行
//listen-on #注释之
#注意,每一个指令都已分号结尾
vim /etc/named.rfc1912.zones #更改区域配置文件
G #跳转到行末
zone "lijing.io" {
type master; #定义为主服务器
file "lijing.io.zone";
}
named-checkconf #检查配置文件语法
named-checkzone #检查zone区域语法
chmod o= /var/named/lijing.io.zone
chown :named /var/named/lijing.io.zone
systemctl start named.service
ss -unl #查看53号端口工作与否
host -t A lijing.io
host -t SOA lijing.io #测试
配置反向解析
vim /etc/named.rfc1912.zones
zone "16.172.in-addr.arpa" IN {
type master;
file "172.16.zone"; #在172.16.zone文件中 @ 符号表示 16.172.in-addr.arpa
};
named-checkconf
vim 172.16.zone
$TTL 1200
$ORIGIN 16.172.in-addr.arpa. #定义了之后,dns后面补得是这个定义的字符
@ IN SOA lijng.io. naadmin.lijing.io. ( #@符号意义表示区域名
2017052901
3H
20M
1W
1D )
@ IN NS dns1.lijing.io. #dns1.后面补得是16.172.in-addr.arpa
223.253 IN PTR dns1.lijing.io. #前面的应该要与lijing.io.zone中得地址反写
#223.253.16.172.in-addr.arpa. 最左侧完整形式
1.0 IN PTR www.lijing.io.
named-checkconf
named-checkzone
rndc reload
dig -x 172.16.0.1 @172.16.253.223
dig -t axfr 16.172.in-addr.arpa @172.12.253.223
chmod o= /var/named/16.172.zone
chown :named /var/named/16.172.zone
主从配置
在另外一台主机(IP为172.16.254.20)
ll /var/named/ #查看namd目录,named用户对这个目录是否拥有写权限(从服务器的区域文件是自动更新的,所以named对这个目录应该拥有写权限
vim /etc/named.rfc1912.zones
G
zone "lijing.io" IN {
type slave;
file "slaves/lijing.io.zone";
masters { 172.16.253.223; };
};
named-checkconf
rndc reload
tail /var/log/messages #查看日志当中得说明(all zones loaded..)
cd /var/named/
dig -t A www.ilinux.io @172.16.254.20
子域授权,区域转发
#在lijing.io下授权两个资源,一个叫做ops,一个叫做dev
vim /var/named/lijing.io.zone
ops,lijing.io. IN NS dns1.ops.lijing.io. #说明ops子域由子域内的dns1.ops服务器来负责
dev.lijing.io. IN NS dns1.dev.lijing.io.
dns1.pos IN A 172.16.254.21
dns1.dev IN A 172.16.254.22 #两台主机能通信,就可以解析出子域
#在父域中先指明切割成什么子域,再指明每个负责人是谁,每个负责人对应信息是什么
#切换到172.16.254.21主机
vim /etc/named.conf
listen-on-v6 port 53 { 127.0.0.1; 172.16.254.21; };
//dnssec-enable yes;
//dnssec-validation yes;
vim /etc/named.rfc1912.zones
zone "ops.lijing.io" IN {
type master;
file "ops.lijing.io.zone";
}; #配置正向解析
cd /var/named/
vim ops.lijing.io.zone
$TTL 1h
@ IN SOA ops.lijing.io. nsadmin.ops.ilinux.io. (
2017052901
1H
5M
3D
2H )
@ IN NS dns1 #与上一级dns保持一致,后缀可不写
dns1 IN A 172.16.254.21
www IN A 172.16.0.100
named-checkconf
named-checkzone "ops.lijing.io" /var/named/ops.lijing.io.zone
systemctl start named.service
dig -t A dns1.ops.lijing.io @172.16.254.21 #
dig -t NS ops.lijing.io @172.16.25254.21 #
dig -t A dns1.lijing.io @172.16.254.21 #解析父域,是不会成功的,因为它会先去找根服务器,而我们是测试环境
vim /etc/named.rfc1912.zones
zone "lijing.io" IN {
type forward; #表示当我们解析一个域名的时候,不要去找根
forward only; #即使解析不了,也要给出答案,无论解析成功与否
#forward first #表示解析的时候先通过下面的NDS解析,解析不了再去寻找根服务器
forwarders { 172.16.254.21; 172.16.254.22; }; #通过这两台服务器去解析
};
named-checkconf
rndc reload
dig -t dns1.ilinux.io @172.16.254.21 #解析父域
全局转发:
#无法访问互联网
vim /etc/named.conf
options
forward only;
forwarders { 172.16.0.1; };
named-checkconf
rndc reload
dig -A www.baidu.com @172.16.253.223 +trace
安全配置
vim /etc/named.conf
#在options智商放置acl
acl test {
172.16.253.223;
172.16.0.100;
};
option
#本机的查询操作放置在options当中,表示本机的所有的所负责域的查询则只允许这个地址查询
vim /etc/named.rfc1912.zones #针对某个区域进行定义
zone "lijing.io" {
type...
file...
allow-query { test; }; #表示这个区域只允许哪些查询
};
named-checkconf
rndc reload
dig -t A www.lijing.io @172.16.253.223 #测试这个能否被223解析
dig -t A www.lijing.io @172.15.0.200
2、允许从服务器做区域传送
vim /etc/named.conf
acl slavesrvs {
172.16.254.20;
};
vim /var/named.rfc1912....
zone "lijing.io" {
type...
file...
//{ test; };
alow-transfer { slaversrvs; }; #仅仅允许从服务器做区域传送
};
named-checkconf
rndc reload
#传送:在 254.20上使用
dig -t axfr lijing.io @172.16.253.223
只允许本地网络中客户端递归
vim /etc/named.conf
acl localnet {
172.16.0.0/16;
172..0.0.0/8;
};
options
//recursion yes;
allow-recursion { localnet; }; #仅允许本机所在的IP进行递归
named-checkconf
rndc reload
禁止它人动态更新站点(区域中得任何人)
vim /etc/named.rfc1912...
zone "lijing.io" IN {
type master;
file "lijing.io.zone";
allow-transfer { slaversrvs; };
allow-update { none; };
};
原创文章,作者:半斤八两,如若转载,请注明出处:http://www.178linux.com/77144


评论列表(1条)
主要介绍了bind的正向解析,反向解析,主从配置,区域转发,子域授权和安全配置等等,内容总结的井然有序,并且非常详细,排版也很好。