安装配置DNS服务器主服务器(1)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

 

在一台 linux 服务器上安装配置 DNS 服务器
第一部分:了解DNS
1.BIND 软件介绍
    BIND最新的版本我们可通过官方站点( https://www.isc.org/)中下载到。在RHEL5系统中,与BIND域名服务相关的几个主要软件包和作用如下:
Bind——提供了域名服务的主要程序及相关文件
Bind-utils——提供了对 DNS服务器的测试工具程序(如nslookup、dig等)
Bind-chroot——为 bind提供一个伪装的根目录以增强安全性
Caching-nameserver——为配置 BIND作为缓存域名服务器提供必要的默认配置文件
2.BIND 服务控制
BIND软件包安装完毕以后,提供的主程序默认位于“ /usr/sbin/named”,系统中会自动增加一个名为 named的系统服务,通过脚本文件“/etc/init.d/named”或service命令都可以控制域名服务的运行。下面是常用的关于DNS服务的命令:

  
  
  1. 启动服务:/etc/init.d/named start或service named start  
  2. 重新加载:service named reload  
  3. 停止服务:service named restart  
  4. 查看状态:service named status  
3.BIND 的主配置文件
Named服务的主配置文件为 named.conf,一般位于“/etc/”目录中,如果使用了bind-chroot功能,则可能位“/var/named/chroot/etc/”目录中
下面是全局配置部分最常见的配置项及其注解:

  
  
  1. options {  
  2. listen-on port 53 { 1.1.1.1; }; //设置named服务监听的端口及IP地址  
  3. directory "/var/named"; //设置区域数据库文件的默认存放位置  
  4. allow-query { 192.168.1.0/24; 172.16.16.0/24; }; //允许DNS查询的客户端  
  5. recursion yes; //设置允许递归查询  
  6. dump-file "/var/named/data/cache_dump.db"; //设置缓存数据库文件位置  
  7. statistics-file "/var/named/data/named_stats.txt"; //设置状态统计文件位置  
  8. };  
在以上配置内容中,除了 directory项通常保留以外,其他的配置项都可以省略,若不指定listen-on配置项,named默认在所有可用的IP地址上监听服务。服务器处理客户端的DNS解析请求时,如果在named.conf文件中找不到相匹配的区域,将会向根域服务器或者由forwarders项指定的其他DNS服务器提交查询。
 
以下是区域配置部分常见的配置项:

  
  
  1. zone "." IN { //设置根区域  
  2. type hint; //设置区域类型(hint表示根域、masters表示主域、slave表示从域)  
  3. file "named.ca"; //设置对应的根域地址数据库文件  
  4. };  
  5.    
  6. zone "doubao.com" IN { //设置正向DNS区域  
  7. type master;   
  8. file "doubao.zone"; //设置对应的正向区域地址数据库文件  
  9. allow-transfer { 200.200.200.1; }; //设置允许下载区域数据库信息的从名服务器  
  10. allow-update { none; }; //设置允许动态更新的客户端地址(none为禁止)  
  11. };  
  12. zone "1.168.192.in-addr.arpa" IN { //设置反向DNS区域名称  
  13. type master;  
  14. file "192.168.1.arpa"; //设置对应的反向区域地址数据库文件  
  15. };  
在以上配置中,需要注意的地方如下:
每个 zone区域都是可选的,具体根据实际需要而定;
zone配置部分的“ IN”关键字可以省略;
反向区域的名称由倒序的网络地址和“ .in-addr.arpa”组合而成,例如对于192.168.1.0/24网段,其反向域名为“1.168.192.in-addr.arpa”;
区域设置中的一部分配置内容(如 allow-transfer、allow-update等)也可发放在全局配置中。
4. 区域数据库配置文件
区域数据库配置文件位于“ /var/named/”目录中,如果使用了bind-chroot功能,则可能位于“/var/named/chroot/var/named”目录中。
全局 TTL配置项及SOA记录

  
  
  1. $TTL 600  
  2. @ IN SOA doubao.com. admin.doubao.com. ( //设置SOA标记、域名、域管理邮箱  
  3. 1997022700 ; Serial //更新序列号,用于标记地址数据库的变化  
  4. 28800 ; Refresh //刷新时间,从域名服务器更新该地址数据库文件的间隔时间  
  5. 14400 ; Retry //重试延时,是刷新时间的补充  
  6. 3600000 ; Expire //失效时间,超过此时间仍无法更新,则放弃  
  7. 86400 ) ; Minimum //设置无效地址解析记录的默认缓存时间  
  8. @    IN NS   ns1.doubao.com.  
  9. IN   MX 10   mail.zpp.com.  
  10. ns1 IN A   172.16.16.1  
  11. mail IN A   172.16.16.1  
  12. www IN A   172.16.16.1  
  13. ftp IN      CNAME www  
在上述配置项中,时间参数的默认单位为秒,也可以使用以下单位: M(分)、H(时)、W(周)、D(天);从域名服务器根据更新序列号决定是否需要重新下载地址数据库,如果发现序列号与上一次的相同,则不会下载地址数据库,文件中的@表示当前的DNS区域名,相当于“zpp.com”,“ admin.zpp.com.”表示管理员的电子邮件地址(由于“@”符号已有其他含义,因此将邮件地址中的“@”用“.”代替。
从上面可以看到在区域数据配置文件中有以下几种常用的地址解析记录:
NS域名服务器 (name server)记录,用于设置当前域的DNS服务器的域名地址。
MX邮件交换( Mail Exchange)记录,用于设置当前域的邮件服务器域名地址。
CNAME别名( Canonical Name)记录,用于设置别名
5. 地址数据库文件的特殊应用
1>.基于 DNS解析的负载均衡
当同一个域名对应有多个不同 IP地址的服务器时,可以通过DNS区域数据库文件实现简单的轮询负载均衡,只需要在地址数据库中添加相应的多条A记录即可。
2>.泛域名解析
当同一个 IP地址的服务器对应有相同域内大量不同的域名时(如:51cto的博客域名解析服务),可以通过DNS区域数据文件使用泛域名解析,只需要添加一条主机地址为“*”的A地址记录即可(作用类似于通配符)。
例如51cto博客使用同一台Web服务器提供虚拟主机服务,IP地址为173.16.16.173,对应的各虚拟主机名均属于51cto.com域,如2009.blog.51cto、xxx..blog.51cto等,在DNS区域“51cto.com”的地址数据库最后一行可添加如下图的泛域名解析记录。

* IN A 192.168.1.1

 
3>.子域授权(或委派)
DNS区域内层次较多,域名数量巨大时,就可以使用子域授权,将某个子域内各域名的解析工作交给另外一台服务器来完成。
例如:DNS区域“.doubao.com”的地址数据库文件中设置子域授权,将“abc.doubao.com”子域授权给abc公司的DNS服务器(IP地址为192.168.1.1)如下面的设置即可.
 
好了,在进行了上述的了解后,我们来进行下列的实验:
实验部分:
1、          规划
我们假设在互联网上创建了主机为 doubao.com;IP地址网段为172.16.111.0/24这个网段;

  
  
  1. ns    172.16.111.1   //ns服务器的地址  
  2. www   172.16.111.1,172.16.111.3  
  3. mail 172.16.111.2   //邮件服务器  
  4. ftp   www           //ftp为www的别名  
1、 BIND 的安装:
首先要注意的是当用 yum list all | grep “^bind”时,要注意安装的 bind版本需要一致
 

由于我的 bind已经安装好,我大致说下需要的步骤(涉及到卸载以前的版本这里不再去进行安装)rpm –e bin-libs bin-utils //卸载以前的旧版本
yum install bind97-libs bind97-utils //安装 libs和utils 其中的libs文件是bind需要依赖的库文件,安装时要一同安装:

  
  
  1. yum install bin97 –y //安装bind97  
  2.  
  3.  
  4. rpm –ql bin97-utils //可以查看一下utils包给我们提供的工具,其中的前四个是客户端非常重要的命令行工具,  
       

dig //到域名服务器中查找其相关信息
           -t 指定资源记录类型并指明通过哪个服务器来查询能得到很多
2 、配置相关的文件
 配置 named.conf文件

  
  
  1. mv /etc/named.conf /etc/named.conf.org //备份下原来的文件,  
  2. vim /etc/named.conf //配置自己的named.conf  
  3.  options {              //注意花括号前要有空格  
  4.            directory “/var/named”; //每个语句后边都要有分号  
  5.  };  
  6.  zone “.” IN {          //定义根  
  7.               type hint;  
  8.               file “named.ca”  
  9.  };  
  10.  zone “localhost” IN {       //定义正向DNS区域  
  11.                   type hint;  
  12.                   file “named.localhost”;  
  13.  };  
  14.  zone “0.0.127.in-addr.arpa” IN { //定义反向DNS区域  
  15.                      type master;  
  16.                      file “named.loopbak;  
  17.  };   
  18.     :wq  //保存退出
  注意:基本上这样一个文件就定义好缓存服务器的配置了!
接下来我们来改变其属组属主和其文件权限

  
  
  1. chown root:named /etc/named.conf  
  2. chmod 640 /etc/named.conf  
  3. named-checkconf   //检查语法错误  
  4. named-checkzone ‘.’ /var/named/named.ca //检查zone配置  
  5. named-checkzone ‘localhost’ /var/named/named. localhost  
  6. named-checkzone ‘0.0.127.in-addr.arpa’ /var/named/named.loopback  
这个时候,先确定下 SELnux是否在启动中,如启动了得现将其关闭:
getenforce
Enforcing //开启状态  Permissive//关闭状态
setenforce 0 //关闭  //临时关闭
setenforce 1 //开启
“久生效
# vim /etc/selinux/config
将其中的 SELINUX=enforcing替换为SELINUX=permissive,替换后不会立即生效”
service network restart    //重启网络服务
 

然后用 netstat来查看DNS服务是否真的启动起来了:
下图可以看到其 53号端口已经打开
 

然后编辑 /etc/resolv.conf文件,将其ip地址改为172.16.111.1
这个时候,一个 DNS的缓存服务器已经创建好了!

3 、创建互联网服务器
 2步骤中,我们已经创建好了一个DNS缓存服务器,根据我们刚准备创建的doubao.com。我们来进行下面的操作
 我们来编辑/etc/named.conf追加新的区域:

  
  
  1. zone "doubao.com" IN { //正向解析  
  2.         type master;  
  3.         file "doubao.com.zone";  
  4. };  
  5. zone "111.16.172.in-addr.arpa" IN { //反向解析  
  6.         type master;  
  7.         file "172.16.111.zone";  
  8. };  
因为两个zone的文件还没有创建,所以我们要到var/named/下创建两个文件
cd /var/named
vim doubao.com.zone
 

  
  
  1. $TTL 600 /定义TTL值,以便后边简写  
  2.          
  3. doubao.com.    IN               SOA      ns1.doubao.com.        admin.doubao.com.  
  4.                                                         20120401  
  5.                                                         1H  
  6.                                                         5M  
  7.                                                         2D  
  8.                                                         6H)  
  9. doubao.com.    IN    NS     ns1.doubao.com  
  10. MX                      IN          MX 10 mail.doubao.com.  
  11. ns1                       IN          A           172.16.111.1  
  12. mail                    IN          A           172.16.111.2  
  13. www                   IN          A           172.16.111.1  
  14. www                   IN          A           172.16.111.3  
  15. ftp                       IN          CNAME      www  
 
出来改其权限属组

  
  
  1. chmod 640 doubao.com.zone  
  2. chown root:named doubao.com.zone  
  3. named-checkzone “doubao.com” /var/named/doubao.com.zone  
  4.    
  5. vim 172.16.111.zone  
  6.    
  7. $TTL 600  
  8. @ IN   SOA     ns1.doubao.com.        admin.doubao.com. (  
  9.                             2013040101  
  10.                             1H  
  11.                             5M  
  12.                             2D  
  13.                             6H )  
  14.    
  15. @   IN   NS ns1.doubao.com.          
  16. 1     IN   PTR       ns1.doubao.com.  
  17. 1     IN   PTR       www.doubao.com.  
  18. 2     IN   PTR       mail.doubao.com.  
  19. 3     IN   PTR       www.doubao.com.  
  20.    
  21. 出来改其权限属组  
  22. chmod 640 172.16.111.zone  
  23. chown root:named 172.16.111.zone  
  24. named-checkzone “doubao.com” /var/named/172.16.111.zone  
 
到这里,我们已经创建好了。所以此刻我们可以重启网络服务了!
 
sercive network restart
 
然后可以dig查看或者nslookup查看
 

 

 

 

 










本文转自 陈延宗 51CTO博客,原文链接:http://blog.51cto.com/407711169/1170978,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
172 61
|
26天前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
30天前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
78 4
|
1月前
|
域名解析 弹性计算 安全
阿里云服务器租用、注册域名、备案及域名解析完整流程参考(图文教程)
对于很多初次建站的用户来说,选购云服务器和注册应及备案和域名解析步骤必须了解的,目前轻量云服务器2核2G68元一年,2核4G4M服务器298元一年,域名注册方面,阿里云推出域名1元购买活动,新用户注册com和cn域名2年首年仅需0元,xyz和top等域名首年仅需1元。对于建站的用户来说,购买完云服务器并注册好域名之后,下一步还需要操作备案和域名绑定。本文为大家展示阿里云服务器的购买流程,域名注册、绑定以及备案的完整流程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
57 2
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
存储 监控 调度
云服务器成本优化深度解析与实战案例
本文深入探讨了云服务器成本优化的策略与实践,涵盖基本原则、具体策略及案例分析。基本原则包括以实际需求为导向、动态调整资源、成本控制为核心。具体策略涉及选择合适计费模式、优化资源配置、存储与网络配置、实施资源监控与审计、应用性能优化、利用优惠政策及考虑多云策略。文章还通过电商、制造企业和初创团队的实际案例,展示了云服务器成本优化的有效性,最后展望了未来的发展趋势,包括智能化优化、多云管理和绿色节能。
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
78 6
|
2月前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
2月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
499 2

相关产品

  • 云解析DNS
  • 推荐镜像

    更多