侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux架设DNS服务器(二)

linux  /  管理员 发布于 7年前   271

2. 安装服务器软件
  
  2.1 取得bind软件包(现在新的版本为8.2.2 p5)
  
  从bind的主页http://www.isc.org上取得最新stable版的三个文件:
  
  bind-contrib.tar.gz
  
  bind-doc.tar.gz
  
  bind-src.tar.gz
  
  或者从http://www.redhat.com上取得三个文件:
  
  bind-8.2.2-p5-9.i386.rpm
  
  bind-devel-8.2.2-p5-9.i386.rpm
  
  cache-nameserver-6.2-2.noarch.rpm
  
  2.2 安装bind软件包
  
  安装tar封装的软件包:
  
  先解压软件包
  
  tar zxpf bind-contrib.tar.gz
  
  tar zxpf bind-doc.tar.gz
  
  tar zxpf bind-src.tar.gz
  
  编辑修改Makefile.set 文件,增加或修改
  
  'DESTLIB=/usr/lib/bind/lib'
  
  'DESTINC='/usr/lib/bind/include'
  
  编译并安装
  
  make
  
  make install
  
  安装rpm封装的软件包:
  
  rpm -Uhv bind-8.2.2-p5-9.i386.rpm
  
  rpm -Uhv bind-devel-8.2.2-p5-9.i386.rpm
  
  rpm -Uhv cache-nameserver-6.2-2.noarch.rpm
  
  3.让服务器跑起来---基本篇
  
  3.1
  
  BIND可被配置成几种不同的运行方式,通用的BIND配置为纯解析器系统,纯缓存服务器,主服务器,辅服务器.
  
  解析器是指通过域名服务器查询域信息的程序代码,在unix系统中,它是以库例程的方式实现的,而并不是一个单独的客户程序.纯解析器系统很容易配置,只要设置一下/etc/resolv.conf文件.这种方式通常用于由于某些限制不能在本地运行域名服务器软件的系统中.
  
  例如:/etc/resolv.conf内容类似为:
  
  search test.com
  
  nameserver 127.0.0.1
  
  nameserver 172.16.0.1
  
  当配置解析器库以使用BIND名字服务进行主机查找,你也必须告知它使用哪个名字服务器。对此有一个独立的文件,称为resolv.conf。如果这个文件不存在或是空的,那么解析器就假设名字服务器在你本地的主机上。
  
  如果在你的本地主机上运行一个名字服务器,你必须单独地设置它。
  
  resolv.conf中最重要的选项是nameserver,它给出了要使用的名字服务器的IP地址。如果你通过几次给出nameserver选项指定了几个名字服务器,那么它们会以给出的顺序试用。因此,你应该首先给出最可靠的服务器。目前,至多支持三个名字服务器。
  
  如果没有给出nameserver选项,那么解析器试图连接本地主机上的名字服务器。
  
  其它两个选项,domain和search涉及到如果BIND不能用第一个请求解析主机名时附加在主机名上的缺省域。search选项指定了一个试用的域名列表。列表项是用空格或制表符分开的。
  
  如果没有给出search选项,就会通过使用域名本身从本地域名以及直至root的父域中建立一个搜寻列表。本地域名可以使用domain语句给出;如果一个也没有给出,那么解析器就通过系统调用getdomainname(2)来获取。
  
  3.2 其它三类配置方式是用于域名服务器的
  
  纯缓存服务器
  
  纯缓存服务器运行域名服务器软件,但并没有域名服务器数据库文件,它记录下每一个从远程域名服务器获得的数据,以回答将来对同一信息的查询.
  
  纯缓存服务器所需的三个基本配置文件:
  
  /etc/named.conf
  
  /var/named/named.ca
  
  /var/named/named.local
  
  创建或修改/etc/named.conf:
  
  // generated by named-bootconf.pl
  
  options {
  
  directory "/var/named";
  
  /*
  
  * If there is a firewall between you and nameservers you want
  
  * to talk to, you might need to uncomment the query-source
  
  * directive below. Previous versions of BIND always asked
  
  * questions using port 53, but BIND 8.1 uses an unprivileged
  
  * port by default.
  
  */
  
  // query-source address * port 53;
  
  forwarders {172.16.0.1;172.16.0.11;};
  
  };
  
  //
  
  // a caching only nameserver config
  
  //
  
  zone "." {
  
  type hint;
  
  file "named.ca";
  
  };
  
  zone "0.0.127.in-addr.arpa" {
  
  type master;
  
  file "named.local";
  
  };
  
  在文件中"forwarders {172.16.0.1;172.16.0.11;};"其中的IP地址是你网络中主服务器和辅服务器的IP地址.
  创建或修改/var/named/named.local
  
  @ IN SOA localhost. root.localhost. (
  
  1997022700 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expire
  
  86400 ) ; Minimum
  
  IN NS localhost.
  
  1 IN PTR localhost.
  
  创建或修改/var/named/named.ca:
  
  至于/var/named/named.ca就要从redhat linux光碟获得了.也用命令从互联网上获得:
  
  dig @.aroot-servers.net.ns > /var/named/named.ca
  
  如果是用rpm封装的软件包安装的话,这三个文件会自动生成,我们只需要修改/etc/named.conf.其中/var/named.ca一般是不用修改的.
  
  主服务器
  
  主服务器是给定域的所有信息的授权来源.它所装载的域信息来自于由域管理员所创建并在本地维护的磁盘文件.
  
  我们用"test.com"作为例子,我们需要五个基本配置文件:
  
  /etc/named.conf
  
  /var/named/named.ca
  
  /var/named/named.local
  
  /var/named/named.test.com
  
  /var/named/named.172.16.0
  
  创建或修改/etc/named.conf:
  
  // generated by named-bootconf.pl
  
  options {
  
  directory "/var/named";
  
  /*
  
  * If there is a firewall between you and nameservers you want
  
  * to talk to, you might need to uncomment the query-source
  
  * directive below. Previous versions of BIND always asked
  
  * questions using port 53, but BIND 8.1 uses an unprivileged
  
  * port by default.
  
  */
  
  // query-source address * port 53;
  
  };
  
  //
  
  // a PM nameserver config
  
  //
  
  zone "." {
  
  type hint;
  
  file "named.ca";
  
  };
  
  zone "0.0.127.in-addr.arpa" {
  
  type master;
  
  file "named.local";
  
  };
  
  //there are our primary zone files
  
  zone "test.com" {
  
  type master;
  
  file "named.test.com";
  
  };
  
  zone "0.16.172.in-addr.arpa" {
  
  type master;
  
  file "named.172.16.0";
  
  };
  
  文件中的zone "test.com"段是声明这是用于test.com域的主服务器,用于该域的数据从/var/named/named.test.com文件中装载.
  
  文件中的zone "0.16.172.in-addr.arpa"段是指向映射IP地址172.16.0.* 到主机名的文件.用于该域的数据从/var/named/named.172.16.0文件中装载.
  
  创建或修改/var/named/named.local
  
  @ IN SOA ns.test.com. root.ns.test.com. (
  
  2000051500 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expire
  
  86400 ) ; Minimum
  
  IN NS ns.test.com.
  
  1 IN PTR localhost.
  
  注意:在修改named.*文件时每次存盘时要注意增加Serial值.如使用绝对域名时千万别忘了后面带的"."
  
  资源记录中的@字符转变为当前的域test.com,IN表示资源记录使用TCP/IP地址,SOA表示管辖开始记录.ns.test.com. 是这个域的主DNS服务器的标准名称,在之后是联系的EMAIL地址,其中@字符必须用"."代替.
  
  创建或修改/var/named/named.test.com
  
  @ IN SOA ns.test.com. root.ns.test.com. (
  
  2000051500 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expire
  
  86400 ) ; Minimum
  
  IN NS ns.test.com.
  
  ns A 172.16.0.1
  
  ns2 A 172.16.0.11
  
  www A 172.16.0.2
  
  ftp CNAME www.test.com.
  
  mail A 172.16.0.3
  
  MX 10 mail.test.com.
  
  创建或修改/var/named/named.172.16.0
  
  @ IN SOA ns.test.com. root.ns.test.com. (
  
  2000051500 ; Serial
  
  28800 ; Refresh
  
  14400 ; Retry
  
  3600000 ; Expi


  • 上一条:
    Linux下各种服务器的架设详解
    下一条:
    Linux架设DNS服务器(一)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客