一、bind的安装和配置
1、bind的安装:用yum安装
yum -y install bind
2、用cd切换到bind的主配置文件/etc/named.conf,然后如下图把暂时不需要用的禁用:
3、然后就用命令 servier named start 启动named进程,named进程是53端口的,如下图
二、正向解析和反向解析
1、正向解析的配置:
1.1、打开 /etc/named.rfc1912.zones 这个文件,添加一个正向区域文件
1.2、切换到/var/named/ ,创建文件 panlinux.com.zone 并在文件添加如下图内容:
1.3、改panlinux.com.zone所属主和组,还有文件权限,如下图:
1.4、用named-checkconf 命令检查主配置文件,用named-checkzone命令来检查区域配置 文件,然后用 service named reload 重新加载一下named, 做完可以查看一下 日志,tail /var/log/messages
1.5、测试:先到/etc/resolv.conf把dns的ip设置为本机IP 192.168.2.10,
1.5.1、用dig -t A 域名 @主机 如下图
2、反向解析:
2.1 在/etc/named.rfc1912.zones 增多一条区域文件,如下图
2.2 切换到/var/named/ ,创建文件 2.168.192.zone 并在文件添加如下图内容:
2.3 改2.168.192.zone所属主和组,还有文件权限,如下图:
2.4 用named-checkconf 命令检查主配置文件,用service named configtest命令来检查 2.168.192.zone文件有没有语法错误,然后用service named reload 重新加载一 下named, 做完可以查看一下日志,tail /var/log/messages
2.5 测试:用dig -x ip 命令测试
三 主从的配置
做实验之前没有关闭防火墙的,要先把防火墙关掉,要不然主服务器数据同步不到从服务器上
1、在服务器192.168.2.10上的panlinux.com.zone添加在区域数据文件中为从服务器添加一条NS 记录和对应的A或PTR记录,如下图是正向的:
2、在另外一台linux ip为192.168.2.11上做dns从服务器,先安装bind,然后在
在/etc/named.rfc1912.zones 增多一条区域,然后用service named restart 重启一 下主从服务器的named服务,如下图
3、然后在从服务器上的/var/named/slaves就会出现从主服务器同步来的panlinux.com.zone文件
4、现在做反向的主从配置:在服务器192.168.2.10上的192.168.2.zone添加在区域数据文PTR记录,如下图:
5、 在另外一台linux ip为192.168.2.11的/etc/named.rfc1912.zones 增多一个区域,如下图:
6、 然后用service named restart 重启一下主从服务器的named服务,然后在从服务器上的/var/named/slaves就会出现从主服务器同步来的192.168.2.zone文件
7、如果单单这样就可以获取服务器数据那就太危险了,别人可以通过模拟从服务器IP的方式获取主服务器的数据。所以我们要控制主服务器,让他只能同步给从服务器,而从服务器给谁都不同步。这样就相对安全了很多。
在bind中有内置的acl(访问控制列表)
none:表示死所有都不同步
any:表示所有都同步
localhost:只给本机同步
localnet:给同步给同网络
allow-update:允许更新
allow-transfer { ip; ip; ip; ... }; none|any|localhost|localnet 都是allow-transfer的参数
从服务器的安全,如果在/etc/named.rfc1912.zones 区域增多一条allow-transfer { none; };,就表示谁都无法同步从服务器,如下图:
四、子域的授权
(父域的ip为:192.168.2.10,子域的ip为:192.168.2.12)
在父域的配置文件中添加如下项:
授权的子区域名称
子区域的名称服务器
子区域的名称服务器的IP地址
1、,在父域服务器上的 /var/named/panlinux.com.zone 添加如下图所示:
2、然后在子域安装bind,并在区域文件中添加一个zone,如下图所示:
3、在/var/named添加一个数据文件tech.panlinux.com.zone,如下图所示:
4、然后检查语法,在父域用 dig -t NS tech.panlinux.com @192.168.2.10 测试
五、转发机制
1、配置区域转发:转发域
解析某本机不负责的区域内的名称时不转发给根,而是转给指定的主机:
zone "ZONE NAME" IN{
type forward;
forwarders { DNS_SERVER; };
forward only(仅转发)|first(先转发在找根)
}
1.1、在子域中的主配置文件添加如下图所示:
1.2、测试:
在子域用 dig -t A www.panlinux.com @192.168.2.12 命令来测试
2、配置转发的方式
转发非本机负责解析的所有区域
options{
forward only|frist
forwarders{ ip; }
}
转发某特定区域
zone"特定区域" IN{
type forward;
forwarders{ ip; }
forward only|frist
}
允许转发的前提:转发必须对方服务器支持递归
六:view 视图:
功能:由于主机解析查询时会轮询使用解析到的服务器,而bindview则根据客户端的来源不同,将同一个名称解析至不同的值,不做轮询。
鉴于我国的各地既有联通网络,又有电信网络,而联通电信之间的连接靠的是北京机房的中转,那么可以想象,如果你处在电信网络下,向联通服务器发起请求的速度会有多慢。为了解决这种状况,边出现了bind view 这种功能,让联通用户至访问联通服务器,电信只访问电信。这样速度就会快很多了。
view 视图,逻辑的DNS服务器,能够实现让一个view实现多次
view一旦实现,就所有的zone都放到view中
格式:
view view_name {
match-clients{
客户端地址,如果客户端很多,则用cal定义 ;
zone"magelinux.com" IN{
type master;
file "magelinux.com.telcom";
}
}
view view_name {
match-clients{ unicom; }
zone"magelinux.com" IN{
type master;
file "magelinux.com.unicom";
}
}
view view_name {
match-clients{ any; }
zone"magelinux.com" IN{
type master;
file "magelinux.com.unicom";
}
}
只要写入view,所有的都应该写在view中
自上而下匹配
首先将/etc/named.conf中的
zone "." { type hint;
file "named.ca";
};
这四行剪贴到/etc/named.rfc1912.zones中
将里面所有的zone都用view括起来,下面配置解析panlinux.com 的这个域
view left {
match-clients { 192.168.0.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
};
view right {
match-clients { 192.168.2.0/24; };
zone "panlinux.com" IN {
type master;
file "panlinux.com.right";
};
};
view defalue {
match-clients { any; };
zone "panlinux.com" IN {
type master;
file "panlinux.com.right";
};
};
保存好后,再用 named-checkconf 检查语法是否错误;
cd 到/var/named ,创建panlinux.com.right
改所组为named,改权限为640
dig -t A www.panlinux.com @192.168.2.12 可以解析出来的地址为192.168.0.1
使用view要注意的:
1、通常只为内网客户端提供递归功能,提供根区域等;
2、通过只为外网客户端提供本机所负责的区域的解析;
本文出自 “11501323” 博客,请务必保留此出处http://11511323.blog.51cto.com/11501323/1876100
原文:http://11511323.blog.51cto.com/11501323/1876100