DNS搭建及主从DNS构建
DNS工作原理
DNS解析的作用
我们访问网络时,通常采用浏览器访问web站点,一般通过http://www.baidu.com或baidu.com等域名方式访问,也可以通过http://百度IP:端口进行访问,以前者常用,那么域名方式访问时怎么实现的呢?这就需要通过DNS服务器来解析了;
DNS解析方式
正向解析:
- 根据域名查找其对应的IP地址;目前最常用的方式;
反向解析:
- 根据IP地址解析其对应的域名;一般应用于安全防护等领域;
DNS的分布结构
DNS分布结构采用FQDN,即完全合格主机名;格式如下:
- 站点名.域名后缀
- 站点名.三级域名.二级域名..一级域名
DNS查询工作方式
全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。
在浏览网页时,个人PC首先检测本地hosts文件,查看域名对应的IP,如果没有,就向个人PC设置的dns查询域名,个人DNS再去根服务器、二级服务器、三级服务器……进行查询个人所访问的域名IP,然后根据IP和端口进行访问,
CentOS域名服务
Linux可以通过Bind实现DNS服务,Bind是由伯克利大学开发的伯克利域名服务;
安装包和依赖包分别是bind和bind-chroot
bind服务器端程序
- 主要执行程序:/usr/sbin/named
- 服务脚本:/etc/init.d/named
- 主配置文件:/etc/named.conf
- 区域数据文件:/ar/named/
- 运行时的虚拟根环境:/var/named/chroot/
named.conf主配置解析
全局配置
设置监听地址、端口、区域数据存放位置等;
区域配置
- 定义DNS区域、类型、地址文件路径等;
- 关键词IN表示Internet;
zone "example.com" IN {//定义正向解析区域
type master;//定义区域为主DNS
file "example.om.zone"//定义区域数据文件
};
主配置文件语法检测
named-checkconf /etc/named.conf
区域文件配置解析
全局ITL配置及SOA记录
- $ITL(time to live),生存时间;
- SOA(Start Of Authority)授权信息开始;
@INSOA区域名.区域管理邮箱.(
)
全局ITL配置及SOA记录
$TTL 3H //有效记录的生存周期
@ IN SOA @ rname.invalid. (
0 ; serial //更新序号
1D ; refresh //刷新时间一天
1H ; retry //失败时重试时间
1W ; expire //失效时间
3H ) ; minimum //无效记录的生存周期
域名解析记录
@INLSls.baidu.com.
lsINA192.168.1.100
wwwINA192.168.1.101
区域数据文件配置语法检测
cd /var/named
named-chkeckzone ls.baidu.com
单区域DNS服务
软件安装
[[email protected] ~]# yum -y install bind bind-chroot
配置主配置文件
[[email protected] etc]# vim named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; };
// 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 yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";//加载该文件
include "/etc/named.root.key";
配置区域配置文件
正向解析
编辑named.rfc1912.zones,添加区域DNS解析
zone "woon.com" IN {
type master;
file "woon.com.zone";
};
建立区域数据文件,主配置文件中的directory "/var/named";表示区域数据配置文件在该路径下,所以进入该路径进行区域数据文件建立;
[[email protected] named]# cp a named.empty woon.com.zone
[[email protected] named]# vim woon.com.zone
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns1.woon.com.
dns1 IN A 192.168.1.100
www IN A 192.168.1.101
ftp IN A 192.168.1.102
区域数据文件配置语法检测
[[email protected] named]# named-checkzone woon.com woon.com.zone
此处注意事项是复制文件或者创建区域数据文件后,要保证named用户对该文件有可读权限,否则语法检测不出错误,但是解析是会提示错误;
[[email protected] named]# ll woon.com.zone
-rw-r-----. 1 named named 215 3月 7 16:50 woon.com.zone
正向解析测试
重启服务
通过客户端进行host测试,或者指定客户端的dns为192.168.1.100
[[email protected] ~]# host www.woon.com 192.168.1.100
Using domain server:
Name: 192.168.1.100
Address: 192.168.1.100#53
Aliases:
www.woon.com has address 192.168.1.101
[[email protected] ~]# host ftp.woon.com 192.168.1.100
Using domain server:
Name: 192.168.1.100
Address: 192.168.1.100#53
Aliases:
ftp.woon.com has address 192.168.1.102
正向单区域解析测试OK~!!!
正向多区域解析
如解析baidu.com;
正向多区域解析只需要在/etc/named.rfc1912.zones中再添