ubuntu16.04设置bind9.10.3的chroot运行
重点:1)系统是ubuntu的16.04 bind9.10.3
2)确保你的系统是没问题的,我之前的16.04有问题,在虚拟机上怎么都操作都不行,
在/var/log/syslog可以看到:could not load the shared library:dso_lib.c:233类似的信息,
原因应该是openssl库的问题。下面第6条有解决方法。
3)ubuntu16.04使用apt-get 下载的是bind9.10.3,在ubuntu18.04中下载的是bind9.11.3
对bind9.10.3,需要在chroot的文件放置libgost.so到特定位置,这是bind9.10的缺陷,正常情况
对于库的加载应该是在进入chroot之前完成,此处有人探讨:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820974
4)个人认为不要使用bind9.10.3。 哈哈,可以关闭网页啦。
1.安装bind9
sudo apt-get install bind9
2.启动bind9测试一下
sudo /etc/init.d/bind9 restart
观察bind是否可以启动
sudo vim /var/log/syslog
如果在现在的启动时间下出现:
May 29 09:03:46 yy-pc named[36284]: running
表示 named 已经启动,可以正常启动,下面开始配置chroot的启动
3.修改/etc/bind/named.conf.options :
sudo vim /etc/bind/named.conf.options
开头处:
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
chroot的路径是 /var/cache/bind
把这个文件内容修改为
options {
listen-on port 53 { any; };
directory "/var/cache/bind";
dump-file "/var/cache/bind/data/cache_dump.db";
statistics-file "/var/cache/bind/data/named_stats.txt";
memstatistics-file "/var/cache/bind/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
forward only;
forwarders {
8.8.8.8;
8.8.4.4;
};
};
4.修改chroot的目录,使它可以让bind运行起来
cd /var/cache/bind
在这里创建目录 dev etc/bind run/named usr var/cache/bind var/run/named
mknod /var/cache/bind/dev/null c 1 3
mknod /var/cache/bind/dev/random c 1 8
chmod 660 /var/cache/bind/dev/{null,random}
将bind的默认配置文件移动到目标地址:mv /etc/bind /var/cache/bind/etc
为了保持兼容性,仍在原位置为其建立软链: ln -s /var/cache/bind/etc/bind /etc/bind
5. 设置配置文件:
修改/etc/default/bind9 : OPTIONS="-u bind" --> OPTIONS="-u bind -t /var/cache/bind"
修改/etc/init.d/bind9 : PIDFILE=/run/named/named.pid --> PIDFILE=/var/cache/bind/run/named/named.pid
6. 重新启动bind9:
sudo /etc/init.d/bind9 restart
提示:[ ok ] Restarting bind9 (via systemctl): bind9.service.
q千万不要被假象迷惑!!!!
查看syslog
sudo vim /var/log/syslog
最后几行出错:
ENGINE_by_id failed (crypto failure)
Jun 23 01:29:04 yy-pc named[57416]: error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:233:
Jun 23 01:29:04 yy-pc named[57416]: error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:467:
Jun 23 01:29:04 yy-pc named[57416]: error:2606A074:engine routines:ENGINE_by_id:no such engine:eng_list.c:390:id=gost
Jun 23 01:29:04 yy-pc named[57416]: initializing DST: crypto failure
Jun 23 01:29:04 yy-pc named[57416]: exiting (due to fatal error)
Jun 23 01:29:04 yy-pc systemd[1]: bind9.service: Main process exited, code=exited, status=1/FAILURE
Jun 23 01:29:04 yy-pc rndc[57437]: rndc: connect failed: 127.0.0.1#953: connection refused
Jun 23 01:29:04 yy-pc systemd[1]: bind9.service: Control process exited, code=exited status=1
Jun 23 01:29:04 yy-pc systemd[1]: bind9.service: Unit entered failed state.
Jun 23 01:29:04 yy-pc systemd[1]: bind9.service: Failed with result 'exit-code'.
这是因为缺少必要的库文件,复制关键库文件到chroot的对应目录即可,具体操作在7.
7. 复制库文件到chroot
(1)创建库文件路径
cd /var/cache/bind
sudo mkdir -p /var/cache/bind/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines
源文件目录:/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines/libgost.so
目标目录:/var/cache/bind/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines/libgost.so
下划线是你chroot的目录。如果复制了之后,还是无法解决,
可以问题应该出在: a. openssl不对劲 b. 系统可以有点儿问题(我虚拟机系统不对, 硬盘上的是可以解决的) c.放弃bind9.10
友情链接,均由参考:
http://www.snooda.com/read/290
https://www.howtoforge.com/howto_bind_chroot_debian
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820974
https://blog.csdn.net/symptoms216/article/details/79635700
ubuntu16.04设置bind9.10.3的chroot运行的更多相关文章
- TX2开发板Ubuntu16.04设置静态IP
TX2开发板Ubuntu16.04设置静态IP https://www.cnblogs.com/qilai/p/11285445.html 首先打开一个Terminal输入 ifconfig 查看自 ...
- ubuntu16.04下笔记本自带摄像头编译运行PTAM
ubuntu16.04下笔记本自带摄像头编译运行PTAM 转载请注明链接:https://i.cnblogs.com/EditPosts.aspx?postid=9014147 个人邮箱:feifan ...
- ubuntu16.04设置电池充电阈值
thinkpad在安装ubuntu16.04之后,设置充电阈值: 方法一: 使用双系统,在windows下使用联想的Lenovo setting center设置之后,在ubuntu之下也可以保持相同 ...
- Hadoop完全分布式环境搭建(二)——基于Ubuntu16.04设置免密登录
在Windows里,使用虚拟机软件Vmware WorkStation搭建三台机器,操作系统Ubuntu16.04,下面是IP和机器名称. [实验目标]:在这三台机器之间实现免密登录 1.从主节点可以 ...
- Ubuntu16.04下安装MATLAB 2016b!完美运行
目录 1.下载MATLAB 2016b 2.挂载iso 3.安装MATLAB 4.破解 5.快捷键与运行 1.下载MATLAB 2016b 下载matlab 2016b for linux(可以百度搜 ...
- Ubuntu16.04设置静态ip
给Ubuntu系统配置一个静态IP ,方法如下 : 1. sudo vi /etc/network/interfaces (本人更推荐使用 sudo gedit /etc/network/inter ...
- 软件——Ubuntu16.04设置静态ip地址
1.获取网卡名称 在命令行输入ifconfig -a 2.修改网卡配置文件 sudo vim /etc/network/interfaces 加上下面的配置,IP地址可以成适合你的 auto eth0 ...
- ubuntu16.04设置tomcat自启动
我的tomcat名字叫tomcat8_product 1.拷贝catalina.sh到/etc/init.d/目录下 cd tomcat8_product/bin/catalina.sh /etc/i ...
- 【转】ubuntu16.04设置python3为默认及一些库的安装
原文:https://www.cnblogs.com/jokie/p/6933546.html Ubuntu默认Python为2.7,所以安装Python包时安装的为py2的包. 利用alternat ...
随机推荐
- Flink+Druid构建实时OLAP的探索
场景 k12在线教育公司的业务场景中,有一些业务场景需要实时统计和分析,如分析在线上课老师数量.学生数量,实时销售额,课堂崩溃率等,需要实时反应上课的质量问题,以便于对整个公司的业务情况有大致的了解. ...
- XML学习(一)
本文主要记录xml学习过程中的一些笔记,包括xml作用,语法以及解析. 1.HTML和XML的区别 1.1.HTML 名称: HyperText Markup Languae(超文本标记语言) ...
- 自己动手实现MQTT协议
写在前面 前段时间弄IoT相关的东西,系统学习了一下 MQTT 协议,在此分享出来. 本文先是对 MQTT 协议做了简单的介绍:接着是对 MQTT协议的内容做了较为全面的解读:最后使用 Python ...
- BFS-迷宫问题
问题描述 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, ...
- 面试java_后端面经_5
情话部分: 小姐姐:为什么有很多人在感情中付出很多,却得不到想要的结果? 你答:我听过一个这样的故事:讲的是蚯蚓一家人,有一天,蚯蚓爸爸特别无聊,就把自己切成了俩段愉快的打羽毛球去了,蚯蚓妈妈见状,把 ...
- thinkphp 框架两种模式 两种模式:开发调试模式、线上生产模式
define(‘APP_DEBUG’,true/false);
- Linux 使用命令 1
fold : Usage: fold [OPTION]... [FILE]...Wrap input lines in each FILE (standard input by default), w ...
- R语言中如何找出在两个数据框中完全相同的行(How to find common rows between two dataframe in R?)
I would like to make a new data frame which only includes common rows of two separate data.frame. ex ...
- 章节十六、3-TestNG方法和类注解
一.Test Suite(测试套件) 我们通常认为一个testcase就是一个测试方法,但是会有很多的testcase,所以我们不可能把所有的testcase放到同一个测试类中,假如需要测试的页面有1 ...
- spark通过JDBC读取外部数据库,过滤数据
官网链接: http://spark.apache.org/docs/latest/sql-programming-guide.html#jdbc-to-other-databases http:// ...