将DNS走进chroot的根文件系统的目录

chroot:将当前的目录作为程序运行的根目录,程序运行和访问的文件,执行的执行

都不能够超过当前的目录,所以对整个系统没有任何的影响。

场景说明:在进入到当前的根文件系统之后,无法解析域名,所以也就不可能

通过域名的方式,访问到yum的安装源仓库repo。刚开始的时候专注于/etc/resolve.d

文件的修改,但是无效化非常明显,甚至一度将当前的根文件系统创建一个网络配置

文件,但是service network restart失败了、


解决方案:

说明:

DNS是一种将域名解析为IP地址的服务.如:www.turbolinux.com.cn通过DNS解析,可以

得到210.77.38.126.

bind是linux的DNS服务器程序.bind-chroot是bind的一个功能,使bind可以在一个

chroot的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是

系统中的一个子目录而已.这样做的目的是为了提高安全性.因为在chroot的模式下,bind可以

访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中.

操作步骤:(使用yum对软件进行安装)

1)yum search jail

bind-chroot.x86_64 : A chroot runtime environment for the ISC BIND DNS server,

                   : named(8)

注释:http://www.linuxidc.com/Linux/2012-11/73867.htm

说明:chroot--change root(改变角色),例如apache服务,这个服务是直接安装到了根目录

下面的所以当ps后看进程信息的时候后面的路径是以系统的“根”开始找的。如果想搭建起来

这个chroot的环境,需要工具--jail.tar.gz,jail(监狱)也就是把自己想让服务更安全,那么

就把服务扔到监狱中去运行,黑客入侵了也只能在监狱中控制,不能跳出监狱进行别的控制


2)yum install bind-chroot.x86_64 

Installed:

  bind-chroot.x86_64 32:9.8.2-0.23.rc1.el6_5.1                                  


Dependency Installed:

  bind.x86_64 32:9.8.2-0.23.rc1.el6_5.1     portreserve.x86_64 0:0.0.4-9.el6    


Dependency Updated:

  bind-libs.x86_64 32:9.8.2-0.23.rc1.el6_5.1                                    

  bind-utils.x86_64 32:9.8.2-0.23.rc1.el6_5.1     


3)启动named服务,同时指向chroot之后的目录

[root@localhost ext3fs]# /etc/init.d/named start

Starting named:                                            [  OK  ]

[root@localhost network-scripts]# ps -ef |grep named

named     7808     1  0 16:12 ?        00:00:00 /usr/sbin/named -u named -t /var/named/chroot

root      7816  2654  0 16:12 pts/0    00:00:00 grep named

[root@localhost network-scripts]# which named

/usr/sbin/named

4)将chroot之后的根文件系统作为DNS的子集

[root@localhost network-scripts]# /usr/sbin/named -u named -t /mnt/ext3fs/


摘自:http://yhj1065.blog.163.com/blog/static/1980021720106945117402/


你可能感兴趣的:(解决方案,配置文件,NetWork,IP地址)