Linux-BIND域名系统的配置(redhat)
BIND域名系统的配置
一、实验目的
- 学习如何安装BIND服务程序
- 熟悉使用BIND服务器的配置,了解相关参数
二、实验内容
- 配置yum本地源,安装BIND
- 安装BIND服务程序
- 配置BIND服务程序,了解配置语句和选项
- 配置BIND的泛域名解析
实验步骤
一、配置服务器地址
[root@localhost /]# cd /etc/sysconfig/network-scripts/
!
[root@localhost network-scripts]# cp -a ifcfg-eno16777728 ifcfg-eno16777728_bak #小习惯:建议配置前先备份配置文件
!
[root@localhost network-scripts]# vim ifcfg-eno16777728
网卡配置文件:
HWADDR=HH:HH:HH:HH:HH:HH
TYPE=Ethernet
BOOTPROTO=static #配置地址获取方式为静态
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=a03cc821-e5c7-4b05-922f-add0975190d4
ONBOOT=yes #指明在系统启动时是否激活网卡
IPADDR=192.168.102.1 #配置IP地址
PREFIX=24 或 netmask=255.255.255.0 #配置掩码为24为
GATEWAY=192.168.102.2 #配置默认网关
DNS0=192.168.102.1 #配置DNS服务器地址
二、配置本地yum源
[root@localhost yum.repos.d]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost /]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls #建议编写本地yum源文件前,避免yum.repos.d/内有其他.repo文件避免冲突
[root@localhost yum.repos.d]# vim dvd.repo
本地yum源文件:
[dvd]
name=dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0
三、安装BIND服务程序
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum install bind-chroot -y
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository 'dvd' is missing name in configuration, using id
dvd | 4.1 kB 00:00:00
(1/2): dvd/group_gz | 134 kB 00:00:00
(2/2): dvd/primary_db | 3.4 MB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package bind-chroot.x86_64 32:9.9.4-14.el7 will be installed
--> Processing Dependency: bind = 32:9.9.4-14.el7 for package: 32:bind-chroot-9.9.4-14.el7.x86_64
--> Running transaction check
---> Package bind.x86_64 32:9.9.4-14.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================================================================================================
Installing:
bind-chroot x86_64 32:9.9.4-14.el7 dvd 81 k
Installing for dependencies:
bind x86_64 32:9.9.4-14.el7 dvd 1.8 M
Transaction Summary
======================================================================================================================================================================================================================
Install 1 Package (+1 Dependent package)
………………中间省略部分信息………………
Dependency Installed:
bind.x86_64 32:9.9.4-14.el7
Complete!
由于DNS域名解析作为互联网基础设施的重中之重,建议在生产环境安装部署bind时安装chroot(牢笼机制),以便有效的限制bind服务程序仅对自身的配置文件操作,保证服务器的安全
四、配置主配置文件(/etc/named.conf)
1 //
2 // named.conf
3 //
4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
5 // server as a caching only nameserver (as a localhost DNS resolver only).
6 //
7 // See /usr/share/doc/bind*/sample/ for example named configuration files.
8 //
9
10 options {
11 listen-on port 53 { 127.0.0.1; }; ----> listen-on port 53 { any; };
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 listen-on port 53 { 127.0.0.1; }; ----> allow-query { any; };
Options语句:
语句 | 作用 |
---|---|
ACL | 定义一个访问控制列表 |
Directoy | 指定服务器的工作目录 |
view | view语句定义了视图功能。允许DNS服务器根据客户端的不同有区别地回答DNS查询 |
zone | 定义一个区域,定义义了DNS服务器所管理的区,也就是哪一些域的域名是授权给该DNS服务器回答的 |
五、配置区域配置文件(/etc/named.rfc1912.zones)
此文件默认已有一些无关紧要的解析参数,用作参考,可以将新的参数配置到最下方,也可以将原有的信息清空,保留自己的域名解析信息
zone "ceshi.com" IN {
type master; #配置域名服务器类型,hint(根区域)、master(主区域)slave(辅助区域)、forward(转发)
file "ceshi.com.zone"; #指定对应的区域文件
allow-update { none; }; #允许客户机动态更新解析信息
};
zone "102.168.192.in-addr.arpa" IN {
type master;
file "192.168.102.arpa";
allow-update { none; };
};
配置完后,可以执行named-checkconf检查主配置文件中的语法和参数错误。
六、配置区域数据文件(/etc/named)
[root@localhost named]# cp -a named.localhost ceshi.com.zone
[root@localhost named]# cp -a named.loopback 192.168.102.arpa
可以复制已有的模板文件,填写相应的域名信息
正向解析文件:
[root@localhost named]# vi ceshi.com.zone
$TTL 1D #DNS区域的地址 #域名管理员的邮箱(不要用@符号)
@ IN SOA ceshi.com. root.ceshi.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.ceshi.com.
ns IN A 192.168.102.10
www IN A 192.168.102.10
* IN A 192.168.102.10 #"*"代表泛指"ceshi.com"前所有主机和子域名都解析到此IP地址
区域数据文件使用";"分号符号注释
反向解析文件:
[root@localhost named]# vi 192.168.102.arpa
$TTL 1D
@ IN SOA ceshi.com. root.ceshi.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.ceshi.com.
ns A 192.168.102.10
10 PTR ns.ceshi.com.
10 PTR www.ceshi.com.
资源记录:
资源记录 | 作用和说明 |
---|---|
SOA | 定义了该区域中哪个域名服务器时权威服务器 |
NS | 表示是该区域的域名服务器(包含SOA中指定的该区域的主域名服务器和辅助域名服务器) |
A | 列出区域中域名到IP地址映射 |
PTR | 将IP地址映射到域名 |
MX | 邮件交换器记录 |
CNAME | 基于A记录的主机,作出一个别名记录 |
七、测试BIND服务
[root@localhost named]# nslookup
> 192.168.102.10
Server: 127.0.0.1
Address: 127.0.0.1#53
10.102.168.192.in-addr.arpa name = ns.ceshi.com.
10.102.168.192.in-addr.arpa name = www.ceshi.com.
> ns.ceshi.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ns.ceshi.com
Address: 192.168.102.10
> www.ceshi.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.ceshi.com
Address: 192.168.102.10
> dns.ceshi.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: dns.ceshi.com
Address: 192.168.102.10
>