失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux网络服务--DNS域名解析服务(正向解析 反向解析 邮件交换解析 别名解析 泛域

Linux网络服务--DNS域名解析服务(正向解析 反向解析 邮件交换解析 别名解析 泛域

时间:2020-12-27 21:58:13

相关推荐

Linux网络服务--DNS域名解析服务(正向解析 反向解析 邮件交换解析 别名解析 泛域

文章目录

一、BIND域名服务基础1.1 DNS系统的作用及类型1.1.1 DNS系统的作用1.1.2 DNS系统的类型1、缓存域名服务器2、主域名服务器3、从域名服务器 1.2 BIND安装和配置文件1.2.1 BIND软件安装1.2.2 BIND服务1.2.3 BIND的配置文件主配置文件named.conf区域数据配置文件对配置文件进行语法检查 二、使用BIND构建域名服务器2.1 构建缓存域名服务器、实验·DNS正向解析、邮件交换解析、别名解析、泛域名解析、反向解析 2.2 构建主从域名服务器 总结

一、BIND域名服务基础

1.1 DNS系统的作用及类型

1.1.1 DNS系统的作用

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或者反向的地址查询服务,及正向解析和反向解析

正向解析:根据主机名称(域名,如)查找对应的IP地址反向解析:(一般维护的时候使用)根据IP地址查找对应的主机域名DNS系统的分布式数据结构

分析

1.1.2 DNS系统的类型

实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)。根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录,)和反向区域(包含IP地址到域名的解析记录)

1、缓存域名服务器

也成为DNS高速缓存服务器

通过向其他域名服务器查询获得域名→IP地址记录

将域名查询结果存到本地,提高重复查询时的速度

客户机访问某个网站的DNS解析过程

1、客户机利用电信分配的DNS会找到离客户机最近的位置会有一个DNS缓存服务器

可以查找到DNS缓存里面的域名与ip对应的记录

2、如果没有对应的记录,DNS缓存服务器会直接去找根域服务器

3、根域服务器会告诉DNS缓存服务器顶级域名服务器在什么地方

4、DNS缓存服务器就会去找顶级域名服务器

5、顶级域名服务器会告诉DNS缓存服务器(如果告诉了二级域在哪里

6、DNS缓存服务器回去找二级域服务器 {主机A记录域名→IP}

7、二级域服务器会告诉DNS缓存服务器

8、DNS缓存服务器会记录下来

告诉客户机对应的IP

9、然后客户机就可以去访问对应的网站

网站会将网页推给客户机,下载到客户机的缓存里面

2、主域名服务器

特定DNS区域的权威服务器,具有唯一性

负责维护该区域内所有域名===>IP地址的映射记录

需要自行建立所负责区域的地址数据文件

3、从域名服务器

也成为辅助域名服务器,是对主域名服务器的热备份

其维护的域名===>IP地址记录来源于主域名服务器

需要从主域名服务器自动同步区域地址数据库

1.2 BIND安装和配置文件

1.2.1 BIND软件安装

BIND(Berkeley Internet Name Daemon)

BIND是应用最广泛的DNS服务程序

官方站点:/

可以直接使用yum安装

host===>本地自测的命令

相关软件包

1.2.2 BIND服务

BIND服务器端程序

主要执行程序

默认监听端口:53

主配置文件

/etc/named.conf-保

存DNS解析记录的数据文件位于

/var/named(随时可更改)

BIND服务控制

systemctl [status|stop|restart] named.service

1.2.3 BIND的配置文件

[root@localhost ~]# rpm -qc bind'查看配置文件位置'/etc/logrotate.d/named/etc/named.conf/etc/named.iscdlv.key/etc/named.rfc1912.zones/etc/named.root.key/etc/rndc.conf/etc/rndc.key/etc/sysconfig/named/var/named/named.ca/var/named/named.empty/var/named/named.localhost/var/named/named.loopback

配置文件:

1、主配置文件 负责dns全局功能 例如:日志文件位置,访问权限等

2、区域配置文件 负责构建解析区域 例如:多域名解析

3、区域数据配置文件 负责管路主机解析记录 例如:解析映射

主配置文件named.conf

全局配置部分

设置DNS服务器的全局参数

包括监听地址/端口,数据文件的默认位置等

使用options{…};的配置段

[root@localhost ~]# vim /etc/named.confoptions {'配置段'listen-on port 53 {any; };'ipv4 监听地址和端口 {一般更改为any}'listen-on-v6 port 53 {::1; };directory "/var/named";'区域数据文件的默认存放位置'...省略内容allow-query{any; };'允许使用本DNS服务的网段:{一般更改为any}'}

区域配置部分

设置本服务器提供域名解析的特定DNS区域

包括域名,服务器角色,数据文件名等

使用zone“区域名”IN{…};的配置段

[root@localhost ~]# vim /etc/named.rfc1912.zones 正向解析zone "" IN {type master;'区域类型,主域名服务器'file ".zone";'区域数据文件名'allow-update {none; };};反向解析zone "66.168.192.in-addr.arpa" IN {type master; '反向192.168.66.66/24区域。“IN”关键字可省略'file "192.168.10.arpa";allow-update {none; };};

区域数据配置文件

全局TTL配置项及SOA记录

$TTL(Time To Live,生存时间)记录

SOA(Start Of Authority,授权信息开始)记录

分号“;”开始的部分表示注释信息

$TTL 1D'有效解析记录的生存周期'@ IN SOA @ rname.invalid. ('SOA标记,域名,管理邮箱'030502 '更新序列号,可以是10位以内的整数' 1D'无效解析记录的生存周期' 1W '失效时间,超过改时间仍无法下载则放弃'3H ) '刷新时间,重新下载地址数据的间隔'M 分H 时W 周D 天

正向解析记录

NS域名服务器(Name Server )记录

MX 邮件交换(Mail Exchange)记录

A 地址 (Address)记录,只用在正向解析区域中

CNAME别名(Canonical Name)记录

@.'当前区域DNS服务器的'INMX .ns1INA65.65.656.56wwwINA2.2.2.2mailIN A5.5.5.5ftpINCNAMEwww*IN A3.3.3.3'泛域名解析,未匹配到的主机头到到此地址'

反向区域数据文件

在反向区域数据文件中,不会用到A地址记录,而是使用PTR指针(point)记录。

例如,对于反向区域10.168.192.in-addr.arpa,添加的反向解析记录可以是以下形式

1 IN PTR .'表示IP地址为192.168.192.1的主机的域名时'5 IN PTR .'表示IP地址为192.168.192.5的主机的域名时**使用netstat命令查看服务状态**```css[root@localhost ~]# netstat -nuap | grep named'以数字形式显示当前系统中所有的UDP连接信息,同时显示对应的进程信息。'udp 00 192.168.122.1:53 0.0.0.0:* 65212/named udp 00 192.168.197.142:530.0.0.0:* 65212/named udp 00 127.0.0.1:53 0.0.0.0:* 65212/named udp6 00 ::1:53 :::* 65212/named [root@localhost ~]# netstat -ntap | grep named'以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。'tcp 00 192.168.197.142:530.0.0.0:*LISTEN65212/named tcp 00 127.0.0.1:53 0.0.0.0:*LISTEN65212/named tcp 00 127.0.0.1:953 0.0.0.0:*LISTEN65212/named tcp6 00 ::1:53 :::*LISTEN65212/named tcp6 00 ::1:953 :::*LISTEN65212/named TCP: 用于连接UDP: 用于快速解析

区域数据配置文件的特殊应用

基于域名解析的负载均衡

同一域名对应到多个IP地址

泛域名解析

找不到精确对应的A记录时,使用“*”进行匹配

www INA192.168.100.100'轮询负载均衡'www INA192.168.100.101www INA192.168.100.102

*INA192.168.100.100'泛域名解析'

对配置文件进行语法检查

修改完区域数据文件以后,可以执行named-checkconf命令对该文件进行语法检查

若zone文件中没有语法错误,系统将给出“OK”的提示信息

named-checkconf工具基本格式named-checkconf -z [主配置文件][root@localhost ~]# named-checkconf -z /etc/named.confzone localhost.localdomain/IN: loaded serial 0zone localhost/IN: loaded serial 0zone /IN: loaded serial 0zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0zone 0.in-addr.arpa/IN: loaded serial 0

named-checkzone工具基本格式named-checkzone <域名><区域数据文件>[root@localhost ~]# named-checkzone /var/named/.zone zone /IN: /MX '' (out of zone) is a CNAME '.' (illegal)zone /IN: loaded serial 0OK

二、使用BIND构建域名服务器

2.1 构建缓存域名服务器、

实验·DNS正向解析、邮件交换解析、别名解析、泛域名解析、反向解析

1、安装bind安装包

[root@localhost ~]# rpm -q bind未安装软件包 bind [root@localhost ~]# yum install bind -y

2、修改主配置文件

root@localhost ~]# vim /etc/named.conf12 options {13 listen-on port 53 {any; }; '改为any,监听所有端口'14 listen-on-v6 port 53 {::1; };15 directory "/var/named";16 dump-file "/var/named/data/cache_dump.db";17 statistics-file "/var/named/data/named_stats.txt";18 memstatistics-file "/var/named/data/named_mem_stats.txt";19 recursing-file "/var/named/data/named.recursing";20 secroots-file "/var/named/data/named.secroots";21 allow-query{any; }; '改为any,允许所有人访问'

3、修改区域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones ‘5yy复制19-23行,粘贴到24行’19 zone "localhost" IN {20 type master;21 file "named.localhost";22 allow-update {none; };23 };24 zone "" IN {'解析区域域名'25 type master;26 file ".zone"; '关联到区域数据配置文件'27 allow-update {none; };28 };

4、修改区域数据配置文件(添加邮件交换记录、别名解析、泛域名解析)

[root@localhost ~]# cd /var/named[root@localhost named]# lsdata dynamic named.ca named.empty named.localhost named.loopback slaves[root@localhost named]# cp -p named.localhost .zone[root@localhost named]# vim .zone$TTL 1D@ IN SOA . rname.invalid. (0 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNS.A 127.0.0.1IN MX 5 '邮件交换记录'mail IN A 192.168.88.88 '→192.168.88.88'www IN A 192.168.66.66 '正向解析域名'smtp IN CNAME mail '别名解析,stmp是mail别名'* IN A 6.6.6.6 '泛域名解析,只解析6.6.6.6,网页上则无法方法'

5、清空防火墙规则和关闭核心防护,开启named功能

[root@localhost named]# setenforce 0 '关闭linux系统核心防护'[root@localhost named]# iptables -F '清空防火墙规则'[root@localhost named]# systemctl start named '开启named功能'

6、配置DNS服务器

[root@localhost named]# echo "nameserver 20.0.0.51" > /etc/resolv.conf

7、验证能否解析(正向解析、邮件交换记录、别名解析、泛域名解析成功)

[root@localhost named]# host has address 192.168.66.66[root@localhost named]# host has address 192.168.88.88[root@localhost named]# host is an alias for . has address 192.168.88.88[root@localhost named]# host has address 6.6.6.6

8、配置反向解析(192.168.99.99)

8-1 修改区域配置文件

[root@localhost named]# vim /etc/named.rfc1912.zones'把上面一段复制粘贴到下面'zone "1.0.0.127.in-addr.arpa" IN {type master;file "named.loopback";allow-update {none; };};zone "99.168.192.in-addr.arpa" IN {'地址倒过来写,只倒着写三段192.168.99.,最后一个99写在区域数据配置文件中'type master;file ".fan";'.fan代表反向解析的数据配置文件'allow-update {none; };};

8-2 修改区域数据配置文件

[root@localhost named]# pwd/var/named[root@localhost named]# lsdatanamed.canamed.localhost slavesdynamic named.empty named.loopback .zone[root@localhost named]# cp -p .zone .fan$TTL 1D@ IN SOA . . (0 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNS.A 127.0.0.199 IN PTR

8-3 重启named服务

[root@localhost named]# systemctl restart named

8-4 解析IP地址

[root@localhost named]# host 192.168.99.9999.99.168.192.in-addr.arpa domain name pointer .99.168.192.in-addr.arpa.

9、再开一台centos 7 作为网站服务器,安装apache,为另一台win 7 客户端提供服务

9-1 进入网卡编辑,并重启网卡

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=13eb7ccf-6168-4877-bfad-b13e88fa8440DEVICE=ens33ONBOOT=yesIPADDR=192.168.66.66NATMASK=255.255.255.0GATEWAY=192.168.66.1DNS1=20.0.0.51[root@localhost ~]# service network restartRestarting network (via systemctl): [ 确定 ][root@localhost ~]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.66.66 netmask 255.255.255.0 broadcast 192.168.66.255inet6 fe80::37ae:2257:d351:2bed prefixlen 64 scopeid 0x20<link>ether 00:0c:29:d5:1f:7d txqueuelen 1000 (Ethernet)RX packets 67 bytes 7533 (7.3 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 35 bytes 4486 (4.3 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

9-2 安装apache服务

[root@localhost ~]# yum install httpd -y

9-3 清空防火墙规则、关闭linux系统核心防护、开启apache服务

[root@localhost ~]# iptables -F[root@localhost ~]# setenforce 0[root@localhost ~]# systemctl start httpd

9-2 编辑一个网页

[root@localhost ~]# cd /var/www/html[root@localhost html]# ls[root@localhost html]# vim index.html<h1>happy every day</h1>

10、在win 7 网页中搜索

2.2 构建主从域名服务器

两台centos 7虚拟机,第一台正向解析(用上一个实验的),第二台配置如下

1、修改主服务器,第一台centos 7

[root@localhost named]# vim /etc/named.rfc1912.zones '修改区域配置文件'zone "" IN {type master;file ".zone";allow-transfer {20.0.0.61; };};[root@localhost named]# systemctl restart named '重启named服务'

2、修改从服务器

2-1清空防火墙规则、关闭linux系统核心防护

[root@localhost ~]# iptables -F[root@localhost ~]# setenforce 0

2-2 安装bind服务

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

2-3 修改主配置文件

[root@localhost ~]# cd /var/named/[root@localhost named]# lsdata dynamic named.ca named.empty named.localhost named.loopback slaves[root@localhost named]# ls slaves[root@localhost named]# vim /etc/named.confoptions {listen-on port 53 {any; }; '改为any,监听所有端口'listen-on-v6 port 53 {::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";recursing-file "/var/named/data/named.recursing";secroots-file "/var/named/data/named.secroots";allow-query{any; }; '改为any,允许所有人访问'

2-4 修改区域配置文件

[root@localhost named]# vim /etc/named.rfc1912.zones 复制上面一行粘贴到下面并修改19 zone "localhost" IN {20 type master;21 file "named.localhost";22 allow-update {none; };23 };24 zone "" IN {'修改域名为'25 type slave; '类型为从服务器'26 file "slaves/.zone"; '关联到slaves/.zone从服务器区域数据配置文件'27 masters {20.0.0.51; }; '主服务器为20.0.0.51'28 };

2-5 启动named服务

[root@localhost named]# systemctl start named[root@localhost named]# ls slaves '查看'.zone

2-6 指定DNS服务器,并解析

[root@localhost named]# echo "nameserver 20.0.0.51" > /etc/resolv.conf[root@localhost named]# host has address 192.168.66.66[root@localhost named]# host has address 192.168.88.88[root@localhost named]# host has address 6.6.6.6

总结

1、DNS正向解析(邮件交换解析、别名解析、泛域名解析)区域配置文件中A记录条目

NS.A 127.0.0.1IN MX 5 '邮件交换记录'mail IN A 192.168.88.88 '→192.168.88.88'www IN A 192.168.66.66 '正向解析域名'smtp IN CNAME mail '别名解析,stmp是mail别名'* IN A 6.6.6.6 '泛域名解析,只解析6.6.6.6,网页上则无法方法'

2、DNS主从配置区域配置文件中关键代码块

[root@localhost named]# vim /etc/named.rfc1912.zones '修改区域配置文件'zone "" IN {type master;file ".zone";allow-transfer {20.0.0.61; };};

24 zone "" IN {'修改域名为'25 type slave; '类型为从服务器'26 file "slaves/.zone"; '关联到slaves/.zone从服务器区域数据配置文件'27 masters {20.0.0.51; }; '主服务器为20.0.0.51'28 };

Linux网络服务--DNS域名解析服务(正向解析 反向解析 邮件交换解析 别名解析 泛域名解析。以及主从域名服务器配置)

如果觉得《Linux网络服务--DNS域名解析服务(正向解析 反向解析 邮件交换解析 别名解析 泛域》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。