IT技术互动交流平台

DNS正反解析 主从同步 事物签名

作者:小齐加贝  发布日期:2014-02-17 09:58:36

DNS(DomainNameServer)域名服务器

1、域名(DomainName),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)

2、域名的命名方式:

FQDN(FullyQualifiedDomainName)完全合格域名/全称域名,是指主机名加上全路径。全域名可以从逻辑上准确地表示主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。

3、DNS分类:

转发

4、DNS的结构:(如图)wKioL1MACECi_D0bAAGgQtGmNdk897.jpg

(1)根域名服务器(root-servers.org):是互联网域名解析系统(DNS)中最高级额域名服务器,全球共13台主要服务器。目前的分布是:主服务器(A)美国1个,设置在弗吉尼亚州的杜勒斯;辅助服务器(B至M)美国9个,瑞典、荷兰、日本各一个。

5、DNS查询方式:

(1)递归查询

一般客户机向服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到后转交给客户机。

主机向本地域名服务器的查询采用递归查询:

主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文

(2)迭代查询(反复查询):

一般DNS服务器之间属迭代查询,如:若DNS2不能相应DNS1的请求,则它会将DNS3的IP给DNS2,以便再向DNS3发出请求

本地域名服务器向根域名服务器的查询通常采用迭代查询:

本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

查询过程如图:

wKioL1MADZnwoTQ0AARo2Bn5jb0469.jpg

以上,为DNS简单理论知识,

下面就开始具体实施

操作系统:redhat5.5

1,装包

DNS软件

bind(BerkeleyInternetNameDomain)

#yuminstallbindbind-chrootcaching-nameserver(样例文件)

*(注意标注为“*”)

*如果你只安装bind,那么/var/named将成为bind存放数据文件的位置,/etc/named.conf将成为你的配置文件

*如果你安装了bind-chroot,那么/var/named/chroot/var/named将成为bind存放数据文件的位置,/var/named/chroot/etc/named.conf将成为你的配置文件。

DNS服务器使用的服务端口是:

tcp53//用户主域和辅助域的同步

udp53//用于域名查询

2,配置

#cd/var/named/chroot/etc/(配置文件目录)

#cp-pnamed.caching-nameserver.confnamed.conf(复制样例文件)

#vimnamed.conf(手动编写主配置文件)

 

===============

options{

directory"/var/named";

};

///-->/var/named/chroot

//保存区域配置文件

include"/etc/named.rfc1912.zones";

===============

注意权限,保证“named“用户能读这个文件

#ls

localtimenamed.caching-nameserver.confnamed.confnamed.rfc1912.zonesrndc.key

1.正向解析

 

#vimnamed.rfc1912.zones

=====================================

 

zone"google.com"IN{

typemaster;

file"google.com.zone";

};

======================================

#pwd

/var/named/chroot/var/named

#ls

datalocalhost.zonenamed.canamed.localslaves

localdomain.zonenamed.broadcastnamed.ip6.localnamed.zero

#cp-plocalhost.zonegoogle.com.zone

 

=================

$TTL86400

@INSOAdns.google.com.root.mail.google.com.(

42;serial(d.adams)

3H;refresh

15M;retry

1W;expiry

1D);minimum

 

INNSdns.google.com.

dnsINA192.168.0.153

wwwINA192.168.0.153

mailINA192.168.0.153

 

*区域配置文件也要要求named用户能读。

 

$TTL86400数据缓存时间,单位是秒,当有外部DNS服务器对你的DNS的这个区域进行查询时,这个记录会放置在对方DNS服务器内几秒钟

@在主配置文件里定义的区名“google.com”

INinternet

SOAstartofAuthority其实授权记录,表示区域数据的开始

dns.google.com.MasterDNS服务器主机名,表示这个区域主要由哪个DNS作为master的意思,注意后面的小数点

root.mail.google.com错误邮件的接收者,本来应该是root@mail.google.com,不过因为@已经被作为特殊代码(zone),所以就用小数点来取代了。

42序列号,用于主从更新,该序列号作为slave与master更新的依据,一般利用日期来设定

3H从服务器多长时间和主服务器联系一次,进行数据更新

15M重试时间,如果从服务器和主服务器联系不上,多长时间重试一次

1W过期时间,如果从服务器一周都没和主联系上,则命令从服务器不在连接主服务器了。

1D)如果得到的信息是否定的,保存多长时间(没有指定生存期的数据,可以保存在数据库中的时间,即TTL.)

NSnameserver的缩写,后面接的一定是主机名,代表:这个zone的查询请向后面这部主机要求,如果你这个zone有两部以上的DNS服务器负责时,就必须写两个NS,而NS后面接的主机名称必须要有IP的对应,这是就需要A这个标记了。

A正向解析的标识(域名-->IP)参数格式:[hostname]INA[IP]

本区域配置文件未出现的标识:

(!)AAAAipv6

(2)PTR反向解析的标识(IP-->域名)参数格式:[IP]INPTR[hostname]PTR为Pointer的简写。后面主机尽量使用完整FQDN,亦即加上小数点“.”。

(3)MX:MailExchanger的简写,参数是:[hostname]INMX[顺序][主机名称]

MX与MAILSERVER有关,其用途是邮件转发,MX后面的数值越小越优先,而接的主机名称必须有A记录才可以。

(4)CNAME:主机别名。参数是:[hostname]INCNAME[主机名称]

 

*注意事项:如果有错误,用语法检查命令:

第一个检查命令:named-checkconf//检查主配置文件

#named-checkconf/var/named/chroot/etc/named.conf

第二个检查命令:named-checkzone//检查zone文件

#name-checkzonegoogle.congoogle.com.zone

zonegoogle.com/IN:loadedserial42

OK

 

启动服务

#servicenamedstart(或者:#/etc/init.d/namedstart)

#vim/etc/resolv.conf//编辑/etc/resolv.conf,指定dns服务器

===========

nameserver192.168.0.153

===========

#pingwww.google.com//测试命令

 

2、反向解析

正向解析配置完成,就来配置反向解析。

#vi/var/named/chroot/etc/named.rfc1912.zones

zone"0.168.192.in-addr.arpa"IN{

typemaster;

file"192.168.0.local";

};

#cd/var/named/chroot/var/named

#cp-pnamed.local192.168.0.local

#vi/var/named/chroot/var/named/192.168.0.local

$TTL86400

@INSOAdns.google.com.root.google.com.(

1997022700;Serial

28800;Refresh

14400;Retry

3600000;Expire

86400);Minimum

INNSdns.google.com.

153INPTRdns.google.com.

153INPTRwww.google.com.

153INPTRgoogle.com.

#servicenamedrestart

#dig-x192.168.0.153//测试

 

主从同步

原理:

(1)当主服务器做好配置之后,会通知从服务器

(2)从服务器收到通知之后,查询SOA记录,查看序列号

(3)从服务器去和主服务器比对序列号,如果从的序列号比主的小,那么从就要去和主进行数据同步。因此,主服务器修改完配置文件之后,都要把序列号调大,建议使用日期格式

AXFR完全区域传输

IXFR增量区域传输

(4)从服务器向主服务器发起数据请求;主服务器收到请求之后,开始传输数据

 

优点:

(1)从服务器可以分担主服务器的查询请求

(2)有了从服务器之后,额可以快速的相应client的请求

(3)即使主服务器出现问题,从服务器依然可以提供查询服务

======

Master//主服务器

======

#vimnamed.rfc1912.zones

=====================================

zone"google.com"IN{

typemaster;

file"google.com.zone";

allow-transfer{192.168.0.152;};这句指令指定只有授权的从服务器才能从主服务上获取区域数据信息。如果想实现多个从服务器,可以在{}里填写,用“;”结束。

};

===================================

======

Slave//从服务器

======

#yuminstall-ybindbind-chroot//安装bind

#cd/var/named/chroot/etc/

 

#vimnamed.conf//配置主配置文件

===========

options{

directory"/var/named/slaves";

//这个目录要保证“named”用户能写

};

include"/etc/named.rfc1912.zones";

==========

#vim/var/named/chroot/etc/named.rfc1912.zones

===========

zone"google.com"{

typeslave;类型是从

file"google.com.slave";文件名任意

masters{192.168.0.153;};指定哪台机器是我的master

};

============

#servicenamedrestart

------------------------------

在主服务器上加上also-notify可以在主服务器上重新加载配置文件时做到向从服务器的“主动推”动作

注意事项:当修改/var/named/chroot/var/named/zone文件内的参数后,需要增加序列号

 

zone"google.com"IN{

typemaster;

file"google.com.zone";

allow-update{none;};

also-notify{192.168.0.152;};主动推

};

 

使用密钥进行数据传输--事物签名

 

master//主服务器

 

命令的用法:

#dnssec-keygen

 

Usage:

dnssec-keygen-aalg-bbits-ntype[options]name

 

Version:9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2

Requiredoptions:

-aalgorithm:RSA|RSAMD5|DH|DSA|RSASHA1|HMAC-MD5

-bkeysize,inbits:

RSAMD5:[512..4096]

RSASHA1:[512..4096]

DH:[128..4096]

DSA:[512..1024]anddivisibleby64

HMAC-MD5:[1..512]

-nnametype:ZONE|HOST|ENTITY|USER|OTHER

name:ownerofthekey

 

[root@t1etc]#dnssec-keygen-ahmac-md5-b128-nhost3key

K3key.+157+62471

[root@t1etc]#ls

K3key.+157+62471.key

K3key.+157+62471.private

 

[root@t1etc]#catK3key.+157+62471.key

3key.INKEY5123157reyVufo4DOsiKSLUZ173RA==

 

要:reyVufo4DOsiKSLUZ173RA==

 

#vim/var/named/chroot/etc/named.conf

添加

key3key{

algorithmhmac-md5;

secret"reyVufo4DOsiKSLUZ173RA==";

};

 

#vim/var/named/chroot/etc/named.rfc1912.zones

zone"google.com"IN{

typemaster;

file"google.com.zone";

allow-transfer{key3key;};

};

 

Slave//从服务器

#vim/var/named/chroot/etc/named.conf

添加

key3key{

algorithmhmac-md5;

secret"reyVufo4DOsiKSLUZ173RA==";

};

 

#vim/var/named/chroot/etc/named.rfc1912.zones

zone"google.com"{

typeslave;类型是从

file"google.com.slave";

masters{192.168.0.153key3key;};

};

 

 

主从启动服务

 

在主上面看日志:

[root@t1etc]#tail-0f/var/log/messages

 

Tag标签: DNS正反解析   主从同步   事物签名  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规