首页 > 其他分享 >编译安装指定版本的bind9

编译安装指定版本的bind9

时间:2023-04-09 19:24:01浏览次数:48  
标签:named file data sbin 编译 usr 版本 bind9 local

下载所需的版本

https://gitlab.isc.org/isc-projects/bind9/-/tags?sort=version_desc

搜索自己需要的版本,然后点击下载

安装

#新建用户
$ groupadd -g 53 -r named
$ useradd -u 53 -g 53 -r named

#解压源码包
$ tar xf bind9-v9_11_36.tar.gz
$ cd bind9-v9_11_36/

#安装必要库
$ yum grouplist "Development Tools" -y
$ yum install -y python3 openssl-devel
$ pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple ply

#编译安装
$ ./configure --prefix=/usr/local/named --sysconfdir=/etc/named
$ make && make install

#新建配置文件
$ vim /etc/named/named.conf
options {
	directory 	"/usr/local/named";
	dump-file       "/usr/local/named/data/cache_dump.db";
	statistics-file "/usr/local/named/data/named_stats.txt";
	memstatistics-file "/usr/local/named/data/named_mem_stats.txt";
	recursing-file  "/usr/local/named/data/named.recursing";
	secroots-file   "/usr/local/named/data/named.secroots";
	allow-transfer	{none;};
	recursion yes;

	dnssec-enable no;
	dnssec-validation no;
};

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


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

# 生成named.ca文件
$ dig -t NS . @a.root-servers.net > /usr/local/named/named.ca

#创建默认的rndc.key文件
$ rndc-confgen -a

#创建数据文件夹
$ mkdir /usr/local/named/data

$ ln -s /usr/local/named/sbin/* /usr/local/sbin/
$ ln -s /usr/local/named/bin/* /usr/local/sbin/

#修改相关文件权限
$ chown -R named:named /etc/named/
$ chown -R named:named /usr/local/named/

#以named用户启动
$ named -g -u named

编写管理脚本

$ vim /usr/lib/systemd/system/named.service
[Unit]
Description=Berkeley Internet Name Domain (DNS)
After=network.target

[Service]
Type=forking
Environment=NAMEDCONF=/etc/named/named.conf
PIDFile=/usr/local/named/var/run/named/named.pid

ExecStart=/usr/local/named/sbin/named -u named -c ${NAMEDCONF}

ExecReload=/bin/sh -c '/usr/local/named/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID'

ExecStop=/bin/sh -c '/usr/local/named/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'

PrivateTmp=true

[Install]
WantedBy=multi-user.target

重新加载

$ systemctl daemon-reload

标签:named,file,data,sbin,编译,usr,版本,bind9,local
From: https://www.cnblogs.com/guangdelw/p/17300839.html

相关文章

  • golang 编译碰到问题 Package python-2.7 was not found in the pkg-config search pa
    golang运行单测或者编译程序时提示需要配置PKG_CONFIG_PATH环境变量,原因是在程序里使用了go-python包,要求运行环境有python2.7,并设置PKG_CONFIG_PATH环境变量,解决方案如下:#pkg-config--cflags--python-2.7Packagepython-2.7wasnotfoundinthepkg-configsear......
  • idea社区版本创建springboot项目的三种方式
      文章目录一、前言一、方式1:spring官方创建springboot项目1、打开在线的springinitializr2、选择项目的语言、版本、依赖等3、解压源码包,并使用IDEA打开4、测试接口二、方式2:社区idea安装Spring插件1、添加插件三、方式3:(麻烦)手动maven创建springboot项目一、前言导......
  • house_of_snake:一条高版本Glibc IO调用链
    house_of_snake:一条高版本GlibcIO调用链本文首发于[看雪论坛],仅在个人博客记录前言之前听说glibc2.37删除了_IO_obstack_jumps这个vtable。但是在源码里还看到obstack结构体存在,那么glibc2.37真的不能再调用_IO_obstack_jumps的那条链吗?看完本文就知道还可以调用_IO_obstack......
  • BlockingQueue读取文本内容,多线程处理数据(线程池版本)
    importjava.io.BufferedReader;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.concurrent.*;publicclassceshi2{publicstaticvoidmain(String[]args)throwsInterruptedException,ExecutionExcept......
  • TiDB 数据库大版本升级-基于TiCDC异机升级
    作者:gary一、前言 本操作手册描述了xx用户TiDB集群基于TiCDC进行大版本升级的操作过程、操作方法与注意事项,用于指导xx用户完成TiDB集群基于TiCDC进行大版本异机升级以及回退方案。 二、升级架构图 ** **TiCDC的系统架构如上图所示:部署一套所需升级版本的下游TiDB集群......
  • wxsqlite3 的使用, sqlite3 加密库 编译和测试
     编译库文件:1.用VS2010建立一个控制台工程sqlite3,选项为静态库,不包含预编译头。2.把wxsqlite3-4.5.1.zip\wxsqlite3-4.5.1\sqlite3secure\src下所有的文件复制到工程的工作目录3.把sqlite3.h和sqlite3secure.c加入工程4.工程配置属性AllConfigurations,C/C++,预处理,预......
  • Java的jar包依赖版本冲突解决
    参考:https://blog.csdn.net/weixin_38898423/article/details/128178055https://blog.csdn.net/Yal_insist/article/details/127669985一、依赖冲突不同的第三方jar包可能同时对某一个jar包的不同版本含有依赖,但是Maven解析pom.xml文件时,同一个jar包只会保留一个Maven默认处理策略......
  • lvgl 经典编译错误解决之道:section `.bss' is not within region `dram0_0_seg'
    #NodeMCU##PlatformIO#或#ArduinoIDE#能规避lvgl+TFT_eSPI经典编译错误(如下所示)的点不多。Linking.pio\build\nodemcu\firmware.elfld.exe:address0x3fffd538of.pio\build\nodemcu\firmware.elfsection`.bss'isnotwithinregion`dram0_0_seg'collect2.exe......
  • .NET 6版本中间件的使用
    .NET6版本中间件的使用中间件是一种处理HTTP请求和响应的可重用组件,通常用于添加处理逻辑或修改请求和响应。本文将演示如何创建.NET6版本的中间件。创建中间件让我们从创建一个简单的中间件类开始。我们将打印请求的URL,然后调用下一个中间件:publicclassMyMiddleware{......
  • linux kernel 编译的过程中 make defconfig、 make menuconfig、 make savedefconfig
    原文:https://www.cnblogs.com/xingboy/p/16478998.html1、 makedefconfig首先通过makexxx_defconfig,生成最开始的.config,相当于把XXX_defconfig文件复制为.config文件,其中defconfig是最小的config项,kernel编译会根据.config文件去编译驱动情况,加载过改指令后,后......