一,主从配置
1. | DNS.正向配置 |
1.主配置文件:
/etc/named.conf
可包含其他文件
主配置文件配置之后便有缓存功能
配置主配置文件:
主配置文件:
/etc/named.conf
可包含其他文件
options {
listen-on port 53 { 10.1.45.70; };#监听本机端口
listen-on-v6 port 53 { ::1; };
directory "/var/named";
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; };
recursion yes; #是否允许其他主机对当前主机进行递归查询
dnssec-enable no;#关闭
dnssec-validation no;#关闭
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
2.定义区域文件配置
定义区域:主配置文件或主配置辅助文件实现
格式:
zone “ZONE_NAME IN {
type {master|slave|hint|forward};
file "ZONE_NAME";
}”
例:
#vim /etc/named.rfc1912.zones
zone "liaoxz.com" IN {
type master;
file "liaoxz.com.zone";
};
3.建立区域数据文件/var/named目录下建立区域数据文件
注:必须文件名与定义区域文件写的一样
区域数据文件格式定义:
name [TTL] IN RR_TYPE value
SOA:
NAME:当前区域名字;例如“liaoxz.com.”
value:由多部分组成
1)当前区域区域名称(也可以使用主DNS名称);
2)当前区域管理员邮箱地址(不能使用@符号,使用.替代)
3)主从服务协调属性定义以及否定答案TTL
例如:liaoxz.com. 86400 IN SOA liaoxz.com. admin.liaoxz.com. (
2017010801;(不能超过10位)序列号
2H;(刷新时间)
10M;(重试时间)
1W;(过期时间)
1D;(否定答案TTL值)
)
NS:
name :当前区域名称
value:当前区域的某DNS服务器的名字。一个区域可以有多个ns记录
liaoxz.com. 864000 IN NS ns1.laioxz.com
MX
name;当前区域名称
value:当前区域某邮件交换器的主机名,每个记录的value之前应该有一个数字便是优先级。
A
name 某FQDN
value ipv4地址
PTR
name:IP地址,有特定的格式,ip反过来写。而且后面为特定后缀,
value FQDN
例如 10.1.45.10 写成 10.45.1.in-addr-arpa.
10.45.1.in-addr-arpa IN PTR www.magedu.com
CNAME
name:别名 FQDN别名
value:FQDN格式正式名字
例如:
web.liaoxz.com. IN CNAME www.liaoxz.com.
注意:
1)ttl值可以继承全局
2)@表示当前区域名称
3)相邻的两条记录与name相同时,后面可以省略
4)MAX ,NS 等类型的记录类型的value为FQDN,次FQDN应该有一个A记录。
例:
$ORIGIN liaoxz.com.
@ IN SOA ns1.liaoxz.com. liao.liaoxz.com. (
2017101505
1H
10M
10D
1D )
IN NS ns1
IN NS ns2
IN MX 10 mx
ns2 IN A 10.1.45.60
web IN A 10.1.45.66
www IN A 10.1.45.70
abb IN A 10.1.45.70
ns1 IN A 10.1.45.70
mx IN A 10.1.45.60
ll IN A 10.1.45.78
5iwc IN A 10.1.45.99
ops IN NS ns1.ops
ns1.ops IN A 10.1.45.61
bbs IN A 10.3.4.5
bbs1 IN A 10.1.5.6
2. | DNS.反向配置 |
1)定义区域:主配置文件或主配置辅助文件实现
zone “ZONE_NAME IN {
type {master|slave|hint|forward};
file "ZONE_NAME";
}”
注意:反向区域名字
反写的网段地址,in-addr.arpa
45.1.10.in-addr-arpa
2)定义区域解析库文件(主要记录为PTR)
$TTL 3600
$ORIGIN 45.1.10.in-addr.arpa.
@ IN SOA ns1.liaoxz.com. liao.liaoxz.com. (
2017101401
1H
10M
3D
12H )
IN NS ns1.liaoxz.com.
11 IN PTR ns1.liaoxz.com.
66 IN PTR web.liaoxz.com.
11 IN PTR www.liaoxz.com.
99 IN PTR max.liaoxz.com.
111 IN PTR mx2.liaoxz.com.
3. | DNS.主从赋值 |
1)在从服务器上定义区域
定义为从区域
zone "ZONE_NAME" IN {
type slave;
file "slaves/ZONE_NAME";
masters {master_ip};
};
zone "liaoxz.com" IN {
type slave;
file "slaves/liaoxz.com.zone";
masters { 10.1.45.70; };
};
zone "45.1.10.in-addr.arpa" IN {
type slave;
file "slaves/10.1.45.zone";
masters { 10.1.45.70; };
};
从服务器主配置文件修改:
options {
listen-on port 53 { 127.0.0.1; 10.1.45.60; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
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; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
4. | 测试及工具 |
dig 命令
dig [-tRR_TYPE] name @SERVER(哪一个服务器测试)[query options]
用于测试DNS系统,因此其不会查询hosts文件;
查询选项:
+[no]trace:跟踪解析过程;
+[no]recurse:进行递归查询;
反向解析
dig -x ipaddress
注意:
1:时间要同步
2:更改主服务器中的正反向解析条目后要更改序列号,
二,子域、区域转发配置、及智能bind
什么是子域?
例如我的域名是liaoxz.com.
子域就是在我现在有的二级域后在添加一个三级域
子域授权:
正向解析区域授权自域的方法
ops.liaoxz.com. INNSns1.ops.liaoxz.com.
ops.liaoxz.com. IN NSns2.ops.liaoxz.com.
ns1.ops.liaoxz.com. IN A IPADDR
1)在主服务器上添加子域服务器的NS 和A 记录
ops IN NS ns1.ops
ns1.ops IN A 10.1.45.61
注意:如果有从服务器,将序列号也更改一下
2)更改子域服务器的主配置文件
vim /etc/named.conf
更改以下几项
options {
listen-on port 53 { 127.0.0.1; 10.1.45.61; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
启动服务
配置区域文件
vim /etc/named.rfc1912.zones
zone "ops.liaoxz.com" IN {
type master;
file "ops.liaoxz.com.zone";
};
配置正向区域
vim /var/named/ops.liaoxz.com.zone
$TTL 3600
$ORIGIN ops.liaoxz.com.
@ IN SOA ns1.ops.liaoxz.com. liao.ops.liaoxz.com. (
2017010801
1H
10M
1D
2H )
IN NS ns1
ns1 IN A 10.1.45.61
KK IN A 10.1.45.79
~
定义转发区域:(DNS解析不再直接去妆发给.根服务器)
注意:被转发的服务器必须允许为当前服务做递归
1)区域转发:金转发对某特定区域的解析请求
zone "ZONE_NAME"IN {
type foward;
foward {frist|only}
fowarders {SERVER_IP;}
};
first:首先转发,转发不成功是转发给根
only:只装发,等待
zone "liaoxz.com" IN {
type forward;
forward only;
forwarders { 10.1.45.60; 10.1.45.70; };
};
2)全局转发(凡是本地没有通过zone定义的区域查询请求通通转发给指定DNS)
option{
forward {only|frist}};
forwarders {SERVER_IP;};
};
options {
listen-on port 53 { 127.0.0.1; 10.1.45.61; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
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; };
recursion yes;
forward only;
forwarders { 10.1.45.70; };
dnssec-enable no;
dnssec-validation no;
安全相关配置
acl :访问控制列表;把一个或多个地址归并一个集合,随后通过此名称对此集合内的所有主机实现统一调度;
acl acl_name {
ip;
net/prelen;
};
示例:
acl mynet {
10.1.0.0/16;
127.0.0.0/8;
};
bind有四个内置ACL
none :没有一个主机
any:任意主机
local:本机
localnet;本机所在的IP所属的网络
访问控制指令:
1. allow-query {};允许查询的主机;白名单;
2. allow-transfer {};允许向那些主机传送,默认所有都可以传送;(可以对所有进行控制,配置在主配置文件就可以,也可以对其中某一个区域进行配置,在区域配置文件里增加;建议从服务器设置从none,不允许传送)
例如:
1.首定义一个acl
vim /etc/named.conf
acl slave {
10.1.45.61;
127.0.0.1;
};
2.进行区域转发配置
zone "liaoxz.com" IN {
allow-transfer { slave; };
type master;
file "liaoxz.com.zone";
};
3.allow-recursion {}; 允许哪些主机向当前DNS服务器发送递归查询请求;默认是yes开启,也可以使用acl进行控制。
4.allow-update {};DDNS,允许动态更新区域数据库文件中的内容;
建议设置成{ none }
智能DNS 区别不同流量将请求转发道不同流量通道,联通走联通,电信走电信。
view VIEW_NAME {
zone
zone
zone
};
将联通的所有ip地址统计到acl中,将电信所有的ip地址统计到电信的acl中,
view yidon {
match-clients { yidonacl };
type master;
file liaoxz.com/yidon
};
view lianton {
match-clients { liantonaclacl };
type master;
file "liaoxz.com/lianton";
};
转载于:https://blog.51cto.com/liaoxz/1862228