部署DNS服务
DNS,全称Domain Name System,即域名解析系统。
DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。比如,您只需键入www.baidu.com,而不是“119.75.217.109”。即可访问ICANN的官方网站。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的IP地址,这样才能上网。其实,域名的最终指向是IP
DNS功能
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
主机名到IP地址的映射有两种方式:
1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
DNS重要性
1、技术角度看
DNS解析是互联网绝大多数应用的实际寻址方式; 域名技术的再发展、以及基于域名技术的多种应用,丰富了互联网应用和协议。
2、资源角度看
域名是互联网上的身份标识,是不可重复的唯一标识资源; 互联网的全球化使得域名成为标识一国主权的国家战略资源。
DNS的工作原理
以访问www.为例说明(主机为Windows系统)
1)客户端首先检查本地c:\windows\system32\drivers\etc\host文件,是否有对应的IP地址,若有,则直接访问WEB站点,若无
2)客户端检查本地缓存信息,若有,则直接访问WEB站点,若无
3)本地DNS检查缓存信息,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无
4)本地DNS检查区域文件是否有对应的IP,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无,
5)本地DNS根据cache.dns文件中指定的根DNS服务器的IP地址,转向根DNS查询。
6)根DNS收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.com服务器的IP地址告诉本地DNS服务器
7).com服务器收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.xxx服务器的IP地址告诉本地DNS服务器
8).xxx服务器收到查询请求后,分析需要解析的域名,若无,则查询失败,若有,返回www.的IP地址给本地服务器
9)本地DNS服务器将www.的IP地址返回给客户端,客户端通过这个IP地址与WEB站点建立连接
安装DNS服务器软件
[root@CentOS7 ~]# yum install bind
配置相关配置文件
/etc/named.conf ,/etc/named.rfc1912.zones 为DNS主配置文件
/var/named/目录为DNS数据库文件存放目录,每一个域文件都放在这里。
/etc/rc.d/init.d/named 为DNS服务的服务脚本。
一 DNS正向解析
这里以mytest.com域为例
www.mytest.com 对应IP 为192.168.29.100;
ftp.mytest.com 对应IP为1.1.1.1 。
1 首先编辑/etc/named.conf文件
listen-on port 53 { any; };
allow-query { any; };
dnssec-enable no;
dnssec-validation no;
2 编辑区域配置文件/etc/named.rfc1912.zones
zone "mytest.com" IN {
type master;
file "mytest.com";
};
其中zone的格式为:
zone “ZONE_NAME IN {
type master;
file “ZONE_NAME.zone”
}
3 新建解析库文件/var/named/mytest.com.zone
[root@CentOS7 ~]# vim /var/named/mytest.com.zone
$TTL 1D
$ORIGIN mytest.com.
@ IN SOA mytest.com. admin.mytest.com. (
20170526; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS @ ; 直接输入域名解析,访问mytest.com
IN A 2.2.2.2;
mytest.com. IN NS ns1.mytest.com.
ns1 IN A 192.168.29.100
www IN A 172.16.254.13
ftp IN A 1.1.1.1
4 修改解析库文件权限
[root@CentOS7 ~]# chgrp named /var/named/mytest.com.zone
5检查 配置语法
(1)检查配置文件语法
[root@CentOS7 ~]# named-checkconf
(2)检查域配置文件语法
[root@CentOS7 ~]# named-checkzone mytest.com /var/named/mytest.com.zone
zone mytest.com/IN: loaded serial 20170526
OK
6 启动named服务
[root@CentOS7 ~]# systemctl start named
7 测试
注意:要配置DNS服务器为本DNS服务器IP地址
或者使用dig命令则不需要修改DNS服务器
[root@CentOS7 ~]# nslookup www.mytest.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.mytest.com
Address: 172.16.254.13
[root@CentOS7 ~]# nslookup ftp.mytest.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: ftp.mytest.com
Address: 1.1.1.1
测试成功,正向解析成功!!
二 DNS反向解析
这里以mytest.com域为例
IP地址192.168.29.100/24对应域名为www.mytest.com;
192.168.29.200/24对应域名为ftp.mytest.com;
1 首先编辑/etc/named.conf文件
listen-on port 53 { any; };
allow-query { any; };
dnssec-enable no;
dnssec-validation no;
2 编辑区域配置文件/etc/named.rfc1912.zones
zone "29.168.192.in-addr.arpa" IN {
type master;
file "name.29.168.192";
};
格式为:
zone "NET_IP.in-addr.arpa" IN { #NET_IP 为反向解析的IP 网段
type master;
file "NAME_ZONE"; #NAME_ZONE为反向解析库配置文件名称
};
3 新建解析库文件
$TTL 1D
$ORIGIN 29.168.192.in-addr.arpa.
@ IN SOA mytest.com. admin.mytest.com. (
20170526; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS mytest.com.
100 IN PTR www.mytest.com.
200 IN PTR ftp.mytest.com.
4 修改解析库文件所属组
[root@CentOS7 ~]# chgrp named name.29.168.192
5 语法检查
(1)检查配置文件语法
[root@CentOS7 ~]# named-checkconf
(2)检查域配置文件语法
[root@CentOS7 ~]# named-checkzone 29.168.192.in-addr.arpa /var/named/name.29.168.192
zone 29.168.192.in-addr.arpa/IN: loaded serial 20170526
OK
6 启动named服务
[root@CentOS7 ~]# systemctl start named
7 测试
[root@CentOS7 ~]# dig -x 192.168.29.200 @192.168.29.100
; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -x 192.168.29.200 @192.168.29.100
[……]
200.29.168.192.in-addr.arpa. 86400 IN PTR ftp.mytest.com.
[root@CentOS7 ~]# dig -x 192.168.29.100 @192.168.29.100
[……]
;; ANSWER SECTION:
100.29.168.192.in-addr.arpa. 86400 IN PTR www.mytest.com.
;; AUTHORITY SECTION:
29.168.192.in-addr.arpa. 86400 IN NS mytest.com.
测试成功!!!
三 主从DNS
这里主DNS服务器IP地址为192.168.29.100/24
从DNS服务器IP地址为192.168.29.3/24
www.mytest.com 对应IP 为192.168.29.100;
ftp.mytest.com 对应IP为1.1.1.1
1首先编辑主服务器/etc/named.conf文件
listen-on port 53 { any; };
allow-query { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
2 编辑主服务器的区域配置文件/etc/named.rfc1912.zones
zone "mytest.com" IN {
type master;
file "mytest.com.zone";
allow-transfer {192.168.29.3; }; ##192.168.29.3位从服务器的ip地址。
};
3 新建主服务器解析库文件vim /var/named/mytest.com.zone
$TTL 1D
$ORIGIN mytest.com.
@ IN SOA mytest.com. admin.mytest.com. (
20170526; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
mytest.com. IN NS ns1.mytest.com.
mytest.com. IN NS slave.mytest.com. ###添加从服务器的NS解析记录。
ns1 IN A 192.168.29.100
slave IN A 192.168.29.3 ###指定从服务器的IP地址。
www IN A 172.16.254.13
ftp IN A 1.1.1.1
4 编辑从服务器/etc/named.conf文件
listen-on port 53 { any; };
allow-query { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
5 配置从服务器的区域配置文件/etc/named.rfc1912.zones
zone "mytest.com" IN {
type slave; ##表明本机是从服务器
file "slaves/mytest.com"; ##将同步后的文件放置在哪里,这里是相对路径,实际路径为/var/named/slaves/mytest.com
masters {192.168.29.100; }; ##指定主服务器的ip地址
};
6 语法检查
在主从两个服务器上都进行语法检查
[root@CentOS7 ~]# named-checkconf
7 在主从两个服务器上开启服务
[root@CentOS7 ~]# systemctl start named
8 测试
(1)查看从服务器已经取得解析数据库文件
[root@centos7 ~]# ll /var/named/slaves/
total 4
-rw-r--r--. 1 named named 348 May 26 15:22 mytest.com
(2)用从服务器解析www.mytest.com
[root@centos7 ~]# dig -t A www.mytest.com @192.168.29.3
[……]
;; ANSWER SECTION:
www.mytest.com. 86400 IN A 172.16.254.13
;; AUTHORITY SECTION:
mytest.com. 86400 IN NS slave.mytest.com.
mytest.com. 86400 IN NS ns1.mytest.com.
;; ADDITIONAL SECTION:
ns1.mytest.com. 86400 IN A 192.168.29.100
slave.mytest.com. 86400 IN A 192.168.29.3
;; Query time: 2 msec
;; SERVER: 192.168.29.3#53(192.168.29.3)
;; WHEN: Fri May 26 15:37:13 CST 2017
;; MSG SIZE rcvd: 129
可以看到解析成功。说明从服务器已生效。
四 子域授权
这里子域服务器为192.168.29.110
1 在mytest.com.域的服务器上修改区域数据库文件
[root@CentOS7 ~]# cat /var/named/mytest.com.zone
$TTL 1D
$ORIGIN mytest.com.
@ IN SOA mytest.com. admin.mytest.com. (
20170526; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS @ ; 直接输入域名解析,访问mytest.com
IN A 2.2.2.2;
mytest.com. IN NS ns1.mytest.com.
mytest.com. IN NS slave.mytest.com.
haha.mytest.com. IN NS ns2.haha.mytest.com. ###新添加的行
ns1 IN A 192.168.29.100
slave IN A 192.168.29.3
www IN A 172.16.254.13
ftp IN A 1.1.1.1
ns2.haha.mytest.com. IN A 192.168.29.110 ###新添加行,指明子域服务器IP地址。
2 修改子域服务器的主配置文件/etc/named.conf
[root@CentOS7 ~]# vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
3 编辑子域服务器的区域配置文件/etc/named.rfc1912.zones
[root@CentOS7 ~]# vim /etc/named.rfc1912.zones
zone "haha.mytest.com" IN {
type master;
file "haha.zone";
allow-transfer {192.168.29.0/24; };
};
4 新建主服务器解析库文件/var/named/haha.zone
域名www.haha.mytest.com 对应IP 172.16.11.11
域名ftp. haha.mytest.com 对应IP 2.2.2.2
[root@CentOS7 ~]# vim /var/named/haha.zone
$TTL 1D
$ORIGIN haha.mytest.com.
@ IN SOA haha.mytest.com. admin.haha.mytest.com. (
20170528; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS @ ; 直接输入域名解析,访问haha.mytest.com
IN A 3.3.3.3;
haha.mytest.com. IN NS ns2.haha.mytest.com.
ns2 IN A 192.168.29.110
www IN A 172.16.11.11
ftp IN A 2.2.2.2
5 语法检查
在两个服务器上都进行语法检查
[root@CentOS7 ~]# named-checkconf
6 在两个服务器上开启服务
[root@CentOS7 ~]# systemctl start named
7测试
[root@centos7 ~]# dig -t A www.haha.mytest.com @192.168.29.100
; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.haha.mytest.com @192.168.29.100
[…….]
;www.haha.mytest.com. IN A
;; ANSWER SECTION:
www.haha.mytest.com. 86400 IN A 172.16.11.11
;; AUTHORITY SECTION:
haha.mytest.com. 86400 IN NS ns2.haha.mytest.com.
;; ADDITIONAL SECTION:
ns2.haha.mytest.com. 86400 IN A 192.168.29.110
可以看到,已经可以成功解析
部署DNS服务的更多相关文章
- DNS解析原理与Bind部署DNS服务
DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...
- CentOS6.7搭建部署DNS服务 (详解主配置文件)
-DNS服务器的基本原理 域名简介:使用tcp/udp协议,默认使用53端口号 默认情况下,客户端发起的查询请求都是用UDP/53查询的. 默认情况下,从从服务器到主服务器传输数据用的是TCP/53. ...
- Linux_配置主DNS服务(基础)
[RHEL8]-DNSserver:[Centos7.4]-DNSclient !!!测试环境我们首关闭防火墙和selinux(DNSserver和DNSclient都需要) [root@localh ...
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- Linux下DNS服务(Bind9)之Web管理利器-NamedManager部署说明
NamedManager 是一个基于Web的DNS管理系统,可用来添加.调整和删除DNS的zones/records数据.它使用Bind作为底层DNS服务,提供一个现代Ajax的Web界面,支持 IP ...
- Kubernetes 部署集群内部DNS服务
Kubernetes 部署集群内部DNS服务 部署官网:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/ ...
- 二进制部署1.23.4版本k8s集群-2-安装DNS服务
2.安装DNS服务 为什么要安装bind9? K8S中,使用Ingress进行7层流量调度,需要使用域名,进行7层调度. 以前使用绑定host的方法,来进行域名和IP地址的解析. 在K8S里,没有好的 ...
- Liunx下配置DNS服务
当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...
- centos7 部署dns服务器
=============================================== 2017/12/6_第2次修改 ccb_warlock 20 ...
随机推荐
- Unity3d: 资源释放时存储空间不足引发的思考和遇到的问题
手机游戏第一次启动基本上都会做资源释放的操作,这个时候需要考虑存储空间是否足够,但是Unity没有自带获取设备存储空间大小的 接口,需要调用本地方法分别去android或ios获取,这样挺麻烦的.而且 ...
- lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3
前言: 前面几章已经很详细的讲解了如何创建索引器对索引进行增删查(没有更新操作).如何管理索引目录以及如何使用分词器,上一章讲解了如何生成索引字段和创建索引文档,并把创建的索引文档保存到索引目录,到这 ...
- Python处理Excel文件
因为工作需求,需要审核一部分query内容是否有效,query储存在Excel中,文本内容为页面的Title,而页面的URL以HyperLink的格式关联到每个Cell. 于是本能的想到用Python ...
- 跨域CORS
一.跨域CORS是什么 当一个资源从与该资源本身所在的服务器的域或端口不同的域或不同的端口请求一个资源时,浏览器会发起一个跨域 HTTP 请求.出于安全考虑,浏览器会限制从脚本内发起的跨域HTTP请求 ...
- 细说Nullable<T>类型
目录一.简介二.语法和用法三.类型的转换和运算四.装箱与拆箱五.GetType()方法六.ToString()方法七.System.Nullable帮助类八.语法糖 一.简介 众所周知,值类型变量不能 ...
- mongodb入门级的视频教程-简易客户管理系统制作
本套教程作为mongodb入门级的视频教程,首先讲解了mongodb的下载.安装,环境变量的设置.启动mongodb和将mongodb安装成为windows服务.然后进一步讲解了mongodb里面集合 ...
- SVN仓库迁移到Git遇到的两个问题和解决办法
OS: CentOS 7.0 准备: git svn git-svn sudo yum install git sudo yum install subversion sudo yum install ...
- RADIUS and IPv6[frc-3162译文]
如今项目中需要涉及到RADIUS及IPv6的使用,而网络中的资料相对较少,现对frc-3162进行中文翻译,分享出来. 由于英语水平有限,翻译不恰当的地方,还请提出,便于在下及时修改. 原文链接 这份 ...
- H3C交换机删除VLAN与其绑定端口配置
在系统视图下,执行 undo int vlan 2 undo vlan 2 可以删除vlan2的配置信息. 执行 undo vlan all 可以删除所有的vlan信息. 在vlan2视图下,执行: ...
- poj1083,基本互斥问题
题意:南北两侧各有200个房间,两侧房间之间有一个走廊 现在需要把桌子从这400个房间之中搬进搬出,每一张桌子需要10分钟时间,如果走廊因为有桌子搬运而占用,则需等待,求共需多少时间(分钟)将桌子搬完 ...