首页 > 系统相关 >Linux学习(十二)基础服务_DNS

Linux学习(十二)基础服务_DNS

时间:2024-03-13 13:58:15浏览次数:29  
标签:named file zone 十二 etc DNS Linux var

一、DNS原理

查询方式

递归查询

直接把结果给客户端

迭代查询

如果知道结果,把结果告诉客户端,如果不知道结果,会把查询转发到下一台DNS服务器

DNS解析类型

SOA 记录:起始授权记录    
NS 记录:指定管理某一个域的服务器是谁子域授权    
A 记录:正向解析,把域名解析成IP        
PTR 记录:反向解析    
MX 记录:指定邮件服务器    
CNAME:别名、泛域名解析、负载均衡、主从、只缓存、转发、子域授权、View 视图

二、DNS 部署

环境介绍

服务器3台、系统centos

安装软件

	yum install -y bind bind-utils bind-chroot
    bind  主包
    bind-utils   客户端测试工具(host 、dig 、nslookup)
    bind-chroot   chroot环境  禁锢dns服务器的工作目录
    caching-nameserver(rhel5提供模板文本,缓存服务)   rhel6不需要

关闭防火墙

systemctl stop firewalld && setenforce 0

启动服务

    # systemctl start named
        如果启动服务没有工作目录的文件夹

工作目录

    /var/named/chroot/etc                    存放主配置文件
    /var/named/chroot/var/named

配置文件

备份配置文件
cp /etc/named.conf /etc/named.conf.backup

修改配置文件:
[root@wing etc]# vim /etc/named.conf 
options {
    # 监听在主机的53端口上。any代表监听所有的主机
    listen-on port 53 { any; };
    listen-on-v6 port 53 { ::1; };

    # 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下
    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";

    # 谁可以对我的DNS服务器提出查询请求。any代表任何人
    allow-query     { any; };

    /* 
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable 
       recursion. 
     - If your recursive DNS server has a public IP address, you MUST enable access 
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification 
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface 
    */
    recursion yes;

    dnssec-enable yes;
    dnssec-validation yes;

        dnssec-lookaside auto;
        forwarders { 
           # 指定上层DNS服务器(网关)
           192.168.1.1;
        };

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
增加zone信息
vim /etc/named.rfc1912.zones
zone "baidu.com" IN {    
       # 定义要解析主域名
        type master;
        file "baidu.com.zone";  
       # 具体相关解析的配置文件保存在 /var/named/baidu.com.zone 文件中
};

编辑区域配置文件
vim /var/named/baidu.com.zone


$TTL 1D
@       IN SOA          baidu.com. root (
                                        1       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        0 )     ; minimum

        IN      NS      baidu.com.
        IN      A       192.168.101.1
www     IN      A       192.168.101.244
test    IN      A       192.168.101.129

增加权限 并启动服务

chown root:named /var/named/baidu.com.zone
systemctl restart named
systemctl enable named

标签:named,file,zone,十二,etc,DNS,Linux,var
From: https://blog.csdn.net/m0_60010251/article/details/136660662

相关文章

  • 深入浅出Java多线程(十二):线程池
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十二篇内容:线程池。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在现代软件开发中,多线程编程已经成为应对高并发、高性能场景的必备技术。随着计算机硬件的发展,尤其是多核CPU的普及,利用多线程能够......
  • Linux 磁盘空间莫名被吃掉,如何解决?
    在服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警: 登录服务器,通过df-Hl查看 和告警信息一致,接着我们就是要找到导致磁盘空间满的目录或文件。如何找到占用空间大的目录或文件?一种比较笨的方法是,在根目录下,通过du-hs命令,列出各目录所占空间大小 ......
  • Linux 安装Mosquitto服务
     1.安装依赖yuminstallgcc-c++cmakeopenssl-devellibuuid-develc-ares-develuuid-devellibwebsockets-devel.x86_64libwebsockets.x86_64-y2.下载mosquitto官网:https://mosquitto.org/cd/homewget--no-check-certificatehttps://mosquitto.org/files/source......
  • Linux系统常用命令的使用
    前言思维导图:在这里我参考的是《Linux系统管理基础项目教程(CentOS7.2)微课版》其中内容只是基础的第一部分——Linux系统常用命令文章目录前言1.linux系统常用命令1.1目录管理1.2文件管理1.3查找与搜索1.4压缩与解压1.5系统管理1.6进程管理1.linux系......
  • (建议收藏)大牛总结的二十二个电源研发问题
    问题一:我们小功率用到最多的反激电源,为什么我们常常选择65K或者100K(这些频率段附近)作为开关频率?有哪些原因制约了?或者哪些情况下我们可以增大开关频率?或者减小开关频率?开关电源为什么常常选择65K或者100K左右范围作为开关频率,有的人会说IC厂家都是生产这样的IC,当然这也有原......
  • 开启或关闭SELinux
    SELinux简介安全增强型Linux(SELinux)是一种采用安全架构的 Linux®系统,它能够让管理员更好地管控哪些人可以访问系统。它最初是作为 Linux内核的一系列补丁,由美国国家安全局(NSA)利用Linux安全模块(LSM)开发而成。  通过严格的访问控制机制增强系统安全性。一般情况下,建议......
  • Linux动态追踪——perf
    目录摘要 跟踪系统调用跟踪事件跟踪函数跟踪内核函数 跟踪用户函数性能分析perfstat与perftop 火焰图​编辑 总结摘要    ftrace 和perf都是Linux提供的动态追踪功能,两者有一定相似性,却又有不同的侧重点。ftrace更侧重于事件跟踪和内核行为......
  • linux Shell 命令行-07-func 函数
    拓展阅读linuxShell命令行-00-intro入门介绍linuxShell命令行-02-var变量linuxShell命令行-03-array数组linuxShell命令行-04-operator操作符linuxShell命令行-05-test验证是否符合条件linuxShell命令行-06-flowcontrol流程控制linuxShell命令行-07-f......
  • linux 程序状态查询脚本
    linux程序状态查询脚本#!/bin/bashsource/etc/profileDOCKERCOMPOSE=/usr/local/bin/docker-composeSHELL_FOLDER=$(cd"$(dirname"$0")";pwd)action=${1-}#workdir=$PWD#cd$workdir#docker-composepsfunctionGetApollo(){echo""......
  • linux文件管理与用户管理
    linux文件管理与用户管理1、查看文件内容1、1回顾之前的命令cat命令tac命令head命令tail命令扩展:tail-f动态查看一个文件的内容1、2more命令分屏显示文件基本语法:#more文件名称特别注意:more命令在加载文件时并不是一点一点进行加载,而是打开文件就已经把文件内容......