1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Linux——DNS(正向解析+反向解析+多域配置+主从配置)

Linux——DNS(正向解析+反向解析+多域配置+主从配置)

时间:2020-02-26 14:07:05

相关推荐

Linux——DNS(正向解析+反向解析+多域配置+主从配置)

文章目录

一、DNS概念1. 什么是DNS2. DNS的正向解析3. DNS的反向解析4. DNS的结构1)根域名(.)2)一级域名3)二级域名 5. DNS工作原理6. dig工具 二、DNS服务器的搭建1. DNS服务器软件介绍(Bind)2. 环境准备3. 安装DNS软件 三、 DNS正向解析配置1)对配置文件进行备份2)修改named.conf主配置文件3)修改子配置文件4)定义正向解析5)编辑test.hhy.zone文件,定义域名的指向6)检查named.conf与zones文件7)启动DNS服务(named) 1. Web服务搭建2. 测试DNS服务器的正向解析1)添加DNS服务器2)使用nslookup检测正向解析是否生效3)使用elinks命令行浏览器或curl来实现访问 三、DNS反向解析1)开启网络的访问控制权限2)在zones文件中定义zone文件3)复制named.loopback文件4)编辑192.168.44.zone文件5)检查配置文件和测试 四、多域DNS服务器搭建1. 修改named.conf配置文件2. 添加域3. 创建配置文件4. 编写配置文件5. 检测配置文件6. 连接测试 五、NTP服务器搭建1. 环境准备2. 更改配置文件3. 关闭防火墙和SELInux3. 启动ntpd服务 六、DNS主从部署1. 思路2. 环境准备3. 更改主DNS服务器配置4. 从服务器配置5. 测试

一、DNS概念

1. 什么是DNS

DNS(domain name system ) 域名管理系统

域名:

由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,能够使人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。

计算机到IP地址,互联网中的计算机都是通过IP地址进行互相访问的,但是由于ip地址太过复制不方便记忆。就用域名来代替IP实现计算机的访问。

从域名经过DNS服务器的转换变成IP地址

2. DNS的正向解析

域名的正向解析:将域名转换为ip地址

将主机域名转换为对应的IP 地址,以便网络程序能够通过主机域名访问到对应的服务器主机

3. DNS的反向解析

域名的反向解析:将IP转换为对应的域名

将主机的IP地址转换为对应的域名,以便网络(服务)程序能够通过IP地址查询到主机的域名

4. DNS的结构

域名:

DNS结构:.=> 从右向左解析

1)根域名(.)

在整个DNS系统的最上方一定是.(小数点)这个DNS服务器称为root,就叫根域根域:全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。

2)一级域名

.com: 商业公司

.net:互联网公司

.edu:教育(中小学、高中、大学…)

.gov:政府

.io:存储设备,redis

.cn:中国域名(国家域)

3)二级域名

说法不一样,有些可能说是一级域名也有的说,才是二级域名

..

5. DNS工作原理

6. dig工具

dig工具可以用来查看dns的解析过程

安装命令:yum install bind-utils -y

追踪DNS的解析过程:dig +trace [域名]

[root@samba ~]# dig -trace ;; Warning, ignoring invalid type race; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> -trace ;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21383;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;.INA;; ANSWER SECTION:.564INCNAMEwww..www..149INA183.232.231.174 #ip1www..149INA183.232.231.172 #ip2;; Query time: 9 msec;; SERVER: 8.8.8.8#53(8.8.8.8) #DNS服务器;; WHEN: Mon Jul 18 21:27:36 CST ;; MSG SIZE rcvd: 90[root@samba ~]#

正向解析:dig [域名]反向解析:dig -x [ip]

二、DNS服务器的搭建

1. DNS服务器软件介绍(Bind)

DNS 的域名解析都是udp/53, 主从之间的**数据传输默认使用tcp/53

DNS服务器端软件:

Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley(伯克利)分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

2. 环境准备

三台LInux主机

关闭防火墙和SELinux

命令:systemctl stop firewalld

systemctl disable firewalld

关闭SELinux

命令:setenforce 0

修改vim /etc/selinux/config

SELINUX=disabled

3. 安装DNS软件

在dns机器上:yum install bind -y

查看软件是否安装成功

[root@dns ~]# rpm -q bindbind-9.11.4-26.P2.el7_9.9.x86_64

查看已经安装的软件的文件列表

命令:rpm -ql bind

# rpm -ql bind# 日志轮转文件/etc/logrotate.d/named# 配置文件目录/etc/named# 主配置文件/etc/named.conf# zone文件,定义域/etc/named.rfc1912.zones# 服务管理脚本/usr/lib/systemd/system/named.service# 二进制程序文件/usr/sbin/named# 检测配置文件/usr/sbin/named-checkconf# 检测域文件/usr/sbin/named-checkzone# 根域服务器/var/named/named.ca# 正向解析区域文件模板/var/named/named.localhost# 反向解析区域文件模板/var/named/named.loopback# dns服务器下载文件的默认路径/var/named/slaves# 进程pid/var/rum/named

三、 DNS正向解析配置

/etc/named.conf主要配置访问权限控制(哪些IP或哪些主机可以访问DNS服务器)

-/etc/named.rfc1912.zones主要定义域名如何解析(正向解析),解析到具体哪个IP地址

1)对配置文件进行备份

为了防止配置文件被改坏,我们先对named.conf以及named.rfc1912.zones配置文件进行备份。

[root@dns etc]# cp /etc/named.conf /etc/named.conf.bak[root@dns etc]# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

2)修改named.conf主配置文件

修改配置文件:vim /etc/named.conf

修改第13行和21行,添加any;

# 定义监听端口、监听方式、允许查询来源options {// 定义监听方式 any代表全网监听listen-on port 53 { 127.0.0.1;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{ localhost;any; };

3)修改子配置文件

子配置文件named.rfc1912.zones定义DNS服务器管理哪些领域

zones子配置文件(域名应该指向哪个IP地址)

命令:vim /etc/named.rfc1912.zones

在文件末尾添加

# 正向 ,表示这个域名从.zone这个配置文件中获取ipzone "" IN {type master;file ".zone";allow-update { none; };};

在vim 中

:13, 17 co 42,

表示把13到17行复制到42行以后

4)定义正向解析

/var/named目录创建test.hhy.zone文件定义正向解析

[root@dns etc]# cd /var/named/[root@dns named]# cp -p named.localhost .zone

-p表示保留文件的原有属性

5)编辑test.hhy.zone文件,定义域名的指向

vim test.hhy.zone

在最后一行添加:www A web主机ip

zone文件的格式说明

zone文件详解# $TTL 缓存的生存周期# @ = zonename = test.hhy 当前域# IN 互联网# SOA 开始授权# NS dns服务端nameserver# A ipv4 正向# AAAA IPV6# CNAME 别名# MX 邮件交互记录 5 数字代表优先级 数字越小优先级越高# 0 ; serial 更新序列号# 1D; refresh 更新间隔(从服务器下载数据)# 1H; retry失败重试# 1W; expire 区域文件的过期时间# 3H ) ; minimum 缓存的最小生存周期# D Day(天)、H Hour(时)、W Week(周)

6)检查named.conf与zones文件

命令:named-checkconf /etc/named.conf

named-checkconf /etc/named.rfc1912.zones

只有没有错误提示就说明没问题

检查test.hhy.zone文件

注意:named-checkzone格式要求写两遍文件

[root@dns named]# cd /var/named/[root@dns named]# named-checkzone test.hhy.zone test.hhy.zone zone test.hhy.zone/IN: loaded serial 0OK

7)启动DNS服务(named)

命令:systemctl restart named

通过命令:ss -tnlp | grep named

可以看到named服务器的端口号为53

1. Web服务搭建

在Web服务器上安装httpd并启动服务

命令:yum -y install httpd

启动服务:systemctl start httpd

[root@web html]# touch /var/www/html/index.html[root@web html]# echo "<h1>DNS测试</h1>" >> /var/www/html/index.html

2. 测试DNS服务器的正向解析

1)添加DNS服务器

临时添加

命令:echo 'nameserver 192.168.44.151' > /etc/resolv.conf

永久添加

vim /etc/sysconfig/network-scripts/ifcfg-ens33

DNS=192.168.44.151

2)使用nslookup检测正向解析是否生效

安装:yum install bind-utils -y

测试

[root@client ~]# clear[root@client ~]# nslookup Server:192.168.44.151Address:192.168.44.151#53Name:Address: 192.168.44.152

3)使用elinks命令行浏览器或curl来实现访问

安装:yum install elinks -y

输入:elinks

输入配置文件里的域名

就会出现web服务器/var/www/html/index.html的信息

或者直接使用cutl命令

curl

三、DNS反向解析

示例:把web服务器192.168.44.152这个IP地址通过DNS服务器指向域名

在DNS服务器上:

1)开启网络的访问控制权限

vim /etc/named.conf

2)在zones文件中定义zone文件

命令:vim /etc/named.rfc1912.zones

注意:这里是把web主机的ip192.168.44.152反过来写的,且没有写最后一个主机号位置

这个ip通过192.168.44.zone这个配置文件来获取域名

zone "44.168.192.in-addr.arpa" IN {type master;file "192.168.44.zone";allow-update { none; };};

3)复制named.loopback文件

cd /var/named进入到DNS zone配置文件目录,复制named.loopback文件

[root@dns named]# cd /var/named/[root@dns named]# cp -p named.loopback 192.168.44.zone

4)编辑192.168.44.zone文件

vim 192.168.44.zone

$TTL 1D@ IN SOA @ rname.invalid. (0 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNS@A 127.0.0.1AAAA ::1PTRlocalhost.# 增加一条反向解析:把192.168.44.152通过PTR解析成152PTR

PTR:反向解析

5)检查配置文件和测试

在DNS服务器上测试

[root@dns named]# named-checkconf /etc/named.conf[root@dns named]# named-checkconf /etc/named.rfc1912.zones[root@dns named]# cd /var/named[root@dns named]# named-checkzone 192.168.44.zone 192.168.44.zonezone 192.168.44.zone/IN: loaded serial 0OK[root@dns named]#

再重启named服务

命令:systemctl restart named

接着在client主机上测试

# 将dns服务器的ip设置为测试机的DSN[root@client ~]# echo 'nameserver 192.168.44.151' > /etc/resolv.conf[root@client ~]# nslookup 192.168.44.152152.44.168.192.in-addr.arpaname = .44.168.192.in-addr.arpa.[root@client ~]#

四、多域DNS服务器搭建

需求:搭建一个DNS服务器,可以同时解析

也就是无论是通过还是来访问,都是访问到192.168.44.152这台Web主机

1. 修改named.conf配置文件

在dns服务器上修改

vim /etc/named.rfc1912.zones

修改配置文件来设置网络访问权限

zone "44.168.192.in-addr.arpa" IN {type master;file "192.168.44.zone";allow-update { none; };};

2. 添加域

vim /etc/named.rfc1912.zones

添加testdnstestlinux

zone "" IN {type master;file ".zone";allow-update { none; };};zone "" IN {type master;file ".zone";allow-update { none; };};

3. 创建配置文件

进入/var/named目录,复制named.localhost

就是创建testdnstestlinux这两个域的配置文件

[root@dns ~]# cd /var/named/[root@dns named]# cp -P named.localhost .zone[root@dns named]# cp -P named.localhost .zone

4. 编写配置文件

编写.zone.zone这两个配置文件

vim /var/named/.zone

在配置文件的末尾添加

wwwA 192.168.44.152

vim /var/named/.zone

bbsA 192.168.44.152

5. 检测配置文件

检测配置文件

# named-checkconf /etc/named.conf# named-checkconf /etc/named.rfc1912.zones# cd /var/named# named-checkzone .zone .zone # named-checkzone .zone .zone

重启named服务

命令:systemctl restart named

6. 连接测试

在测试机clinet上测试

cd /etc/sysconfig/network-scripts/修改对应网卡的DNS为

我们测试的额DNS服务器的IP192.168.44.151

通过命令进行正向解析

测试

[root@client ~]# nslookup Server:192.168.44.151Address:192.168.44.151#53Name:Address: 192.168.44.152

测试

[root@client ~]# nslookup Server:192.168.44.151Address:192.168.44.151#53Name:Address: 192.168.44.152

五、NTP服务器搭建

虽然通过ntpdate .cn

虽然以上方式,可以实现对时间的校对!但是由于需要连接外网,其同步需要消耗一定的时间,那有没有更好的解决办法呢?

1. 环境准备

一台NTP时间服务器

安装ntp服务软件

yum install ntp -y

2. 更改配置文件

更改配置文件,开启ntp服务

vim /etc/ntp.conf

13 restrict 127.0.0.114 restrict ::1# 在15行手动添加192.168.44.0网段,表示范围为192.168.44.1 ~ 192.168.44.25415 restrict 192.168.44.0 mask 255.255.255.0

3. 关闭防火墙和SELInux

[root@ntp ~]# setenforce 0[root@ntp ~]# systemctl stop firewalld

3. 启动ntpd服务

同步网络时间命令:ntpdate .cn

启动服务:systemctl restart ntpd

到此NTP时间服务器配置完毕,以后所有的计算机都可以直接使用ntpdate同步此NTP服务器

通过命令:ntpdate 192.168.44.153

命令+ntp主机ip就可以在内网同步ntpdate时间了

[root@web ~]# date -s 2002-03-04Mon Mar 4 00:00:00 CST 2002[root@web ~]# date -s 08:30Mon Mar 4 08:30:00 CST 2002[root@web ~]# dateMon Mar 4 08:30:05 CST 2002[root@web ~]# ntpdate 192.168.44.15320 Jul 10:03:55 ntpdate[7338]: step time server 192.168.44.153 offset 643080786.390525 sec[root@web ~]# dateWed Jul 20 10:04:05 CST [root@web ~]#

除此以外,我们还可以使用计划任务,定期进行时间的同步(针对所有的客户端)

命令:crontab -e

# 表示每2两小时从 192.168.44.153 这台ntp服务器同步一次时间*/2 * * * * /usr/sbin/ntpdate 192.168.44.153 &>/dev/null

六、DNS主从部署

1. 思路

主从部署的核心思路:

master和slave的系统时间保持一致slave服务器上安装相应的软件(系统版本、软件版本保持一致)根据需求修改相应的配置文件(master和slave都应该去修改)主从同步的核心是slave同步master上的区域文件(zone文件)

2. 环境准备

准备一台服务器

配置静态ip+关闭防火墙和SELInux

3. 更改主DNS服务器配置

更改主dns服务器,允许其他的从服务器下载同步资源

vim /etc/named.conf

在第15添加一行allow-transfer {192.168.44.160; }运行从服务器IP地址过来同步资源

12 options {13 listen-on port 53 { 127.0.0.1;any; };14 listen-on-v6 port 53 { ::1; };15 allow-transfer {192.168.44.160; };16 directory "/var/named";17 dump-file "/var/named/data/cache_dump.db";18 statistics-file "/var/named/data/named_stats.txt";19 memstatistics-file "/var/named/data/named_mem_stats.txt";20 recursing-file "/var/named/data/named.recursing";21 secroots-file "/var/named/data/named.secroots";22 allow-query{ localhost;any; };

重启服务:systemctl restart named

4. 从服务器配置

安装DNS软件:yum -y install bind

修改配置文件:

12 options {13 listen-on port 53 { 127.0.0.1;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{ localhost;any; };

修改:vim /etc/named.rfc1912.zones

在43到53行添加下面的配置文件

43 zone "" IN {44 type slave;45 file "slaves/";46 masters { 192.168.44.151; };47 };48 49 zone "" IN {50 type slave;51 file "slaves/";52 masters { 192.168.44.151; };53 };

5. 测试

检测配置文件是否有问题

命令:named-checkconf /etc/named.rfc1912.zones

重启服务:systemctl restart named

在Client客户端,把Slave从服务器的IP设置为DNS

vim /etc/sysconfig/network-scripts/ifcfg-ens33

重启网卡systemctl restart network

测试域名

[root@client ~]# nslookup Server:192.168.44.160Address:192.168.44.160#53Name:Address: 192.168.44.152[root@client ~]# nslookup Server:192.168.44.160Address:192.168.44.160#53Name:Address: 192.168.44.152[root@client ~]#

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