一、DNS及BIND的简介
DNS(Domain Name System),即域名系统。它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统。DNS采用CS架构,服务器端工作在UDP协议端口53和TCP协议端口53上。FQDN(Fully Qualified Domain Name)完全限定域名,它是使用DNS的数状层级结构的完全路径域名来表示一个准确位置的主机。提供正向解析(FQDN—>IP)和反向解析(IP—>FQDN)的功能。目前DNS已经成为互联网通讯的基础服务。
BIND(Berkeley Internet Name Domain)BIND(Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。
二、实验环境:
VM14、CentOS7.3 x64(作为DNS服务器,IP为192.168.22.107)、CentOS7.3 x64(作为测试机,IP地址为192.168.22.204)
三、实验前的准备:
四、CentOS7.3上yum安装BIND,并启动
在CentOS7.3上安装BIND,并启动
yum -y install bind
rpm -ql bind
/etc/logrotate.d/named
/etc/named
/etc/named.conf # 主配置文件/etc/named.iscdlv.key
/etc/named.rfc1912.zones # 区域解析库文件 ...(中间省略).../run/named # 服务脚本使用此文件...(中间省略).../var/log/named.log
/var/named # 服务根目录...(中间省略).../var/named/slaves # 从服务器使用的区域解析目录
systemctl start named # 启动服务
systemctl enable named # 设为开机启动
ss -nult # 端口有问题,绑定在127.0.0.1,只有本地可用,不能对外服务
五、在CentOS7.3配置BIND
在CentOS7.3配置BIND
yum install telnet -y
telnet 192.168.22.107 53
cp -p /etc/named.conf{,.bak} # 备份named.conf并修改
vim /etc/named.conf
listen-on port 53 { 127.0.0.1; }; 将此行注释掉(默认绑定所有IP)或改为 listen-on port 53 { localhost; }; # 此处代表本机所有IP
systemctl reload named #重新加载配置文件
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
cat ifcfg-ens33 # 修改默认DNS
HWADDR="00:0c:29:c2:73:07"
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5b68a5ab-1ef0-4d0d-9084-82e94508156c"
DNS1="127.0.0.1" # 因为CentOS7.3自己为DNS服务器,所以设自己为DNS服务器
IPADDR="192.168.22.107"
PREFIX=16GATEWAY="172.16.0.1"
DEVICE="ens33"ONBOOT="yes"
systemctl restart network
cat /etc/resolv.conf # 查看默认DNS
# Generated by NetworkManager
search top
nameserver 127.0.0.1
vim /etc/named.conf
将allow-query { localhost; } 改为 allow-query { localhost; 172.168.252.174; } 允许某个地址查询
或 改为 allow-query { localhost;any; } 或 改为 allow-query { localhost;0.0.0.0/0; } 或注释掉 允许所有地址查询
named-checkconf # 检查配置文件named.conf
systemctl reload named # 也可以使用rndc reload 作用是重新加载配置文件
网友评论