linux服务之DNS

DNS:Domain Name Service 应用层协议 ,域名解析服务,接下来让咱们一块儿来认识一下dns服务吧!linux

1、DNS基本介绍vim

一、dns域名结构centos

• 根域缓存

• 一级域名:Top Level Domain: tld服务器

com, edu, mil, gov, net, org, int,arpa网络

三类:组织域、国家域(.cn, .jp)地区域(.hk, .tw)、反向域测试

• 二级域名centos7

• 三级域名spa

• 最多127级域名rest

二、dns解析

•DNS查询类型:

   递归查询

   迭代查询

• 名称服务器:域内负责解析本域内的名称的主机 根服务器:13组服务器,1个为主根服务器在美国。其他12个均为辅根服务器,其中9个在美 国,欧洲2个,位于英国和瑞典,亚洲1个位于日本

• 解析类型: FQDN --> IP IP –> FQDN

• 注意:正反向解析是两个不一样的名称空间,是两棵不一样的解析树

三、dns服务器类型

• DNS服务器的类型:

主DNS服务器

从DNS服务器

缓存DNS服务器(转发器)

• 主DNS服务器:管理和维护所负责解析的域内解析库的服务器

• 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本 序列号:解析库版本号,主服务器解析库变化时,其序列递增 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

过时时长:从服务器联系不到主服务器时,多久后中止服务

• “通知”机制:主服务器解析库发生变化时,会主动通知从服务器

四、dns解析

解析答案分为确定答案,否认答案;应答分为权威应答和非权威应答。

确定答案: 一个确定答案有返回结果

否认答案:请求的条目不存在等缘由致使没法返回结果

权威答案: 客户端从指定的dns直接获取的解析

非权威答案:客户端经过指定的dns从其余渠道得到的解析

五、资源记录

区域解析库:由众多RR组成:

资源记录:Resource Record, RR

记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

• SOA:Start Of Authority,起始受权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解 析库的第一条记录

• A:internet Address,做用,FQDN –> IP

• AAAA: FQDN --> IPv6 • PTR: PoinTeR,IP –> FQDN

• NS: Name Server,专用于标明当前区域的DNS服务器

• CNAME:Canonical Name,别名记录

• MX: Mail eXchanger,邮件交换器

SOA记录
• name: 当前区域的名字,例如“magedu.com.”

• value: 有多部分组成

(1) 当前区域的主DNS服务器的FQDN,也可使用当前区域的名字;

(2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,通常用.替换,例如 linuxedu.magedu.com

(3) 主从服务区域传输相关定义以及否认的答案的统一的TTL

例如: magedu.com.     86400        IN         SOA 

ns.magedu.com. nsadmin.magedu.com. ( 2015042201 ;序列号 2H ;刷新时间 10M ;重试时间 1W ;过时时间 1D ;否认答案的TTL值 )在zone文件里,“;”表示注释

NS记录

• name: 当前区域的名字

• value: 当前区域的某DNS服务器的名字,例如ns.magedu.com.

• 注意:一个区域能够有多个NS记录

例如:    magedu.com.                  IN                                                  NS                          ns1.magedu.com.

      magedu.com.       IN                       NS             ns2.magedu.com.

• 注意: (1) 相邻的两个资源记录的name相同时,后续的可省略

                 (2) 对NS记录而言,任何一个ns 记录后面的服务器名字,都应该在后续有一个A记录

                 (3) 空格和@都表明当前zone名,若是本身手写注意以 “.” 结束。

A记录

• name: 某主机的FQDN,例如www.magedu.com.

• value: 主机名对应主机的IP地址

例如:

www.magedu.com.               IN                A                          1.1.1.1 www.magedu.com. IN                A                          2.2.2.2
*.magedu.com.                 IN                A                          5.5.5.5

注意:通常NS记录后必须跟一个A记录;A记录前主机名后跟ip地址;*表明泛域名

PTR

name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写做4.3.2.1;而有特定后缀:inaddr.arpa.,因此完整写法为:4.3.2.1.in-addr.arpa. value: FQDN

例如:

4.3.2.1.in-addr.arpa.         IN              PTR                        www.magedu.com.

 

如1.2.3为网络地址,可简写成:

4                                  IN                 PTR                             www.magedu.com.

 

• 注意:网络地址及后缀可省略;主机地址依然须要反着写

2、dns实验操做

实验一:在centos7上部署dns实现对magedu.com的正向解析及对192.168.248的反向解析

一、安装bind

[root@localhost(wsy) ~]# yum -y install bind

二、修改etc下named.conf文件

[root@localhost(wsy) ~]#vim /etc/named.conf
 listen-on port 53 { any; }; allow-query { any; }; …… include "/etc/named.magedu.zones";

三、修改etc下关于域名的文件

[root@localhost(wsy) ~]#cp -p /etc/named.rfc1912.zones /etc/named.magedu.zones -p 表示权限不变
[root@localhost(wsy) ~]#vim /etc/named.magedu.zones
     zone "magedu.com" IN { type master; file "magedu.com.zone"; }; zone "248.168.192.in-addr.arpa" IN { type master; file "192.168.248.zone"; };  

四、启动named服务

[root@localhost(wsy) ~]#named-checkconf

五、进入var目录并修改相应zone文件

[root@localhost(wsy) ~]#cd /var/named/
[root@localhost(wsy) ~]#cp -p named.localhost magedu.com.zone
[root@localhost(wsy) ~]#vim magedu.com.zone
$TTL 1D @       IN SOA  @ admin.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum magedu.com. NS ns1.magedu.com. ns1.magedu.com. 3600 IN A    192.168.248.7 www A 192.168.248.6 [root@localhost(wsy) ~]#cp -p magedu.com.zone 192.168.248.zone
[root@localhost(wsy) ~]#vim 192.168.248.zone
$TTL 1D @       IN SOA magedu.com. admin.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS ns1.magedu.com. 7 PTR ns1.magedu.com. 6 PTR www.magedu.com. [root@localhost(wsy) ~]#named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 0 OK [root@localhost(wsy) ~]#named-checkzone 153.168.192.in-addr.arpa /var/named/192.168.248.zone
zone 248.168.192.in-addr.arpa/IN: loaded serial 0 OK [root@localhost(wsy) ~]#rndc reload

 

六、客户端测试

[root@localhost(wsy) ~]#dig -t ns magedu.com @192.168.248.7

实验二:动态dns更新

一、进入etc目录下named.conf文件修改配置文件,容许更新。

[root@localhost(wsy) ~]#vim /etc/named.conf
Allow-update {any;}; [root@localhost(wsy) ~]#chmod770 /var/named
[root@localhost(wsy) ~]#setsebool -P named_write_master_zones on
[root@localhost(wsy) ~]#nsupdate
>server 127.0.0.1
>zone magedu.com >update add ftp.magedu.com 88888 IN A 8.8.8.8
>send >update delete www.magedu.com A

测试:

[root@rhel5 ~]#dig ftp.magedu.com @127.0.0.1
[root@localhost(wsy) ~]#ll /var/named/magedu.com.zone.jnl

实验3:DNS的主从

一、安装bind

[root@localhost(wsy) ~]#yum -y install bind

二、修改etc下配置文件

[root@localhost(wsy) ~]#vim /etc/name.conf
allow-transfer { 192.168.248.6; };

三、配置从dns

[root@rhel5 ~]#vim /etc/name.rfc1912.zones
     zone "magedu.com" IN { type slave; masters { 192.168.248.7; }; file "slaves/magedu.com.ZONE"; };

四、重启服务

[root@localhost(wsy) ~]#service named restart

五、测试设置是否成功

[root@rhel5 ~]#dig -t axfr magedu.com @192.168.248.7

实验四:子域委派,部署magedu.com   zz.magedu.com  bj.magedu.com

子域委派通常分为三种方式:
1.子域和父域在一个文件里。

2.子域和父域在同一个机器上。不用委派,直接建立

3.子域和父域不在同一个机器上,要子域委派

在这里以第三种方式来作实践操做。

一、在父dns上作委派

[root@localhost(wsy) ~]#vim /etc/named.conf
dnssec-enable no; dnssec-validation no;

2.修改var/named下文件里边部署

[root@localhost(wsy) ~]#vim /var/named/magedu.com.zone
zz NS ns.zz.magedu.com. bj NS ns.bj.magedu.com. ns.zz A 192.168.248.6 ns.bj A 172.18.250.42

三、在zz对应主机上修改相应配置

[root@centos6(wsy) ~]#vim /etc/named.rfc1912.zones
     zone "zz.magedu.com" IN { type master; file "zz.magedu.com.zone"; }; [root@centos6(wsy) ~]#vim /var/named/zz.magedu.com.zone 
     $TTL 1D @       IN SOA ns.zz.magedu.com. admin.zz.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.zz.magedu.com. ns A 192.168.153.6 www A 2.2.2.2 [root@centos6(wsy) ~]#service named restart

 

四、在bj对应主机上配置

 

[root@centos6(wsy) ~]# vim /etc/named.rfc1912.zones
zone
"bj.magedu.com" IN { type master; file "bj.magedu.com.zone"; }; [root@rhel5 ~]#cp -p named.localhost bj.magedu.com.zone [root@rhel5 ~]#vim bj.magedu.com.zone $TTL 1D @ IN SOA ns.bj.magedu.com. admin.bj.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.bj.magedu.com. ns A 172.18.251.125 www A 3.3.3.3 [root@rhel5 ~]#service named restart

实验五:设置转发dns

only: 本机有的结果优先,本机查不到,则交给转发。转发也查不到,则结束,报告查不到。
first: 本机有的结果优先,本机查不到,则交给转发。转发查不到(包含转发本身的以及转发迭代的),则本机再迭代。

一、全局转发

[root@localhost(wsy) ~]#vim /etc/named.conf
options { …… forward only|first;默认是first forwarders { x.x.x.x; }; …… };

二、特定区域转发

zone "mage.com" { type forward; forwarders { 192.168.248.12; }; };

实验六:设置不一样区域记录返回不一样结果view(设置view时须要把zone文件写出来)

一、修改配置文件

[root@localhost(wsy) ~]#vim /etc/named.conf
view bjview { match-clients { beijing; }; include "/etc/named.bj.zones"; }; view zzview { match-clients { zhengzhou; }; include "/etc/named.zz.zones"; };

二、分别编辑对应的域文件

[root@localhost(wsy) ~]#vim /etc/named.bj.zones
zone "example.com" IN { type master; file "example.com.zone"; }; [root@localhost(wsy) ~]#vim /etc/named.zz.zones
     zone "example.com" IN { type master; file "example.com.ZONE"; };

三、编辑var下zone文件

[root@localhost(wsy) ~]#vim /var/named/example.com.zone
     $TTL 1D @    IN SOA ns.example.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.example.com. ns A 192.168.248.110 www A 100.100.100.100 [root@localhost(wsy) ~]#vim /var/named/example.com.ZONE
$TTL 1D @    IN SOA ns.example.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.example.com. ns A 192.168.248.110 www A 200.200.200.200

其实dns相关的实验操做还有不少,不过基本操做也就大体如此,咱们能够基于这些基本操做实现多台机器之间主从设置,以及子域父域等相关操做,这里我就不作过多展现了。

相关文章
相关标签/搜索