1:安装bind
yum install bind bind-utils bind-chroot -y
https://blog.csdn.net/naughty610/article/details/5718709 关于bind-chroot的使用
2:配置文件介绍
/etc/named.conf主配置文件
/etc/named/zone文件
如过你安装了bind-chroot,则bind-chroot会将bind服务放置于一个伪根目录下,这样如何黑客攻破了你的服务器,进到来的就是在伪根目录下,不会危害到你真正的根目录,是一个安全的措施。安装bind时默认是在伪根目录下进行配置
伪根目录:
/var/named/chroot/etc/named.conf红色就是伪根目录
3:复制文件
进入到伪根目录之后会发现是没有文件的,所以需要复制文件。
cp -rv /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/
cp -rv /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/
4:编辑配置文件
4.1 主配置文件
- vi /var/named/chroot/etc/named.conf
/*
Sample named.conf BIND DNS server 'named' configuration file
for the Red Hat BIND distribution.
See the BIND Administrator's Reference Manual (ARM) for details about the
configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
*/
options
{
// Put files that named is allowed to write in the data/ directory:
directory "/var/named"; //相对路径
listen-on port 53 { any; }; //监听在主机的53端口上。any代表监听所有的主机
{ any; }花括号和"any;"之间一定要有空格,如果有多个ip段,用分号“;”隔开;
listen-on-v6 port 53 { ::1; }; allow-query { any; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人 recursion yes; dnssec-enable yes; dnssec-validation yes; }; zone "nyistepark.com" in{ //一个域配置 type master; file "nyistepark.com.zone"; }; //最后分号不要忘配置文件最简化配置:
options
{
// Put files that named is allowed to write in the data/ directory:
directory "/var/named"; // "Working" directory
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
};
4.2 域配置文件
在 vi var/named/nyistepark.com.zone 下面要有配置对应的配置文件
cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/ 复制过来
$TTL 1D //DNS默认的缓存时间
@ IN SOA @ nyistepark.com (
4 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
www A 192.168.1.136 ; //添加一条对应的解析
5:SElinux策略配置
[root@localhost named]# getenforce
Enforcing
[root@localhost named]# setenforce 0 //设置为 permissive状态
SELinux的工作模式一共有三种 enforcing、permissive和disabled
①enforcing 强制模式:只要是违反策略的行动都会被禁止,并作为内核信息记录
②permissive 允许模式:违反策略的行动不会被禁止,但是会提示警告信息
③disabled 禁用模式:禁用SELinux,与不带SELinux系统是一样的,通常情况下我们在不怎么了解SELinux时,将模式设置成disabled,这样在访问一些网络应用时就不会出问题了。
6:启动DNS服务
systemctl statr named-chroot<span style="white-space:pre;"> </span>## 启动服务,如何使用了bind-chroot 则启动 named-chroot 否则启动 named
systemctl enable named-chroot<span style="white-space:pre;"> </span>## 设为开机启动
7:修改nameserver进行本地测试
[root@localhost /]# vi etc/resolv.conf
# Generated by NetworkManager
nameserver 127.0.0.1
8:测试结果
[root@localhost chroot]# host www.nyistepark.com
www.nyistepark.com has address 192.168.1.136
9:防火墙放行
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload