http://10.1.1.35/ule_basic/ule12.txt

--


先改主机名

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; --只转发
};












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值