BIND的安装与配置
2017-12-10 20:39
225 查看
BIND简介
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:正向解析:根据主机名(域名)查找对应的IP地址 反向解析:根据IP地址查找对应的主机名(域名)
工作形式上又分主服务器、从服务器和缓存服务器。
主服务器:在特定区域内具有唯一性、负责维护该区域内的域名与IP地址对应关系 从服务器:从主服务器中获得域名与IP地址对应关系并维护,以防主服务器宕机等情况 缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址对应关系,提高重复查询时的效率
bind是一款代码的DNS服务器软件,它是由伯克利大学编写,全名(Berkeley Internet Name Domain)伯克利英特网域名,是目前世界上使用最为广泛的DNS服务器软件
bind相关
包名: bind进程: named
协议: DNS
使用端口: 53/tcp , 53/upd
named程序
主程序文件 /usr/sbin/named主配置文 /etc/named.conf
区域配置文件 /etc/named.rfc1912.zones
bind相关的安装包
bind : 主程序包bind-chroot : 将named进程的活动范围限定在chroot目录,保证安全性
bind-devel : 与开发相关的头文件和库文件(编译安装bind时所需)
bind-libs : bind服务器端和客户端都使用到的公共库文件
bind-utils : bind客户端工具 bind的客户端
bind客户端
~]# rpm -ql bind-utils /etc/trusted-key.key /usr/bin/dig #最常用的DNS服务器测试工具 /usr/bin/host #一款轻量级DNS测试工具 /usr/bin/nslookup #DNS查询工具,在众多平台上都有实现(windows上也有),可交互式查询 /usr/bin/nsupdate #更新工具 /usr/share/man/man1/dig.1.gz /usr/share/man/man1/host.1.gz /usr/share/man/man1/nslookup.1.gz /usr/share/man/man1/nsupdate.1.gz
dig命令
dig [-t type] name [@SERVER] [query options] query options: +[no]trace:跟踪解析过程 +[no]recurse:进行递归解析 测试反向解析: dig -x IP @SERVER 模拟区域传送: dig -t axfr ZONE_NAME @SERVER Tips:(1)dig用于测试dns系统,因此,不会查询hosts文件进行解析 (2)不加”@server-ip”,根据/etc/resolv.conf配置的解析文件来查询 (3)dig命令不会查缓存,而是直接查服务器
eg:
解析百度的地址
反向解析114DNS的域名
追踪www.qq.com的过程
host命令
host [-t type] name [SERVER]
eg:
nslookup命令
nslookup domain [dns-server] nslookup -qt=type domain [dns-server] 也可以用交互式模式 nslookup> server IP: 指明使用哪个DNS server进行查询 set q=RR_TYPE: 指明查询的资源记录类型 NAME: 要查询的名称
eg:
bind服务器配置
配置正向解析的bind配置反向解析的bind
配置辅助bind
实现主辅DNS之间的区域传送
实验环境:2台CentOS 7.4 x64虚拟机(selinux和firewall已关闭)
Domain Name: example.com. 10.0.0.0/24 主DNS服务器: mster.example.com. 10.0.0.10 辅DNS服务器: slave.example.com. 10.0.0.11 WEB服务器: www.example.com. 10.0.0.10,10.0.0.11 FTP服务器: ftp.example.com. CNAME www.example.com MX服务器: mx.example.com. 10.0.0.10
具体过程如下:
两台虚拟机都通过yum安装bind
~]# yum install bind bind-libs bind-utils -y
两台虚拟机都修改主配置文件(/etc/named.conf)
主配置文件包含以下内容
全局配置:options {} 日志子系统配置:logging {} 区域定义:本机能够为哪些zone进行解析,就要定义哪些zone; 格式为 zone "ZONE_NAME" IN {}
~]# vim /etc/named.conf listen-on port 53 { any; }; 监听任意ip地址 allow-query { any; }; 允许任何主机查询 dnssec-enable no; 关闭dnssec功能 dnssec-validation no;
两台虚拟机都启动named服务,设置开机自启动
~]# systemctl start named.service ~]# systemctl enable named.service Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
两台虚拟机都查看named服务是否启动
~]# ss -tunl | grep :53 udp UNCONN 0 0 10.0.0.10:53 *:* udp UNCONN 0 0 127.0.0.1:53 *:* udp UNCONN 0 0 ::1:53 :::* tcp LISTEN 0 10 10.0.0.10:53 *:* tcp LISTEN 0 10 127.0.0.1:53 *:* tcp LISTEN 0 10 ::1:53 :::*
这样,缓存DNS服务器就设置好了
1.配置主DNS服务器正向解析
(1)配置区域数据信息[root@master ~]# vim /etc/named.rfc1912.zones zone "example.com" IN { type master; file "example.com.zone"; allow-update { none; }; };
(2)创建区域数据文件(/var/named/ZONE_NAME.zone)
[root@master ~]# vim /var/named/example.com.zone $TTL 86400 @ IN SOA master.example.com. admin.example.com. ( 2017121001 1D 1H 1W 3H ) IN NS master IN MX 20 mx master IN A 10.0.0.10 www IN A 10.0.0.10 IN A 10.0.0.11 mx IN A 10.0.0.10 ftp IN CNAME www
(3)更改区域解析库文件的权限为640,属主为root,属组为named
[root@master ~]# chown :named /var/named/example.com.zone [root@master ~]# chmod 640 /var/named/example.com.zone
(4)使用named-checkconf,named-checkzone命令检测配置文件及区域文件是否存在语法错误
[root@master ~]# named-checkconf [root@master ~]# named-checkzone "example.com" /var/named/example.com.zone zone example.com.zone/IN: loaded serial 2017121001 OK
(5)重启或者重载named服务
[root@master ~]# systemctl reload named.service
(6)检验正向解析结果
这样bind正向解析就配置好了
2.配置主DNS服务器反向解析
(1)添加反向解析区域配置文件[root@master ~]# vim /etc/named.rfc1912.zones zone "0.0.10.in-addr.arpa" IN { type master; file "10.0.0.zone"; allow-update { none; }; };
(2)创建反向区域解析文件
[root@master ~]# vim /var/named/10.0.0.zone $TTL 86400 @ IN SOA master.example.com. admin.example.com. ( 2017121001 1D 1H 1W 3H ) IN NS master.example.com. 10 IN PTR master.example.com. IN PTR mx.example.com. IN PTR www.example.com. 11 IN PTR www.example.com.
Tips:反向解析不需要CNAME记录,MX记录不允许出现在反向解析里
(3)更改反向解析区域解析库文件的权限为640,属主为root,属组为named
[root@master ~]# chown :named /var/named/10.0.0.zone [root@master ~]# chmod 640 /var/named/10.0.0.zone
(4)使用named-checkconf,named-checkzone命令检测配置文件及反向解析区域文件是否存在语法错误
[root@master ~]# named-checkconf [root@master ~]# named-checkzone "10.0.0" /var/named/10.0.0.zone zone 10.0.0.zone/IN: loaded serial 2017121001 OK
(5)重启或者重载named服务
[root@master ~]# systemctl reload named.service
(6)检验反向解析结果
这样bind反向解析就配置好了
3. 配置辅助DNS服务器并实现主从复制
(1)在slave服务器上的添加解析配置文件[root@slave ~]# vim /etc/named.rfc1912.zones zone "example.com" IN { type slave; masters { 10.0.0.10; }; file "slaves/example.com.zone"; }; zone "0.0.10.in-addr.arpa" IN { type slave; masters { 10.0.0.10; }; file "slaves/10.0.0.zone"; };
检查slave服务器的配置文件是否有语法错误
[root@slave ~]# named-checkconf
重载slave服务器的named服务
[root@slave ~]# systemctl reload named.service
(2)编辑master服务器的区域文件,添加slave服务器的记录(正向解析文件添加NS和A记录,反向解析文件添加NS和PTR记录)
[root@master ~]# vim /var/named/example.com.zone
[root@master ~]# vim /var/named/10.0.0.zone a895
检查master服务器上语法和区域文件是否有错误
[root@master ~]# named-checkconf [root@master ~]# named-checkzone "example.com" /var/named/example.com.zone zone example.com/IN: loaded serial 2017121001 OK [root@master ~]# named-checkzone "10.0.0" /var/named/10.0.0.zone zone 10.0.0.zone/IN: loaded serial 2017121001 OK
重载master服务器的named服务
[root@master ~]# systemctl reload named.service
查看master服务器的日志,检验主辅DNS之间的区域传送
slave服务器的/var/named/slaves/目录下多了example.com.zone和10.0.0.zone文件,正式从master服务器上自动复制而来的
[root@slave ~]# ll /var/named/slaves/ total 8 -rw-r--r-- 1 named named 417 Dec 10 16:31 10.0.0.zone -rw-r--r-- 1 named named 485 Dec 10 16:31 example.com.zone
检验slave服务器的解析功能
Tips:
1.主服务器的区域解析库文件中必须有一条NS记录是指向从服务器 2.从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于/var/named/slaves/目录中 3.主服务器得允许从服务器作区域传送 4.主从服务器时间应该同步,可通过chrony进行 5.bind程序的版本应该保持一致;否则,应该从高,主低
rndc命令
rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。安装bind时默认安装了rndc,rndc默认监听在953/tcp端口,只监听127.0.0.1这个地址,也就是默认只允许本机使用rndc语法格式:rndc COMMAND
COMMAND: reload: 重载主配置文件和区域解析库文件 reload zone: 重载区域解析库文件 retransfer zone: 手动启动区域传送过程,而不管序列号是否增加; notify zone: 重新对区域传送发通知; reconfig: 重载主配置文件 querylog: 开启或关闭查询日志; trace: 递增debug级别; trace LEVEL: 指定使用的级别;
~]# rndc status version: 9.9.4-RedHat-9.9.4-51.el7_4.1 <id:8f9657aa> CPUs found: 2 worker threads: 2 UDP listeners per interface: 2 number of zones: 103 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/0/1000 tcp clients: 0/100 server is up and running
相关文章推荐
- bind 安装与简单配置文档
- Linux(RHEL 5)中Bind服务的安装与配置全过程
- BIND简易教程(1):安装及基本配置
- BIND9 的安装与配置
- 安装配置域名服务器(dns)- bind
- DNS(bind)服务器的安装与配置
- 转:域名解析服务器bind安装及配置
- Bind安装配置
- centos6.3 64位yum安装配置bind
- DNS安装配置全过程(BIND)
- dns基础(1)-bind安装及基本配置
- 使用BIND安装智能DNS服务器(二)---配置rndc远程控制
- 域名解析服务器. BIND9 的安装与配置
- 使用BIND安装智能DNS服务器 添加view和acl配置
- BIND 在win 2003 下的安装及配置
- DNS配置-BIND安装配置全过程
- linux下bind9安装配置一例
- 在CentOS6.2下安装DNS服务软件Bind并快速配置简单实例
- DNS―bind安装与配置的关键技术揭秘
- BIND 在win 2003 下的安装及配置