DNS简介
DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制。其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。
下面对DNS的工作流程及原理进行简要说明
DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts;若无结果,则client查看本地的DNS缓存服务器;若无结果,则查找所属域的首选DNS服务器;若此时本地首选DNS服务器仍无法解析,则会想根域名服务器进行查询或选择转发解析请求。
DNS的查询规则:递归式查询,即client向支持递归查询的DNS Server发出解析请求,则自DNS服务器不论是自身直接解析还是无法解析想根发出请求,总会由其向client返回一个结果;迭代式查询,即接收client解析请求的DNS Server,若其能够解析则直接返回结果,若其不能解析将把解析请求交给其他DNS服务器,而不是自己亲自将解析过程完成。
所谓的“根”服务器:根服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。
详细介绍
fqdn 完全合格的名字
针对域名: 域名到根的顺序 如 abc.com.
针对主机:主机名写到根 如 www.abc.com.
名称解析成地址的过程
1 看主机huancun
看看win的dns缓存 命令 ipconfig /displaydns
2 向dns服务器发出解析请求
dns服务器查看缓存
无,迭代查询 ----->先发给根
区域类型
zone dns名称空间结构中得一个逻辑管理单元
正向区域
名称----->地址
反向区域
地址--->名字
服务器类型
主dns服务器 一个
辅助dns服务器 多个 (不支持修改,删除,增加)
存根服务器
caching-only 只做缓存服务器
RR 资源记录
正向
SOA 授权起始记录(主DNS服务器,管理员邮箱,刷新策略) NS 服务器记录 A 名称到地址的记录 CNAME 别名
MX 邮局
例子: 域: abc.com,
,mail IN A 2.2.2.2 表示域的地址
@ IN MX mail @表示域 mail 邮局
@ IN MX 优先级 mail 多个邮局 优先级表示好坏
blindDNS主程序 53端口 tcp 53 实现主辅同步 udp 查询
bind-9.8.2-0.17.rc1.el6.i686.rpm 主程序
bind-chroot-9.8.2-0.17.rc1.el6.i6 dns防护 根目录文件chroot
cachefilesd-0.10.2-1.el6.i686.rpm 包含dns的样例文件
重要文件
/var/named/chroot/ 服务器根目录
/etc/ 主配置文档目录
/var/named 区域文件
案例实现
1.linux服务器搭建
mount /dev/cdrom /media/cdrom/
mount /dev/cdrom /media/cdrom/
ll bind*
yum --disablerepo=\* --enablerepo=c6-media install bind bind-chroot bind-utils
[root@Qserver Packages]# cd /var/named/chroot/ 根目录
[root@Qserver chroot]# ll
total 16
drwxr-x---. 2 root named 4096 May 4 22:47 dev
drwxr-x---. 4 root named 4096 May 4 22:47 etc
drwxr-x---. 3 root named 4096 May 4 22:47 usr
drwxr-x---. 6 root named 4096 May 4 22:47 var
[root@Qserver chroot]# ll etc/ 配置文件
total 12
-rw-r--r--. 1 root root 405 May 4 22:47 localtime
drwxr-x---. 2 root named 4096 Feb 22 2013 named
drwxr-x---. 3 root named 4096 May 4 22:47 pki
[root@Qserver chroot]# ll var/named/ 存放区域文件
total 0
产生钥匙文件
rndc-confgen -a
改变权限 可读 不然没953
启动dns服务
通过 查看端口 netstat tupln |grep 53 查看 53 953 端口是否开启 或者查看日志 tail -f /var/log/messages
rndc reload 加载rndc
进入主配置文件
cd /var/named/chroot/etc
编辑 vim named.conf
10 options {
11 listen-on port 53 { any; }; 地址改为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 allow-query { any; }; 主机改为any
18 recursion yes;
vim named.rfc1912.zones 区域文件
cd /var/named/chroot/var/named/ dns根目录下的/var/named/
[root@Qserver etc]# cd /var/named/chroot/var/named/
[root@Qserver named]# ll
total 32
drwxr-x---. 6 root named 4096 May 4 22:47 chroot
drwxrwx---. 2 named named 4096 May 4 23:02 data
drwxrwx---. 2 named named 4096 May 4 23:02 dynamic
-rw-r-----. 1 root named 1892 Feb 18 2008 named.ca
-rw-r-----. 1 root named 152 Dec 15 2009 named.empty
-rw-r-----. 1 root named 152 Jun 21 2007 named.localhost
-rw-r-----. 1 root named 168 Dec 15 2009 named.loopback
drwxrwx---. 2 named named 4096 Feb 22 2013 slaves
[root@Qserver named]# cp -p named.localhost abc.com.zone 拷贝
然后编辑
vim abc.com.zone
关闭防火墙 service iptables stop 并测试
2 实现DNS主辅服务器
Win2003 主dns服务器 192.168.30.101
centos 辅助dns服务器192.168.30.100
ftp2.2.2.2
www1.1.1.1
Linux 辅助服务器配置
cd /var/named/chroot/etc/
vim named.rfc1912.zones 编辑区域文件
zone "a.com" IN {
type slave;
masters { 192.168.30.101; };
file "slavers/a.com.zone";
查看日志文件
成功实现