1 功能使用
实现在局域网中使用 http://www.mason.com访问主机A。
在局域网实现DNS的正向解析和反向解析。正向解析是通过域名查找ip。反向解析是通过ip查找域名。
注意:如果仅仅在局域网里使用,不考虑安全性,可以省略下面配置bind-chroot和反向解析,仅仅配置bind即可。
2 安装bind
# 使用yum安装bind,安装成功后会显示 Complete
# BIND(Berkeley Internet Name Domain)是DNS服务器软件
yum install bind
yum install bind-chroot
yum install bind-utils
# 注意一定要关闭DNS服务器的防火墙,不然其他主机无法使用DNS服务器
systemctl stop firewalld
# 最好禁用防火墙,不然重启后还要关闭
systemctl disable firewalld
3 ip地址分配
DNS主机:192.168.18.100
主机A:192.168.18.101
修改DNS服务器的静态ip,进入“/etc/sysconfig/network-scripts“目录修改ifcfg-enp0s3文件(vim ifcfg-enp0s3),注意你的网卡名字可能跟我的不同,修改内容如下。主机A的IP配置方法相同,IPADDR不同。
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# 配置静态ip,BOOTPROTO默认为"dhcp"自动获取ip
BOOTPROTO="static"
IPADDR="192.168.18.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.18.1"
# 配置DNS服务器,此处的DNS也可以在“/etc/resolv.conf”配置
DNS1="192.168.18.100"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="9b8a0b03-d35d-4e4c-Bd3b-70cb77cc197a"
DEVICE="enp0s3"
ONBOOT="yes"
重启网卡
# 显示执行的过程和状态
service network restart
# 或者,不显示执行的状态和过程
systemctl restart network
# 查看命令是否执行成功,0表示成功,1表示失败
echo $?
4 复制DNS样例
主要配置BIND服务配置文件和zone配置文件,安装bind时会在BIND(我的bind版本是9.11.4)的安装目录下有参考的样例子。
将"/usr/share/doc/bind-9.11.4/sample"下的etc和var复制到“/var/named/chroot”下。
# BIND服务配置文件
cp -r /usr/share/doc/bind-9.11.4/sample/etc/* /var/named/chroot/etc/
# zone配置文件
cp -r /usr/share/doc/bind-9.11.4/sample/var/* /var/named/chroot/var/
5 配置BIND服务文件
编辑“ /var/named/chroot/etc/name.conf”文件
# 进入"/var/named/chroot/etc/“目录
cd /var/named/chroot/etc/
# 编辑name.conf
vim name.conf
文件内容如下,删除其他内容,保留三个即可。注意"mason.com.zone"和“101.18.168.192.in-addr.arpa“文件在“/var/named/chroot/var/named"下。
options
{
directory "/var/named";
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
};
// 正向解析
zone "mason.com"
{
type master;
file "mason.com.zone"
};
// 反向解析,注意ip地址反写,省略“101.”(在“mason.com.arpa”文件中配置),可以不配置
zone "18.168.192.in-addr.arpa"
{
type master;
file "mason.com.arpa"
};
# 检验配置文件中的数据格式是否正确
named-checkconf named.conf
6 配置zone文件
在“/var/named/chroot/var/named“添加mason.com.zone文件
# 进入“/var/named/chroot/var/named“目录下
cd /var/named/chroot/var/named
# 将named.localhost复制为mason.com.zone
cp named.localhost mason.com.zone
# 将named.localhost复制为mason.com.arpa
cp named.localhost mason.com.arpa
编辑mason.com.zone(正向解析)
$TTL 1D
@ 1N SOA @ rname.invalid.(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAA ::1
www IN A 192.168.18.101
# 检验zone文件中的格式是否正确
named-checkzone mason.com.zone
编辑mason.com.arpa(反向解析),可以不配置
$TTL 1D
@ 1N SOA @ rname.invalid.(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAA ::1
101 PTR www.mason.com.
7 更改启动方式
# 更改默认启动方式
/usr/libexec/setup-named-chroot.sh /var/named/chroot on
# 停止named服务
systemctl stop named
# 禁用named服务
systemctl disable named
# 启动named-chroot服务
systemctl start named-chroot
# 设置开机自启动
systemctl enable named-chroot
# 查看服务状态
# named服务dead已经关闭
systemctl status named
# named-chroot服务active打开
systemctl status named-chroot
8 查看是否成功
测试正向解析
# 在使用命令查看DNS服务器地址(注意必须安装bind),出现域名服务器的信息
nslookup www.mason.com
# 可以查看DNS服务器的zone信息
dig mason.com
# 使用ping,如果能够ping同说明成功
ping www.mason.com
测试反向解析,可以不测试
# 使用dig测试
dig -x 192.168.18.101
# 出现结果中含有下面的信息表示成功
;; ANSWER SECTION:
101.18.168.192.in-addr.arpa. 86400 IN PTR www.mason.com.