您好, 访客   登录/注册

基于Linux环境的企业DNS服务器的搭建

来源:用户上传      作者:

  摘 要 DNS服务器是实现IP地址和域名之间转换的服务器。在企业要上网访问网页,就必须搭建网站的服务器和域名解析的DNS服务器。主要讲解如何利用Red Hat 7.0来构建DNS服务器。
  关键词 Linux;DNS服务器;IP地址;互联网
  中图分类号:G712 文献标识码:B
  文章编号:1671-489X(2019)08-0036-04
  Construction of Enterprise DNS Server based on Linux Environ-
  ment//ZHAO Xiuli
  Abstract DNS server is a server that converts IP addresses and do-
  main names. In order to access web pages on the Internet, companies
  must build web site servers and DNS servers for domain name .This article mainly explains how to build DNS servers using Red hat 7.0.
  Key words Linux; DNS server; IP addresses; internet
  1 前言
  互联网新形势下,信息化程度越来越高,随着大数据、云计算、物联网和人工智能等新技术的不断涌现,网络已经成为企业办公不可缺少的工具,如何去构建一个安全、稳定、能够满足企业需求的DNS网络服务器,已经成为社会的焦点。Linux作为网络操作系统,较Window Server网络操作系统有更好的安全性和稳定性。本文主要讲如何利用Linux的Red Hat 7.0网络操作系统搭建DNS主从服务器。
  2 DNS服务器介绍
  相对于由数字构成的IP地址,域名更容易被理解和记忆,人们通常更习惯通过域名的方式来访问网络中的资源,但是网络中的计算机只能通过IP地址来识别对方身份。DNS实现IP地址和域名之间的转换,是互联网基础设施的重要环节,为网民提供不间断、稳定且快速的域名查询服务,保证互联网的正常运转。DNS协议运行在UDP协议之上,使用端口号53,主要有三种类型的服务器,分别是主服务器、从服务器和缓存服务器。其中主服务器是主要用于管理域名和IP地址对应关系的真正服务器;从服务器帮助主服务器“打下手”,分散部署在各个国家、省市或地区,以便让用户就近查询域名,从而减轻主服务器的压力;缓存服务器不太常用,一般部署在企业内网的网关位置,用于加速用户的域名查询请求。
  在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式。递归查询是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。迭代查询是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。但用户向网络指定的DNS发出域名请求时,通常情况不会由本地DNS服务器向上级DNS服务器发送迭代查询请求,而是本地DNS服务器没有要查询的结果,才会向上一级DNS服务器发送迭代请求,直到获得准确的查询结果。
  3 主DNS服务器搭建
  在中小型企业中一般只要搭建一个DNS服务器即可,要配置主DNS服务器,首先需要安装BIND服务,它是全球范围内使用最广泛、最安全且高效的域名解析服务程序。安装BIND服务需要用的命令是yum install bind。若是没有配置yum,需先配置yum文件。暗转yum源文件的命令是先创建挂载的目录mkdir /media/cdrom,再使用命令mount
  /dev/cdrom /media/cdrom把镜像文件挂载在这个目录下,最后是vi /etc/yum.repos.d/文件名.repo,這个文件名能随意起。添加如下几行配置参数:
  [文件名] //yum源的唯一标志,避免与其他仓库冲突
  Name= //yum软件仓库的名称描述
  Baseurl=file:///media/cdrom //提供方式
  Enabled=1 //设置此源是否可用,0为禁用,1为启用
  Gpgcheck=0 //设置此源是否校验文件,1为校验,0为不校验
  其次,编辑域名解析服务程序的主配置文件。在Linux系统中,BIND服务程序的名称为named。需要在超级用户下用vi /etc/named.conf命令编辑域名解析服务程序的主配置文件,修改listen-on port 53所在行的地址为any,
  即修改为listen-on port 53 {any;};,表示服务器上的所有IP地址均可提供DNS域名解析服务;修改allow-query
  所在行的地址为any,即修改为allow-query {any;};,表示允许所有人对本服务器发送DNS查询请求,修改完保存配置。这项修改完均使用ESC退出插入模式,使用:wq!保存修改。
  在企业中,用户输入域名后就能访问网页,这是使用了DNS正向解析的工作模式。域名解析中主要分正向解析和反向解析,正向解析是指根据域名查找到对应的IP地址,也就是当用户输入一个域名后,BIND服务程序会自动进行查找,并将匹配的IP地址返给用户,这是DNS最常用的工作模式。
  1)正向解析配置。要实现DNS的正向解析功能,需要编辑区域配置文件,使用的命令是vi /etc/named.rfc1912.   zones。这个文件中已经默认有了一些解析参数,目的是让用户有个参考。可以把自己要添加的参数添加到区域配置文件最下面,也可以将原有信息全部删除,添加自己的域名解析信息。具体添加如下配置参数:
  Zone “区域名称” IN { //lpszy.cn是区域名
  Type master; //master是指主DNS服务器
  File “正向解析的数据配置文件名”; //一般常用的格式是域名.zone
  Allow-updata { none; }; //定义允许哪些客户机动态更新解析信息
  Allow-tranfer {从DNS服务器的IP地址}; //如果有从DNS服务器,允许它同步DNS文件;如果只有一个DNS服务器,不需要这条命令
  };
  编辑了区域配置文件后,就需要编辑数据配置文件了。数据配置文件都保存在/var/named下。上面刚建立的数据配置文件是空的,需要复制一份正向解析的模板文件。具体操作如下:
  Cd /var/named
  Cp -a named.localhost正向解析的区域文件名 //-a参数可以保留原始文件的所有者、所属组、权限等属性
  接下来就是编辑数据配置文件,具体操作如下:
  Vi 正向解析的数据配置文件名
  $TTL 1D //生存周期为一天
  @ IN SOA区域名称. 域名管理员的邮箱地址. (
  0;serial //更新序列号
  1D;refresh //更新时间
  1H;retry //重试延时
  1W;expire //失效时间
  3H);minimum //无效解析记录的缓存时间
  NS ns.区域名称. //域名服务器的记录
  Ns IN A 域名服务器的IP地址 //域名服务器地址记录
  主机名 IN A 主机名对应的IP地址 //实现解析的地址记录,表示主机名和IP地址的对应关系
  2)反向解析的配置。编辑区域配置文件vi /etc/named.rfc1912.zones,添加如下配置参数:
  Zone “网络号.in-addr.arpa” IN {
  Type master ; //master是指主DNS服务器
  File “反向解析的数据配置文件名”; //一般常用的格式是网络号.zone
  Allow-updata { none; }; //定义允许哪些客户机动态更新解析信息
  Allow-tranfer {从DNS服务器的IP地址}; //如果有从DNS服务器,允许它同步DNS文件;如果只有一个DNS服务器,不需要这条命令
  };
  Cd /var/named
  Cp -a named.loopback 反向解析的区域文件名 //-a参数可以保留原始文件的所有者、所属组、权限等属性
  编辑数据配置文件:
  Vi 反向解析的数据配置文件名
  $TTL 1D //生存周期为一天
  @ IN SOA区域名称. 域名管理员的邮箱地址. (
  0;serial //更新序列号
  1D;refresh //更新时间
  1H;retry //重试延时
  1W;expire //失效时间
  3H);minimum //无效解析记录的缓存时间
  NS ns.区域名称. //域名服务器的记录
  Ns A 域名服务器的IP地址 //域名服务器地址记录
  主机号 RTP 主机名.域名对应的IP地址 //指针记录,表示IP地址和主机名的对应关系
  退出保存后要重启服务器,所用的命令是systemctl restart named。把Linux系統网卡中的DNS地址参数修改成本机的IP地址,就能够进行域名解析了。
  4 部署从DNS服务器
  从DNS服务器从主DNS服务器上获取指定的区域数据文件,起到备份解析记录和负载均衡的作用。作为重要的互联网基础设施服务,保证DNS域名解析服务的正常运转十分重要,在大企业中一般都部署从DNS服务器,这样才能提供稳定、快速且不间断的域名查询服务。
  从DNS服务器的搭建一般分为三步。
  第一步:安装BIND程序。
  第二步:编辑区域配置文件。具体操作如下:
  Vi /etc/named.rfc1912.zones
  Zone “ 区域名称 “ IN {
  Type slave ; //slave是指从DNS服务器
  Masters {主DNS服务器的IP地址};
  File “slaves/lpszy.com.zone”; //把从主DNS拷贝过来的数据配置文件放在/var/named/slaves下
  Materfile-format text; //防止拷贝过来的文件是乱码
  };
  Zone “ 网络号.in-addr.arpa “ IN {
  Type slave; //slave是指从DNS服务器
  Masters {主DNS服务器的IP地址};
  File “slaves/反向解析的数据配置文件名”; //把从主DNS拷贝过来的数据配置文件放在/var/named/slaves下
  Materfile-format text; //防止拷贝过来的文件是乱码   };
  第三步:退出保存后重启服务器,这样从DNS服务器就能正常工作了。
  5 主从DNS服务器在企业中应用的配置案例
  某企业要架设两台DNS服务器,一台为主DNS,一台为从DNS,负责lpszy.com域的域名解析工作。主DNS服务器的IP地址为192.168.20.10,从DNS服务器的IP地址为192.168.20.20。要求为企业以下域名实现正反向域名解析服务:
  1)企业财务部所在的网址是cwb.lpszy.com,对应的IP地址是192.168.20.10;
  2)企业技术部所在的网址是jsb.lpszy.com,对应的IP地址是192.168.20.20;
  3)企业销售部所在的网址是xsb.lpszy.com,对应的IP地址是192.168.20.30。
  分析本企业需求是构建主从DNS服务器,下面分别搭建主从DNS服务器。
  1)主DNS服务器。
  ①安装BIND程序:
  Yum install bind
  ②编辑主配置文件。修改以下两个参数:
  Vi /etc/named.conf
  listen-on port 53 {any;};
  allow-query {any;}
  ③编辑区域配置文件:
  Vi /etc/named.rfc1912.zones
  Zone “lpszy.com” IN {
  Type master ;
  File “lpszy.com.zone”;
  Allow-updata { none; };
  Allow-tranfer {192.168.20.20};
  Zone “20.168.192.in-addr.arpa” IN {
  Type master ;
  File “192.168.10.zone”;
  Allow-updata { none; };
  Allow-tranfer {192.168.20.20};
  };
  ④编辑数据配置文件。
  正向解析配置:
  Cd /var/named
  Cp -a named.localhost lpszy.com.zone
  Vi lpszy.com.zone
  $TTL 1D
  @ IN SOA lpszy.com. root.lpszy.com. (
  0;serial
  1D;refresh
  1H;retry
  1W;expire
  3H);minimum
  NS ns.lspzy.com.
  Ns IN A 192.168.20.10
  cwb IN A 192.168.20.10
  jsb IN A 192.168.20.20
  xsb IN A 192.168.20.30
  反向解析配置:
  Cd /var/named
  Cp -a named.loopback 192.168.10.zone
  Vi 192.168.10.zone
  $TTL 1D
  @ IN SOA lpszy.com. root.lpszy.com. (
  0;serial
  1D;refresh
  1H;retry
  1W;expire
  3H);minimum
  NS ns.lspzy.com.
  Ns A 192.168.20.10
  10 PTR cwb.lpszy.com
  20 PTR jsb.lpszy.com
  30 PTR xsb.lpszy.com
  ⑤重啟服务器systemctl restart named,检验是否能够实现域名解析工作,如能实现,则主DNS服务器就搭建好了。
  2)搭建从DNS服务器。
  ①安装BIND程序:
  Yum install bind
  ②编辑区域配置文件:
  Vi /etc/named.rfc1912.zones
  Zone “lpszy.com” IN {
  Type slave ;
  Masters {192.168.20.10};
  File “slaves/lpszy.com.zone”;
  Masterfile-format text;
  };
  Zone “20.168.192.in-addr.arpa” IN {
  Type master ;
  Masters {192.168.20.10};
  File “slaves/192.168.10.zone”;
  Masterfile-format text;
  };
  ③重启服务器systemctl restart named,检验是否可以正常工作,如能正常工作,则从DNS服务器就搭建好了。
  6 企业中主从DNS搭建应注意的问题
  在有从DNS服务器的主DNS服务器搭建中,一定要保证主从DNS服务器能够相互ping通,在编辑区域配置文件时一定要加allow-transfer{从DNS服务器IP地址},使从DNS能够同步主DNS文件,否则从DNS得不到主DNS的数据配置文件,不能完成解析工作。
  在从DNS搭建中,在编辑数据配置文件中一定要加Materfile-format text;,防止拷贝过来的文件是乱码。在主DNS数据配置文件的编辑中,地址记录格式是:主机名(Tab键)+IN(空格)+A(Tab键)+IP地址。在从DNS数据配置文件的编辑中,指针记录格式是:主机号(Tab键)+IN(空格)+A(Tab键)+域名。
  参考文献
  [1]惠嘉荣,胡曦明.DNS查询原理与实验[J].电脑知识与技术,2017(16):33-34,40.
  [2]杨龙.DNS服务器浅谈[J].电脑知识与技术,2017(21):38-39.
  项目来源:贵州省质量提升工程省级在线精品课程“Linux网络系统与服务配置”。
  作者:赵秀丽,六盘水职业技术学院,讲师,研究方向为计算机网络(553000)。
转载注明来源:https://www.xzbu.com/9/view-15036012.htm