--
先改主机名
hostname --临时改
vim /etc/sysconfig/network --全局改
vim /etc/hosts --加到这里以便于查找主机
li.cluster.com --FQDN (full qualified domain name)
以前 /etc/hosts 就是存放主机名与IP地址对应,那这里与很多服务的启动和运行都有关,包括一些大型软件(oracle)
vim /etc/nsswitch.conf
hosts: files dns --这里定义了主机名查找的顺序,先是去查找/etc/hosts,查找不到才会去查找dns
DNS 全世界13台根域服务器
.com .org .edu .gov .net .mil
商业 组织 教育 政府 通讯 军事
DNS是一个层状结构
是一个分布式的数据库,
根
cn tw us jp
.com.cn .edu.cn
深圳电信的DNS地址:首选的是:202.96.134.133
备选的是:202.96.128.86
本地DNS 远端DNS
DNS的工作原理及过程分下面几个步骤:
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
让我们举一个例子来详细说明解析域名的过程.假设我们的客户机如果想要访问站点:www.linejet.com , 此客户本地的域名服务器是dns.company.com , 一个根域名服务器是NS.INTER.NET , 所要访问的网站的域名服务器是dns.linejet.com,域名解析的过程如下所示:
(1)客户机发出请求解析域名www.linejet.com的报文
(2)本地的域名服务器收到请求后, 查询本地缓存, 假设没有该纪录, 则本地域名服务器dns.company.com则向根域名服务器NS.INTER.NET发出请求解析域名www.linejet.com
(3)根域名服务器NS.INTER.NET收到请求后查询本地记录得到如下结果:linejet.com NS dns.linejet.com (表示linejet.com域中的域名服务器为:dns.linejet.com ), 同时给出dns.linejet.com的地址,并将结果返回给域名服务器dns.company.com。
(4)域名服务器dns.company.com 收到回应后,再发出请求解析域名www.linejet.com的报文。
(5)域名服务器 dns.linejet.com收到请求后,开始查询本地的记录,找到如下一条记录: www.linejet.com A 211.120.3.12 (表示linejet.com域中域名服务器dns.linejet.com的IP地址为:211.120.3.12),并将结果返回给客户本地域名服务器dns.company.com。
(6)客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。
这样就完成了一次域名解析过程,
软件包;
bind.i386 --主服务软件包
bind-chroot.i386 -- 笼环境软件包
bind-devel.i386 --开发包
bind-libs.i386 --库文件
bind-utils.i386 --工具包
协议端口: tcp/udp 53
配置文件的目录:
没有安装bind-chroot.i386的话
配置文件为/etc/named.conf
/var/named
安装了bind-chroot.i386
配置文件为/var/named/chroot/etc/named.conf --默认没有
/var/named/chroot/var/named
从上面看到装了bind-chroot,笼环境为/var/named/chroot/
配置步骤:
1,编辑named.conf
2, 编辑zone区域文件
vim /var/named/chroot/etc/named.conf --手动建立
格式:
options {
字段值 值;
字段值 值;
...........
};
第一步:编辑named.conf
vim /var/named/chroot/etc/named.conf
options {
directory "/var/named"; --定义你的目录路径,指的是/var/named/chroot/var/named/
};
zone "cluster.com" IN { --单独对cluster.com这个域的定义,注意“引号里不要有空格
type master; --定义dns服务器的类型为主
file "data/master.cluster.com.zone";--定义存放域名和IP地址对应的区域文件存放的地方
};
第二步:编辑named.conf里定义的区域文件
vim /var/named/chroot/var/named/data/master.cluster.com.zone
$TTL 86400 --生存时间,对应缓存多久
@ IN SOA li.cluster.com. root.cluster.com. (--定义一个授权域的开始
2010051601 --版本号,最好写十位数
180
240
1D
86400)
IN NS li.cluster.com. --定义域为cluster.com
li IN A 10.1.1.35 --表示li.cluster.com对应10.1.1.35
/etc/init.d/named restart
vim /etc/resolv.conf
nameserver 10.1.1.35 --改成自己的IP,表示找自己去解析
[root@li ~]# nslookup li.cluster.com
Server: 10.1.1.35
Address: 10.1.1.35#53
Name: li.cluster.com
Address: 10.1.1.35
例二:反向解析
vim /var/named/chroot/etc/named.conf
再加上一段
zone "1.1.10.in-addr.arpa" IN {
type master;
file "data/master.1.1.10.in-addr.arpa.zone";
};
vim /var/named/chroot/var/named/data/master.1.1.10.in-addr.arpa.zone
$TTL 86400
@ IN SOA 1.1.10.in-addr.arpa. root.cluster.com. (
2010051601
180
240
360
86400 )
IN NS li.cluster.com.
35 IN PTR li.cluster.com.
1 IN PTR station1.cluster.com.
3 IN PTR station3.cluster.com
/etc/init.d/named reload --重装载配置,(当配置有改动时,不需要重启服务)
[root@li ~]# nslookup 10.1.1.35
Server: 10.1.1.35
Address: 10.1.1.35#53
35.1.1.10.in-addr.arpa name = li.cluster.com.
例三:DNS轮循,简单的负载均衡
vim /var/named/chroot/var/named/data/master.cluster.com.zone
$TTL 86400
@ IN SOA li.cluster.com. root.cluster.com. (
2010051601
180
240
1D
86400)
IN NS li.cluster.com.
li IN A 10.1.1.35
li IN A 10.1.1.36 --这样就看到li.cluster.com对应三个IP
li IN A 10.1.1.37
/etc/init.d/named reload
例四:直接对域的解析
cluster.com. IN A 10.1.1.34 --直接对cluster.com来解析,记住后面有个.
例五:泛解析
* IN A 10.1.1.100 --这表示,没有写记录的*.cluster.com全解析到10.1.1.100这个IP
[root@li ~]# nslookup sdgaswwtqwetqw.cluster.com
Server: 10.1.1.35
Address: 10.1.1.35#53
Name: sdgaswwtqwetqw.cluster.com
Address: 10.1.1.100
例四: 范围解析域名
$GENERATE 3-254 station$ IN A 10.1.1.$
nslookup解析时发现对应的station3.cluster.com对应10.1.1.3
station4.cluster.com对应10.1.1.4
......................................
station254.cluster.com对应10.1.1.254
例五: 从DNS域名服务器
特点: 本身自己不保存区域文件
从主域名服务器下载过来(根据版本号)
从域名服务器那边的配置:
vim /var/named/chroot/etc/named.conf
options {
directory "/var/named";
};
zone "cluster.com" IN {
type slave; --定义类型为从
file "slaves/slave.cluster.com.zone"; -- 定义从域名服务器区域文件的位置
masters { 10.1.1.35; }; --定义主域名服务器的IP 注意IP左右最好都有一个空格
};
从服务重装载/etc/init.d/named reload --直接重装载服务,不需要去写区域文件xxx.zone
ls /var/named/chroot/var/named/slaves/slave.cluster.com.zone --查看是否从主域名服务器上下载过来
vim /var/named/chroot/var/named/slaves/slave.cluster.com.zone
vim查看它发现 主域名服务上的记录全都下载过来了
如果不能下载过来:
1,ping一下是否能通
2,iptable -L 查看一下iptables是否打开 使用iptable -F 消除
3,getsebool -a 查看selinux是否打开
vim /etc/selinux/config
SELINUX=disabled --把enforcing改为disabled
reboot --selinux修改后需要重启系统才能生效
tail /var/log/message
May 16 13:45:17 s214 named[8060]: zone cluster.com/IN: Transfer started.
May 16 13:45:17 s214 named[8060]: transfer of 'cluster.com/IN' from 10.1.1.35#53: connected using 10.1.1.218#40206
May 16 13:45:17 s214 named[8060]: zone cluster.com/IN: transferred serial 2010051601
May 16 13:45:17 s214 named[8060]: transfer of 'cluster.com/IN' from 10.1.1.35#53: end of transfer
May 16 13:45:18 s214 named[8060]: client 10.1.1.218#40970: received notify for zone '1.1.10.in-addr.arpa'
--从上面的日志可以看到从域名服务器在主域名服务下载传输的过程
/etc/init.d/named restart --重启服务
再tail /var/log/message
May 16 13:48:35 s214 named[8121]: running
May 16 13:48:35 s214 named[8121]: zone 1.1.10.in-addr.arpa/IN: sending notifies (serial 2010051601)
May 16 13:48:35 s214 named[8121]: client 10.1.1.218#38562: received notify for zone '1.1.10.in-addr.arpa'
--这次看到是没有传输的,只是对了一下版本号
例六:关于主域名服务器和从域名服务器的更新问题
1,主域名服务器端把版本号加大数字,为了方便实验,可以把刷新时间改小点(比如60秒)
重启服务或者重装载
2,从域名服务端更新的方法
1,直接删除/var/named/chroot/var/named/slaves/slave.cluster.com.zone 文件
然后重启服务/etc/named restart
2,从域名服务什么都不做,可以只用tail -f /var/log/message监控日志,它会自动更新过来,但周期与刷新时间有关
看到日志变动后,可以去查看/var/named/chroot/var/named/slaves/slave.cluster.com.zone文件发现版本号已经更新
----------------
主域名服务器限制哪些网段或者作为从域名服务
在主域名服务的named.conf里配置
zone "cluster.com" IN {
type master;
file "data/master.cluster.com.zone";
allow-transfer { 10.1.1.217; }; --针对cluster.com这个域,加这个参数,表示只允许10.1.1.217能作为从域名服务器
};
然后在218的机器上配置从域名服务器,监控其日志
tail -f /var/log/message
May 16 14:13:28 s214 named[8273]: zone cluster.com/IN: Transfer started.
May 16 14:13:28 s214 named[8273]: transfer of 'cluster.com/IN' from 10.1.1.35#53: connected using 10.1.1.218#57439
May 16 14:13:28 s214 named[8273]: transfer of 'cluster.com/IN' from 10.1.1.35#53: resetting
May 16 14:13:28 s214 named[8273]: transfer of 'cluster.com/IN' from 10.1.1.35#53: connected using 10.1.1.218#55303
May 16 14:13:28 s214 named[8273]: transfer of 'cluster.com/IN' from 10.1.1.35#53: failed while receiving responses: REFUSED
May 16 14:13:28 s214 named[8273]: transfer of 'cluster.com/IN' from 10.1.1.35#53: end of transfer
--从上面的日志可以看到,因为主域名服务器里的allow-transfer参数是不允许218做为从,所以这里看到是refused拒绝的
例七:转发域名服务器
1,单域转发
在转发服务器的named.conf里加上
zone "jordon.com" IN { --指定要转发的域
type forward; --类型为转发类型
forwarders { 10.1.1.59; }; --指定转发给谁
};
/etc/init.d/named reload --重装载
nslookup xxx.jordon.com --就可以查找59那台DNS服务器上zone文件里写上域名与IP的对应
2,完全转发
在转发服务器的named.conf加上
options {
directory "/var/named";
forwarders { 10.1.1.59; }; --全转发给10.1.1.59去解析
forward only; --只转发
};
http://10.1.1.35/ule_basic/ule12.txt
最新推荐文章于 2021-08-05 19:49:00 发布