Linux网络配置DNS2.docx
- 文档编号:6867563
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:25
- 大小:468.41KB
Linux网络配置DNS2.docx
《Linux网络配置DNS2.docx》由会员分享,可在线阅读,更多相关《Linux网络配置DNS2.docx(25页珍藏版)》请在冰豆网上搜索。
Linux网络配置DNS2
域名系统:
(DomainNameSystem)由于主机间传输数据需要知道对方的Ip地址,但IP地址通常不容易记忆,于是人们开始将容易记忆的主机名称和IP对应并写到文件里(/etc/hosts),随着计算机的增多,这种通过文件查询IP的效率变的越来越低下,hosts文件的同步更新也变的越来越难,于是出现了域名系统。
DNS利用类似于树状目录的方式将主机名的管理分配到不同层次的DNS服务器中,通过分层管理,每台主机记忆的信息不会太多,而且相当容易修改,所以DNS的主要功能就是将主机名称解析成IP地址。
BIND(BerkeleyInternetNameDomain)是最常用的实现DNS服务的软件。
FQDN(FullyQualifiedDomainName),FQDN=HostName+DomainName。
DNS是由层级之分的,第二层的.tw是DomainName,而gov、edu、com为HostName。
在第三层.edu.tw为DomainName,ntu、ncku、nsysu为HostName。
aerosol.ev.ncku.edu.tw便是一个FQDN。
DNS的查询过程
这是一个简单的DNS层次架构,最上面的root称为根域,它管理的第二层域一般只有com、edu、gov、mil、org和以国家和地区分类的名称(cn、tw、nk、jp等),这两层称为顶级域(TLDs)。
每个上层的DNS主机所记录的信息其实只有其下层的主机名称,至于下下层的主机记录则直接授权给下层主机管理。
当你在浏览器输入http:
//aerosol.ev.ncku.edu.tw时:
计算机首先查询本地是否缓存了此主机的IP地址,/etc/hosts文件里是否由此主机与IP的对应,如果都没有则会执行第二步。
计算机会依据设置(/etc/resolv.conf)所提供的IP去查询DNSServer。
DNSServer首先查看自己是否缓存了aerosol.ev.ncku.edu.tw主机的IP地址,如果没有则向root查询。
root主机只知道tw主机的IP,告诉DNSServer去tw主机查询。
DNSServer到tw主机查询,tw只知道edu.tw的IP地址,告诉DNSServer去edu.tw主机查询。
DNSServer到edu.tw主机查询,edu.tw主机只知道ncku.edu.tw主机的IP,告诉DNSServer去ncku.edu.tw主机查询。
DNSServer到ncku.edu.tw主机查询,ncku.edu.tw主机只知道ev.ncku.edu.tw主机的IP地址,告诉DNSServer去ev.ncku.edu.tw主机查询。
ev.ncku.edu.tw主机上有aerosol.ev.ncku.edu.tw主机的记录,将IP告诉DNSServer,DNSServer缓存此主机记录。
DNSServer将此IP告诉Client,Client通过此Ip去访问此主机。
由此可知只要你的DNS是由上级DNS授权的,你的DNS就能够被查询到。
DNS的修改不会立即在Internet上生效,因为别人的DNS可能缓存了你主机的记录,当TTL过期后方可生效。
DNS查询时先使用UDP这个较快的传输协议来查询数据,一旦没有办法得到完整的数据时,再次以TCP协议重新查询,所以DNS会同时启动TCP和UDP的53端口。
正向解析:
由主机名称查询IP地址。
反向解析:
由IP地址查询主机名称。
Domain(域):
域是一个管辖范围。
域下面可以由子域。
子域可以授权给其他主机进行管理。
Zone:
一个域的配置文件就是一个Zone。
每一个域都有一个配置文件,此配置文件名称在/etc/named.conf中定义。
如这个域的DNS配置文件必须有:
∙Hinet(root)的设置。
∙这个域的正向解析文件
∙localhost的正向解析文件
∙localhost的反向解析文件
这个域的反向解析文件可有可无。
Zone的配置文件记录了主机名称与IP的对应。
DNS服务器架设准备
1.安装所需要的软件
[root@client~]#rpm-qa|grepbind
bind-libs-9.3.3-10.el5
ypbind-1.19-8.el5
bind-utils-9.3.3-10.el5
bind-chroot-9.3.3-10.el5
bind-9.3.3-10.el5
bind-chroot:
早期的BIND默认将程序启动在/var/named中,但是该程序可以在根目录到处转移,因此若BIND程序有问题,则该程序可能造成整个系统的危害。
为了避免这个问题,所以我们将某个目录设定为BIND的根目录,由于是根目录所以BIND不能离开该目录。
如果程序被攻击,最坏是破坏该目录的文件,CentOS默认将BIND锁定在/var/named/chroot。
2.BIND的配置文件:
∙/etc/named.conf:
主要规范主机的设置,ZoneFile的所在,权限的设置等。
∙/etc/sysconfig/named:
由该文件控制是否启动chroot及额外参数。
∙/var/named/:
数据库文件(zone文件)默认放在在此目录中。
∙/var/run/named/:
named执行时默认将pid-file放在此目录中。
3.查看chroot所指定的目录:
[root@client~]#cat/etc/sysconfig/named
ROOTDIR=/var/named/chroot
4.BIND的目录结构:
注意目录的权限设置。
单纯的ForwardDNS主机设置(Cache-Only)
这种类型的DNS主机没有自己的数据库,仅用于帮助客户端向外部DNS主机请求数据,就像一个代理,通常设置在防火墙上。
由上图可知Cache-OnlyDNS主机需要知道root服务器的地址,所以Cache-Only的DNS必须有root的Zone文件。
而ForwardingDNS不需要,只需要指定查询的DNS即可。
#ForwardingDNSServer设置
#查看named.conf配置文件。
[root@clientetc]#cat/var/named/chroot/etc/named.conf
options
{
/*makenameduseport53forthesourceofallqueries,toallow
*firewallstoblockallportsexcept53:
*/
query-source port53;
query-source-v6port53;
//Putfilesthatnamedisallowedtowriteinthedata/directory:
directory"/var/named";//thedefault
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
forwardonly; //设置仅转发 Forwarders { 192.168.0.1; //设置转发到哪台DNS去查询数据 }; //注意不要丢掉后面的分号(;)
};
logging
{
/* Ifyouwanttoenabledebugging,eg.usingthe'rndctrace'command,
* namedwilltrytowritethe'named.run'fileinthe$directory(/var/named).
* Bydefault,SELinuxpolicydoesnotallownamedtomodifythe/var/nameddirectory,
* soputthedefaultdebuglogfileindata/:
*/
channeldefault_debug{
file"data/named.run";
severitydynamic;
};
};
#查看程序启动端口
[root@clientetc]#netstat-tunlp
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddress ForeignAddress State PID/Programname
tcp 0 0192.168.0.200:
53 0.0.0.0:
* LISTEN 9211/named
tcp 0 0127.0.0.1:
53 0.0.0.0:
* LISTEN 9211/named
tcp 0 0127.0.0.1:
953 0.0.0.0:
* LISTEN 9211/named
tcp 0 0:
:
1:
953 :
:
:
* LISTEN 9211/named
udp 0 00.0.0.0:
53 0.0.0.0:
* 9211/named
udp 0 0192.168.0.200:
53 0.0.0.0:
* 9211/named
#查看启动日志
[root@clientetc]#tail/var/log/messages
May 811:
10:
21clientnamed[9211]:
startingBIND9.3.3rc2-unamed-t/var/named/chroot
May 811:
10:
21clientnamed[9211]:
found1CPU,using1workerthread
May 811:
10:
21clientnamed[9211]:
loadingconfigurationfrom'/etc/named.conf'
May 811:
10:
21clientnamed[9211]:
listeningonIPv4interfacelo,127.0.0.1#53
May 811:
10:
21clientnamed[9211]:
listeningonIPv4interfaceeth0,192.168.0.200#53
May 811:
10:
21clientnamed[9211]:
commandchannellisteningon127.0.0.1#953
May 811:
10:
21clientnamed[9211]:
commandchannellisteningon:
:
1#953
May 811:
10:
21clientnamed[9211]:
running
#将DNS指向刚设置的DNS服务器
[root@clientetc]#cat/etc/resolv.conf
nameserver192.168.0.200
#测试能够解析google的域名
[root@clientetc]#ping
PING(64.233.189.99)56(84)bytesofdata.
64bytesfromhk-in-(64.233.189.99):
icmp_seq=1ttl=244time=117ms
Master/Slave架构的DNS设置
Master:
这种类型的DNS本身还有域名的配置文件,这些配置文件就是设置正向解析和反向解析的数据库。
Slave:
本身并没有域名的配置文件,需与Master相配合,定时从Master取得数据文件更新。
当需要修改域的配置文件时只需要修改Master(记得将serial序列号+1),然后重启BIND,Master便会通知Slave来更新数据。
Slave的更新过程:
∙判断是否需要更新(1.1):
可以在Slave上设置定时到Master去更新数据,Slave会向Master询问是否需要更新,通过比对SerialNumber是否不同,当Master的SerialNumber大于slave的SerialNumber时Slave会更新它的数据库。
∙Master如果确认数据库以变更可以主动向Slave发送更新通知(1.2)。
∙数据同步
(2):
Master传送数据库到Slave
MasterDNSServer设置:
1.安装bind软件:
[root@linux~]#yum-yinstallbind-chroot
[root@linux~]#yum-yinstallbind
[root@linux~]#rpm-qa|grepbind
bind-libs-9.3.3-10.el5
ypbind-1.19-8.el5
bind-utils-9.3.3-10.el5
bind-9.3.3-10.el5
bind-chroot-9.3.3-10.el5
2.配置/var/named/chroot/etc/named.conf(/etc/named.conf)配置文件
#可以参考/usr/share/doc/bind-9.3.3/sample/etc/下面的配置文件(named.conf)和/usr/share/doc/bind-9.3.3/sample/var/named/下面的zone文件
[root@linux~]#cp/usr/share/doc/bind-9.3.3/sample/etc/named.root.hints/var/named/chroot/etc/
[root@linux~]#ls/var/named/chroot/etc/
localtime named.conf named.root.hints rndc.key
[root@linux~]#cat/var/named/chroot/etc/named.conf
options
{
/*makenameduseport53forthesourceofallqueries,toallow
*firewallstoblockallportsexcept53:
*/
query-source port53;
query-source-v6port53;
//Putfilesthatnamedisallowedtowriteinthedata/directory:
directory"/var/named";//thedefault
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
forwarders{192.168.0.1;}; //指定DNS转发服务器
allow-query{any;}; //是否允许查询?
允许所有主机查询
allow-transfer{192.168.0.30;}; //是否允许传送zone文件?
只允许传送到Slave(192.168.0.30)
};
logging
{
/* Ifyouwanttoenabledebugging,eg.usingthe'rndctrace'command,
* namedwilltrytowritethe'named.run'fileinthe$directory(/var/named).
* Bydefault,SELinuxpolicydoesnotallownamedtomodifythe/var/nameddirectory,
* soputthedefaultdebuglogfileindata/:
*/
channeldefault_debug{
file"data/named.run";
severitydynamic;
};
};
include"/etc/named.root.hints"; //包含根域的zone文件
zone"localhost" //定义localhost域的zone文件名
{
typemaster;
file"named.localhost";
};
zone"0.0.127.in-addr.arpa" //定义127.0.0的反向解析文件
{
typemaster;
file"named.127.0.0";
};
zone"" //定义域的zone文件名
{
typemaster;
file"";
};
zone"0.168.192.in-addr.arpa" //定义192.168.0的反向解析文件
{
typemaster;
file"named.192.168.0";
};
3.配置zone文件
#查看/var/named/chroot/var/named/下的zone文件
[root@linux~]#cp/usr/share/doc/bind-9.3.3/sample/var/named/named.root/var/named/chroot/var/named/
[root@linux~]#cp/usr/share/doc/bind-9.3.3/sample/var/named/named.local/var/named/chroot/var/named/named.127.0.0
[root@linux~]#cp/usr/share/doc/bind-9.3.3/sample/var/named/localhost.zone/var/named/chroot/var/named/named.localhost
#注意修改named.127.0.0和named.localhost的序列号
#修改/var/named/chroot/var/named/目录文件及目录属性
[root@slave~]#chown-Rroot.named/var/named/chroot/var/named/
[root@slave~]#chown-Rnamed.named/var/named/chroot/var/named/data
[root@slave~]#chown-Rnamed.named/var/named/chroot/var/named/slaves
[root@linux~]#ls/var/named/chroot/var/named/
data named.127.0.0 named.192.168.0 named.localhost named.root slaves
#localhost的解析文件
[root@linux~]#cat/var/named/chroot/var/named/named.localhost
$TTL 86400 ;定义TTL值
@ INSOA @ root( ;@代表zone的意思,在本例中代表localhost;SOA起始授权,代表Master/Slave相关的认证授权资料,SOA带有三个参数“[zone]INSOA[主机名][管理员E-mail][serialrefreshretryexpirettl]“;此处的root是个缩写,它是一个e-mail地址,代表root.localhost.=root@localhost.。
因为此处的@有特殊含意(代表域名),所以此处用.代表@。
域名后面的点代表此域名是一个完整的主机名(FQDN),如果没有点会在后面默认加上域名。
2008050801 ;serial序列号,更新数据后应该同步修改,给序列号+1
3H ;refreshSlave服务器的更新时间间隔
15M ;retry当Slave更新失败,多久再重新试一次
1W ;expiry重复retry多少次后宣告失败,不再更试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 网络 配置 DNS2