Linux下使用 bind搭建DNS主从服务器

简介: <div class="article_title" style="font-family:'Microsoft YaHei'; font-size:20px; line-height:30px; margin:5px 0px"> <span class="ico ico_type_Original" style="display:inline-block; width:19px; he

假设公司A在万网a.org上注册了一个域名net.cn, 现在不想使用万网的DNS服务器,而是自己要建立两个DNS服务器,一个是主服务器,一个是从服务器
,现有两台机器: ns1.a.org  ,   ns2.a.org   我们如何配置这两台主机成为DNS服务器?



首先,这个公司A内部有如下需求:
1.公司有一个mail服务器,需要被解析   mail.a.org
2.公司有一个ftp服务器,需要被解析   ftp.a.org
3.还有自己的域名和bbs等



好了,根据如上需求我们来配置这两台服务器。


0 .在两台主机上要安装好bind服务器端,否则无法继续下去。
[cpp]  view plain copy
  1. yum install bind  

1.去万网a.org后台的管理页面上,将两台DNS服务器的地址改成自己的主机名字,改为:  (这一步在学习时省略)
ns1.a.org
ns2.a.org


2.为了保证公司的网络地址可以被正常的解析到,我们配置ns1为主服务器,ns2为从服务器,假如ns1的地址为172.16.100.1,ns2的从服务器为172.16.100.2

1)登录到172.16.100.1 即主机:ns1.a.org,编辑它的dns主配置文件,定义工作目录,添加两个区域,一个正向解析,一个反向解析
[cpp]  view plain copy
  1. # vim /etc/named.conf  
  2. # 正向  
  3. option {  
  4. directory "/var/named";  
  5. };  
  6. zone "a.org" IN {                                                # 声明复制a.org这个域  
  7. type master;                                         # 类型:主  
  8. file "a.org.zone";                                  # 解析文件  
  9. };  
  10. # 反向  
  11. zone "16.172.in-addr.arpa" IN {  
  12.         type master;  
  13.         file "172.16.zone";                 
  14. };  
  15.   
  16. # 在建立反向的时候,反向输入ip(因为它是反向解析的),例如 1.100.10.172,下面会用到  

2)配置正向解析文件a.org
[cpp]  view plain copy
  1. cd /var/named  
  2. vim a.org  
  3. $TTL 1200  
  4. @           IN           SOA            ns1.a.org.             admin.a.org.          (                # SOA字段  
  5.                                                            2011081601                                                 # 版本号    同步一次  +1  
  6.                                                            1H                                                                   # 更新时间  
  7.                                                            10MM                                                              # 更新失败,重试更新时间  
  8.                                                            7D                                                                    # 更新失败多长时间后此DNS失效时间  
  9.                                                            1D )                                                               # 解析不到请求不予回复时间  
  10.                      IN                                NS               ns1.a.org.  
  11.                      IN                                NS               ns2.a.org.  
  12.                      IN                                MX     10        mail.a.org.                                # 10指优先级  0-99 数字越小优先级越高  
  13. ns1.a.org.     IN                              A                 172.16.100.1  
  14. ns2.a.org.     IN                              A                 172.16.100.2  
  15. mail.a.org.    IN                              A                 172.16.100.1  
  16. bbs.a.org.     IN                              CNAME             www.a.org.  
  17.   
  18. # 该文件只有改了了属组才生效!!!!!!!!  
  19. chomd :named a.org.zon  
  20. service named reload  


3)配置反向解析,反向解析不去要MX , A ,和CNAME字段,它一般使用PRT

[cpp]  view plain copy
  1. vim 172.16.org  
  2.   
  3. $TTL 1200  
  4. @       IN      SOA     ns1.a.org.      admin.a.org. (  
  5.                                 2011081601  
  6.                                 1H  
  7.                                 10M  
  8.                                 7D  
  9.                                 1D )  
  10.                 IN              NS      ns1.a.org.  
  11.                 IN              NS      ns2.a.org.  
  12. 1.100           IN              PTR     ns1.a.org.  
  13. 2.100           IN              PTR     ns2.a.org.  
  14. 1.100           IN              PTR     mail.a.org.  
  15. 3.100           IN              PTR     www.a.org.  
  16. 100.100         IN              PTR     ftp.a.org.  
  17. # 声明域的时候已经有了,172.16 所以我们只需要输入1.100既代表172.16.1.100  
  18. chomd :named 172.16.org  
  19. service named reload  

4)启动服务,使用dig命令来测试是否能够正常解析(先修改自己的DNS服务器地址,在最后补充里)

[cpp]  view plain copy
  1. service named start  
  2. dig -t A www.a.ort  
  3. dig -t PTR 172.16.100.1  


5)配置另外一台DNS服务器为从服务器,编辑它的主配置文件,内容如下:

[cpp]  view plain copy
  1. vim /etc/named  
  2. option {  
  3. directory "/var/named/slaves";                                     
  4. };  
  5. zone "a.org" IN {                         
  6. type slave;                                                                  # 类型为从  
  7. masters { 172.16.100.1 };                                       # 主服务器的地址,通过它来同步解析文件  
  8. file "a.org.zone";  
  9. };  
  10. # 反向  
  11. zone "16.172.in-addr.arpa" IN {  
  12.         type slave;  
  13.         masters { 172.16.100.1 };  
  14.         file "172.16.zone";                 
  15. };  


6)重启服务,看解析文件是否同步:

[cpp]  view plain copy
  1. service named restart  
  2. ls /var/named/slaves  



补充:

1.在配置DNS时,其实应当先声明一个根域".",用来解析外网域名,方法如下:

编辑主配置文件,声明根域

[cpp]  view plain copy
  1. vim /etc/named  
  2. zone "." {  
  3. type hint;  
  4. file "named.ca"  
  5. };  
  6. #保存退出,利用dig命令生成根域文件  
  7. dig -t NS ca > /var/named/named.ca  


2.修改Linux主机dns服务器地址方法:

[cpp]  view plain copy
  1. vim /etc/resolv.conf  
  2. nameserver 172.16.100.1                     # 只需要留这一行,ip是你想要设的dns服务器地址  



参考:
http://blog.csdn.net/deansrk/article/details/6693527


目录
相关文章
|
8月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
10月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1712 21
|
9月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
871 13
|
9月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
2997 0
|
9月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
880 0
|
10月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
409 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
7月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
813 1
二、Linux文本处理与文件操作核心命令
|
7月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
472 137
|
7月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1278 59
|
6月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1159 2

相关产品

  • 云解析DNS
  • 下一篇
    开通oss服务