欢迎大家留言 ,有什么好的建议都可以说

我这个文章那里做的不到位,希望大家给予意见

   我们共同进步。谢谢大家。

DNS服务器

DNS是Domain Name System,它能够把形如www.lampmaster.cn本站域名转换为219.136.249.93这样的IP地址;没有DNS,浏览www.lampmaster.cn时,就必须用219.136.249.93这么难记的数字来访问。提供DNS服务的就是DNS服务器。

DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。

DNS作用:

正向解析:将域名转换成对应的ip地址

反向解析:将ip地址转换成对应的域名

域名解析过程

一次递归多次迭代

DNS使用端口 :

TCP    53

UDP    53

NDS的配置文件:

/var/named/chroot/etc/named.conf                       # 主配置文件

/var/named/chroot/var/named                           # 区域文件目录

/var/named/zonefile #数据文件

/usr/share/doc/bind*/sample/ #模版文件

/var/log/messages #日志文件

/var/named/chroot/etc/named.caching-nameserver.conf     # 模板

named.conf 配置解析:

-  type    :类型

-  hint    :根区域

-  master  :主区域

-  slave   :从区域

-  forward :转发区域

DNS解析的作用:

正向解析:

-  根据主机名称(域名)查找其对应的IP地址

-  这是最基本,最常用的功能

反向解析:

-  根据IP地址查找其对应的主机名称(域名)

-  反垃圾邮件/安全防护等领域使用

DNS分布式结构:

DNS解析过程:

DNS主配置文件内容解说如下:

[root@localhost ~]#  vim /var/named/chroot/etc/named.conf

//

// named.caching-nameserver.conf

//

// Provided by Red Hat caching-nameserver package to configure the

// ISC BIND named(8) DNS server as a caching only nameserver

// (as a localhost DNS resolver only).

//

// See/usr/share/doc/bind*/sample/ for example named configuration files.

// 上面这行是告诉我们模板在那里。

// DO NOT EDIT THIS FILE - use system-config-bind or an editor

// to create named.conf - edits to this file will be lost on

// caching-nameserver package upgrade.

//

options {

listen-on port 53 { 127.0.0.1; };

listen-on-v6 port 53 { ::1; };

directory       "/var/named";

dump-file       "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

// Those options should be used carefully because they disable port

// randomization

// query-source    port 53;

// query-source-v6 port 53;

allow-query     { localhost; };

allow-query-cache { localhost; };

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

view localhost_resolver {

match-clients      { localhost; };

match-destinations { localhost; };

recursion yes;

include "/etc/named.rfc1912.zones";

};

全局配置文件解释:

options            :用于指定BIND服务的参数,

listen-on port    :指定BIND侦听的DNS查询请求的本机IP地址及端口。

listen-on-v6 port  :指定BIND侦听的DNS查询请求的本机IP地址及端口,只是用与IPv6.。

directory          :指定区域配置文件所在的路径,默认是“/var/named”如果是使用了“chroot”该路径会是一个相对的路径,“/var/named/chroot/var/named”

dump-file          :  当执行 rndc dumpdb 命令时, DNS服务器存放数据库文件的路径名。

statistics-file    : 当执行 rndc stats 命令时,服务器会将统计信息追加到的文件路径名。

memstatistics-file : DNS服务器输出的内存使用统计文件的路径名。

query-source port  :指定客户端提交 DNS 查询时必须使用的源端口。

allow-query        : 指定接受 DNS 查询请求的客户端。

logging           : 用于指定BIND服务的日志参数

view              : 用于指定主配置文件存放路径及名称。

match-clients      :指定提交DNS客户端的源IP地址范围。

match-destinations : 指定提交DNS客户端的目标IP地址范围。

recursion          : 指定 DNS 客户端是否提交递归查询。

include           : 指定主配置文件

[root@localhost ~]#   vim  /var/named/chroot/etc/named.rfc1912.zones

// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

//

// See /usr/share/doc/bind*/sample/ for example named configuration files. # 这个是告诉我们模板的位置。

//

zone "." IN {                              # 定义根域

typehint;                         # 类型hint

file "named.ca";                   # 根域信息在named.ca

};

zone "localdomain" IN {

type master;

file "localdomain.zone";

allow-update { none; };

};

zone "localhost" IN {                       # 本地正解定义

type master;                        # 类型为master

file "localhost.zone";              # 正解文件名

allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {            #  本地反解定义

type master;                        #  类型为master

file "named.local";                 #  反解文件名

allow-update { none; };

};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

type master;

file "named.ip6.local";

allow-update { none; };

};

zone "255.in-addr.arpa" IN {

type master;

file "named.broadcast";

allow-update { none; };

};

zone "0.in-addr.arpa" IN {

type master;

file "named.zero";

allow-update { none; };

};

DNS区域配置文件:

-   $TTL (Time Live 生存时间)

-    SOA  (Start Of Authority,授权信息开始)

-    分号“.”开始的部分表示注释

1)正向解析格式:

[root@localhost ~]#  cd /var/named/chroot/var/named/

[root@localhost ~]#  vim  localdomain.zone

$TTL    86400                                                       # 有效记录的生存周期

@              IN SOA  localhost root (

42  ; serial (d. adams)    # 更新序号

3H  ; refresh              # 刷新时间

15M ; retry                # 重试间隔

1W   ; expiry               # 失效时间

1D ) ; minimum              # 无效记录的生存周期

IN NS           localhost

localhost       IN A            127.0.0.1

注释:

NS: 代表域名服务器(Name Server)记录

A  : 代表地址(Address)记录,用在正向解析区域

2)反向解析格式:

[root@localhost ~]#  cd  /var/named/chroot/var/named/

[root@localhost ~]#  vim   named.local

$TTL    86400                                                     # 有效记录的生存周期

@             IN SOA  localhost root (

42   ; serial (d. adams)    # 更新序号

3H  ; refresh              # 刷新时间

15M  ; retry                # 重试间隔

1W  ; expiry               # 失效时间

1D) ; minimum              # 无效记录的生存周期

IN      NS      localhost.

1       IN      PTR     localhost.

注释:

PTR:代表指针(Point)记录,用在反向解析区域,第一列指定IP地址中的主机地址部分即可。

泛域名解析:

$ : 代表变量。

$GENERATE  1-200  station$  IN  A  192.168.4.$

$GENERATE  1-200  $  IN  PTR   station$.baidu.com

$GENERATE        #  函数

1-200            #  要循环的变量

station$#  主机名

192.168.4.$#  对应的IP地址

linux dns函数,Linux DNS (1)的基本概念相关推荐

  1. linux receive函数,Linux网络 - 数据包的接收过程

    的方式写入到指定的内存地址,该地址由网卡驱动分配并初始化.注: 老的网卡可能不支持DMA,不过新的网卡一般都支持. 3: 网卡通过硬件中断(IRQ)通知CPU,告诉它有数据来了 4: CPU根据中断表 ...

  2. linux线程调度函数,Linux调度策略及线程优先级设置

    Linux内核的三种调度策略: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务.一旦占用cpu则一直运行.一直运行直到有更高优先级任务到达或自己放弃 3, ...

  3. linux sysconf函数,linux c sysconf函数 得到系统配置

    函数原型: NAME sysconf - Get configuration information at runtime SYNOPSIS #include long sysconf(int nam ...

  4. linux blind函数,Linux网络编程入门

    上一节创建socket时,仅指定了协议类型以及服务类型,但是没有指定具体的socket地址. bind函数含义如词义,给上述创建的套接字socket绑定一个socket地址. 比喻如下:我们创建了so ...

  5. make找不到linux内核函数,linux内核make menuconfig出错

    今天实验刚从服务器上迁移过来的维护的linux 9260的内核,使用make menuconfig时出错,报错为: yongtao@yongtao-desktop:~/public/linux_rel ...

  6. linux put函数,Linux内核中的get_user和put_user

    当标号1处发生缺页异常时,系统将调用do_page_fault提交物理页面,然后跳到__get_user_bad继续执行.get_user函数如果成果执行则返回1,否则返回-EFAULT. put_u ...

  7. linux timerfd_settime函数,Linux的timerfd分析

    timerfd是Linux为用户程序提供的一个定时器接口.这个接口基于文件描述符,所以能够被用于select/poll的应用场景. 1.使用方法 timerfd提供了如下接口供用户使用 timerfd ...

  8. linux asm函数,Linux 字符设备驱动—— ioremap() 函数解析

    一. ioremap() 函数基础概念 几乎每一种外设都是通过读写设备上的相关寄存器来进行的,通常包括控制寄存器.状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址.根据CPU体系结构的不同, ...

  9. linux setlocale函数,linux中的多语言环境(LC_ALL, LANG, locale)

    为了在Linux下实现多语言支持,必须在定制安装程序时,引入与glibc和图形环境两者对应的多语言环境支持.对于glibc环境而言,它是整个Linux中文化的基础,我们需要在/usr/share/lo ...

最新文章

  1. 【论文解读】MV3D-Net、AVOD-Ne用于自动驾驶的多视图3D目标检测网络
  2. 百度面试 中缀表达式变成后缀表达式
  3. 程序员一夜暴富捷径?不,别被轻易骗进“独角兽”
  4. Maven发布web项目到tomcat
  5. java web 缓存省市县_实现 Java 本地缓存,该从这几点开始
  6. 影视剪辑,视频剪辑的万能剪辑技巧来啦,剪辑技巧合集
  7. 微信小程序开发之微信小程序交互
  8. 【IDE】【WebStorm】html排版设置head和body缩进
  9. docker技术简介
  10. 计算机word的关闭怎么办,为什么我的计算机word文档打开和关闭缓慢
  11. Canonical Coordinate System
  12. 教您如何远离电脑病?
  13. 用matlab求 矩阵每一列的平方和 最小值及其下标
  14. SSL2811 2017年10月30日提高组T2 摘Galo(树形dp)
  15. Python制作二维码1
  16. c语言用空格分隔和用逗号分隔,c语言程序设计课呵件第02章简单程序设计.ppt
  17. windows文件服务器双机热备_实战教程:如何建立双机热备系统
  18. 给ubuntu中谷歌配置host
  19. 本周AI热点回顾:机器人写稿同样拥有著作权、大脑中竟存在“分布强化学习”
  20. 500G硬盘的实际容量

热门文章

  1. git mergetool 解决冲突的问题
  2. Python实战从入门到精通第十一讲——可接受任意数量参数的函数
  3. Don't stop pretraining,继续预训练!
  4. 召回离线评估指标(二)
  5. fit_generator生成的history显示 key_error,并且没有loss 和 val_accuracy
  6. Leetcode每日一题:197.rising-temperature(上升的温度)
  7. 蓝桥杯 基础练习 回文数
  8. Selective Search for Object Recognition解读
  9. 反向传播算法的详细解释(下)
  10. Mac安装prometheus+grafana监控