DNS服务器
应用到的软件bind
递归查询:一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器发出请求,若DNS不能解析,则会向其他的DNS服务器发出查询请求,得到查询结果后转交给客户机。
迭代查询:一般DNS服务器之间属于迭代查询
阶层式管理主机名对应IP的系统,称为Berkeley Internet Name Domain (BIND)
域名系统(Domain Name System,DNS)
DNS是一种因特网通信协议名称,BIND则是提供DNS服务的软件。
域名系统服务器(named)
域名系统解析库
域名系统服务器调试程序
区分domain name 和host name
例如www.junxi.com www是主机名,junxi.com 是域名,也可以将ftp 服务器,mail服务器集成在一台linux主机上。
在整个DNS服务器最上方一定是 . (小数点)这个DNS服务器(称为root),有.com、.edu、.org、.net这种特殊区域,以及以国家为分类的第二层主机名,这两者称为Top Level Domains(TLDs)。
通过DNS查询主机名IP的流程
由于DNS是以树形目录的形态进行主机名管理,所以每一台DNS服务器都仅管理自己的下一层主机名的转译,当在浏览器输入http://www.ksu.edu.tw,在linux下面利用/etc/resolv.conf所提供的DNS的IP进行连接查询。
1.收到用户查询请求,查看本身有无记录,若无就向.(root)查询
2.向最顶层.(root)查询
3.向第二层 .tw 服务器查询
4.向第三层 .edu.tw 服务器查询
5.向第四层 .ksu.edu.tw服务器查询
6.记录缓存并反馈给用户
DNS使用53端口
通常DNS是以UDP这个较快的数据传输协议来查看,但是万一没有办法查看完整的信息,就会再次以TCP这个协议来重新查询。
所以启动DNS的daemon(守护进程)的时候,会同时启动TCP和UDP的port53,所以防火墙也要同时放行TCP.UDP port53。
DNS 中记录的信息一个是服务器所在的NS(Name Server)标志,另一个是记录主机名对应的A(Address)标志。
DNS数据库的记录:正解、反解、Zone的意义
从主机名查询到IP的流程:正解
从IP泛解析到主机名的流程:反解
不管是正解还是反解,每个域的记录就是一个区域(zone)
注意每一台DNS服务器可以管理多个区域,不管是正解还是反解
正解的设置权限以及DNS正解Zone记录的标志
1.SOA:就是开始验证(Start of Authority(授权))的缩写
2.NS:就是名称服务器(Name Server)的缩写,后面记录的数据是DNS服务器
3.A:就是地址,后面对应的是IP
反解Zone : PTR(PoinTeR)的缩写,后面记录的是反解到的主机名
主机名对应IP的方法有两种
1.早期写入/etc/hosts,这个是最早的Hostname对应的IP的文件
2./etc/resolv.conf,就是ISP的DNS记录处
3./etc/nsswitch.conf 决定使用/etc/hosts 还是/etc/resolv.conf
DNS服务器IP的值可以设置多个,因为当第一台DNS宕机时,客户端可以使用第二台。
DNS的正解、反解查询命令 :host .nslookup.dig
host is a simple utility/实用/ for performing DNS lookups.
host www.junxi.com 列出主机IP
host -a www.junxi.com 列出该主机所有的相关信息,包括IP ,TTL 与排错信息
host -l www.junxi.com 如果www.junxi.com允许allow-transfer ,则列出该domain 所管理的所有主机名对应的数据
nslookup
1.可以直接在nslookup后面加待查询的主机名,或者IP,[server]可有可无
2.如果在nslookup 后面没有加上任何主机名或者IP,则进入nslookup 的查询功能,在nslookup的查询功能中,可以输入set type=any ;set type=mx 进行特殊查询
dig [options] FQDN [@server]
首先FQDN 是Fully Qualified Domain Name 即完整的域名,例如一台主机的hostname 是www,域后缀domain name 是example.com ,那么主机的FQDN应该是www.example.com
@server 如果不以/etc/resolv.conf 的设置作为DNS查询,可以在此处填入其他IP
+trace :就是从 . 开始追踪
-t type :查询的数据主要有MX,NS,SOA
-x :查询反解信息
dig www.junxi.com
QUESTION(问题):显示所要查询的内容(A Address)
ANSWER(回答) : 依据刚刚的QUESTION去查询所得到的结果,回答为IP
AUTHORITY(验证):可以知道www.junxi.com是哪台DNS服务器所提供的答案
实验步骤:
1.更改配置文件/etc/named.conf 改为any
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;
2. 在/etc/named.rfc1912.zones 添加正向方向zone
zone "junxi.com" IN {
type master;
file "junxi.com.zone";
};
zone "200.168.192.in-addr.arpa" IN {
type master;
file "junxi.com";
};
3.复制local文件到junxi.com.zone ,反向写入junxi.com
/var/named
编辑junxi.com.zone
NS @
A 192.168.200.50
www A 192.168.200.50
ftp A 192.168.200.50
mail A 192.168.200.50
@ MX 10 mail
www2 CNAME www
编辑junxi.com
NS @
A 192.168.200.50
PTR junxi.com.
50 PTR www.junxi.com.
50 PTR ftp.junxi.com.
50 PTR mail.junxi.com.(注意最后有个.代表根)
4.将组root 换为named
chown root:named junxi.com.zone
chown root:named junxi.com
5.启动apache
/etc/init.d/httpd start
在apache的家目录/var/www下面建立/html/index.html
编辑/etc/sysconfig/network-scripts/ifcfg-br0中写入
DNS1=192.168.200.50
然后/etc/init.d/network force-reload
这样 host -t a www.junxi.com 解析为本机作为服务器IP
添加windows2003组件IIS,新建站点
在windows2003中默认站点停止,新建站点,写入IP,选择目录,
要是分离用户文件夹,建立public 建立对应用户的文件,添加用户,在计算机管理->用户,
新建站点,隔离用户,文件夹右击属性给不同用户不同权限,2014-07-2310:04:28
cache-only DNS Server
配置 /etc/named.conf
注意: 注释数据放在两条斜线“//”后面接的数据
每个段落结尾都需要“;”作为结尾
默认listen-on port 53 { 127.0.0.1; };监听这台主机上面的哪个网络接口
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;
清除DNS缓存 windows ipconfig/flushdns
linux 是用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存 /etc/init.d/nscd restart
配置辅助DNS服务器
辅助DNS是从主DNS复制来的,安装bind.x86_64
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;
然后编辑
vi /etc/named/named.frc1912.zones
zone "junxi.com" IN {
type slave;
file "slaves/junxi.com.zone";
masters { 192.168.200.50; };
};
只要启动辅助DNS区域配置文件就会从主DNS服务器复制过来到/var/named/slaves 中junxi.com.zone
修改IP 中DNS1=指主DNS,重启
DNS 轮询
vim /var/named.junxi.com.zone
一个域名两个IP(失败)
需要在主DNS服务器/var/named/junxi.com.zone中
A 192.168.200.50
www 0 A 192.168.200.50
0 A 192.168.200.56
ftp A 192.168.200.50
mail A 192.168.200.50
@ MX 10 mail
www2 CNAME www
vim /var/www/html/index.html
curl 命令模式下的浏览器curl www.junxi.com
ping www.junxi.com
windows ipconfig /flushdns
vim /var/named/junxi.com.zone 把缓存屏掉,纯轮询
14:41:35
排错工具named-checkconf /etc/named.rfc1912.zones
named-checkzone junxi.com
RNDC +SSH加密