8. DNS

Host文件

#cat /etc/hosts

127.0.0.1   localhost

新的顶级域

.tv .cc

DNS服务器类型

1. 高速缓存服务器 caching-only server

2. 主域名服务器

3. 辅助域名服务器

配置DNS服务器

/主配置文件

/etc/named.conf

//根域名服务器指向文件

/var/named/chroot/var/named/named.ca

//localhost区文件(可选)

/var/named/chroot/var/named/localhost.zone

/var/named/chroot/var/named/named.local

用于配置区文件

/var/named/chroot/var/named/name2ip.conf

/var/named/chroot/var/named/ip2name.conf

安装bind 

Yum install bind*

Yum install bind-chroot*

1. 编写主服务器配置文件

Vim /var/named/chroot/etc/named.conf

DNS的详细设定

options{ 

directory /var/named; //定义zone档案放置的目录。

forwarders { 192.168.1.1; }; //(可选

pid-file /var/run/named/named.pid; //(可选

allow-transfer {none;}; //(是否允许slave端来下载,如果不想就用none

}; 

//这个zone可选。 

zone .” 

type hint; 

file named.ca” 

}; 

//定义出我的正解与反解。 

zone thizlinux.org” 

type master; 

file thizlinux.org.zone

}; 

zone 0.168.192.in-addr.arpa ” 

type master; 

file thizlinux.org.192.168.0

}; 

2. 编辑“zone”的资料文件。

正解zone

Cp/usr/share/doc/bind-9.3.0/sample/var/named/localhost.zone /var/named/chroot/var/named/thizlinux.org.zone

#vi /var/named/chroot/var/named/thizlinux.org.zone 

$TTl 600 

@ IN SOA thizlinux.org. root.thizlinux.org. ( 

20050105 

28800 

14400 

72000 

86400 

@ IN NS test1.thizlinux.org. 

@ IN MX 10 test1.thizlinux.org. 

test1 IN A 192.168.0.1 

www IN CNAME test1.thizlinux.org. 

//Serial:用来做slavemaster同步的参考。

//Refresh:命令slave多久进行主动检查Serial

的值。

//Retry:命令slave多久进行主动更新的时间。

/Expire:如果slave一直无法与master连上,

那么经过多久之后,则命令slave不再连接

master!

//Minimun:这个就类似TTL了。

反解zone

Cp/usr/share/doc/bind-9.3.0/sample/var/named/localhost.zone /var/named/chroot/var/named/thizlinux.org.192.168.0 

#vi /var/named/chroot/var/named/thizlinux.org.192.168.0 

$TTl 600 

@ IN SOA thizlinux.org. root.thizlinux.org. ( 

20050105 

28800 

14400 

720000 

86400 

@ IN NS test1.thizlinux.org. 

1 IN PTR test1.thizlinux.org. 

3,重启DNS服务

Service named restart

4.配置辅助DNS服务器

先修改权限:Chmod -R777 /var/named/chroot

vi /var/named/chroot/etc/named.conf 

options { 

directory "/var/named/"; 

}; 

zone "linux.net" { 

dns服务器 

type slave; //辅 

file "linux.net.zone";   

master{ 192.168.7.77 ;}; //dns服务器的IP地址 

}; 

[]辅助DNSnameserver指向本机,无需编写zone文件,只需在配置好named.conf文件后,重启服务即可。liux.net.zone文件是从主DNS服务器下载的

5.配置cache-onlyDNS

 vi /var/named/chroot/etc/named.conf 

options{ 

directory "/var/named/"; 

forwarders 

192.168.7.77; //dns服务器的IP地址 

}; }; 

客户端nameservice 指向cache-onlyIP地址 

6.配置客户端

/etc/resolv.conf 

domain定义默认的域名

search定义域名搜索表(最多6个)

nameserver列出域名服务器的IP地址(最多3个)

host 

-a:显示所有的信息

-l:将后面接的域内所有的信息都显示出来

nslookup 

1.nsloolup test1.thizlinux.org 单纯的将IP显示出来也会显示由哪台DNS查询

2.nslookup 显示正解反解以及是否经过认证和非本机端的正解

whois 

whois thizlinux.org 

用来查询某主机某个域主要经过哪些人的注册,哪个人的设置内容与哪台主机

配置文件仅仅在回环地址127.0.0.1::1(IPV6的回环地址)上打开53端口,如果希望在所有地址上都打开53端口,则应该修改named.conf

listen-on port 53 { 127.0.0.1; }; 

listen-on-v6 port 53 { ::1; }; listen-on port 53 { any; }; 

listen-on-v6 port 53 { any; };(可以是某个IP或者是某个网段)

DNS服务器默认只允许127.0.0.1这个客户端(即本机)发起查询,一般我们需要允许所有人查询,这要修改name.conf中的

allow-query { localhost; }; allow-query { any; }; 

dump-file用于设置域名缓存文件的保存位置和文件名

statistics-filememstatistics-file DNS的一些统计资料写入的档案

pid-filenamed这个程序的PID记录下来的一个档案,这个档案通常在named启动、关闭时提供正确的PID 

query-source port 53;指定了DNS工作端口是53 

query-source-v6 port 53;这里也是指定DNS的工作端口,不过是For IPv6

severity语句用于指定消息的严重性等级,log_severity的取值为(按照严重性递减的顺序):

critical 

error 

warning 

notice 

info 

debug [ level ] 

dynamic是个特别的值,他匹配服务器当前的调试级别定义了某个严重性级别后,系统会录包括该级别及比该级别更严重的级别的所有消息。比如定义级别为error,则会记录criticalerror两个级别的信息。对于系统管理员来说,一般记录到info级别。

logging { //指定服务器日志记录的内容和日志信息来源

channel "default_debug" { //只有当服务器的debug级别非0时,才产生输出

file"named.run"; //写入工作目录下的named.run文件

severity dynamic; //按照服务器当前的debug级别记录日志

};

view localhost_resolver { //定义一个视图 

match-clients { any; }; //查询者的源地址,any表示localhost_resolver视图对任何主机开放,如果写成{ acl1; },那么就只有acl1表里的ip可以递归查询了 

match-destinations { any; }; //查询者的目标地址,这里也可以写成 

{ localhost; acl1; } 

.recursion yes; //设置进行递归查询 

.include "/etc/named.rfc1912.zones"; //包含文件,这里也就是载入 

/etc/named.rfc1912.zones 

};