一 DNS服务简要介绍
DNS域名解析服务:用于解析域名和IP地址对应服务。
1.域名空间结构
根域("
.
") 顶级域(组织域edu、com、gov... 国家地区域cn...) 二级域(imooc、baidu) 主机名(www、NEWS)
2.DNS服务器类型
1.主服务器:在特定区域内具有唯一性、负责维护该区域内域名与IP地址对应关系。
2.从服务器:从主服务器获取域名与IP对应关系进行维护,防止主服务器宕机。
3.缓存服务器:通过向其他域名解析服务器查询获得域名和IP对应关系,提高重复查询效率。
3.DNS查询类型:
1.
查询方式: 迭代查询和递归查询
DNS客户机
<-> 本地域名服务器(递归查询(yes or no))(没有进行下列查询)
<->根域(给出顶级域IP部分)(迭代查询(给最优查询))
<->顶级域(给出二级域IP部分)(迭代查询)
<->二级域(给出完整IP送至本地域名服务器)(迭代查询)
->Wed服务器(IP)
递归查询:用于客户机向DNS服务器查询
迭代查询:用于DNS服务器向DNS其它服务器的查询
2.
查询内容:
正向解析:根据主机名(域名)查找对应IP.
反向解析:根据IP地址查找对应主机名(域名).
4
.
DNS域名申请方式:
1.上层DNS设置区域查询权,让你自己设置DNS服务器。
2.直接请上层DNS服务器来帮助你设置主机名对应。
(一般网络主机少,直接向上层DNS服务器申请设置主机名即可,除非大型网络需要很多台网络server)
5.DNS服务器Client相关文件和相关命令
1.IP与域名对应解析设置文件
/etc/hosts
本机自定义IP与域名对应文件
/etc/resolv.conf
设置DNS服务器IP
(一般查询先查询/etc/hosts文件,查不到域名对应时才会去/etc/resolv/conf设置的DNS服务器上查询)
2.相关查询命令
1.
host FQDN
-a 列出所有信息(包括IP,TTL与排错)
2.
host -l domain
列出该域名所有主机名与IP对应(不过这个命令使用者必须是该域的管理者)
3.
nslook 交互查询
4.
dig FQDN
+trace
从.开始进行跟踪查询
-t "type" 查询的数据主要有MX、NS、SOA等类型
-x 查询反解信息
5.
whois doaminname
查询域名注册信息
二 DNS相关配置文件(安装bind-chroot(chroot会把DNS根目录限制在/var/named/chroot/目录下))
/etc/named.conf
主配置文件
/etc/sysconfig/named 是否启动chroot及额外参数
/var/named/
数据库文件默认放置目录
/var/run/named named程序执行默认放置pid-file在此目录
三 服务器搭建
1)主服务器搭建:
1.配置前设置本机为DNS服务器
2.安装DNS服务器
yum install bind-chroot
3.防火墙配置
firewall-cmd -add-port=53/tcp --perment
firewall-cmd -add-port=53/udp --perment
firewall-cmd --reload
4.修改主配置文件
/etc/named.conf,如下
listen-on port 53 {
any;
} 允许监听任何IP地址
allow-query {
any;
} 允许任何主机查询
(主配置语法检错命令:
named-checkconf)
5.正向解析配置
1.vim
/etc/named.rfc1912.zones 解析区域信息文件追加
(自定义管理 msun.com为域名的主机名和IP对应 )
type:hint(根区域),master(主区域),slave(辅助区域)
file:解析文件(存储在数据库文件默认目录,即/var/named/msun.com.zone)
allow-update:不允许任何客户端更新解析信息
2.创建解析文件
cd /var/named/
切换进入数据库目录
cp -a named.localhost msun.com.zone
用named.localhost模版创建解析文件msun.com.zone
vim msun.com.zone
配置解析数据库文件(记录该域名区域下主机名和IP对应)(
汉字注释需删除)
(
named-checkzone zone
zonefile 检测区域数据文件语法)
6.反向解析配置
1.vim
/etc/named.rfc1912.zones
解析区域信息文件追加
"1.168.192.in-addr.arpa" :表示192.168.1.0/24网段的反向解析区域信息
2.创建解析文件
cd /var/named/ 切换进入数据库目录
cp -a named.loopback 192.168.1.arpa 使用named.loopback模版创建解析文件
vim 192.168.1.arpa
配置解析数据库文件(记录该区域下IP和主机名对应)
7.重启DNS服务并检测
systemctl restart named 重启
systemctl enable named 开机自
启
使用
nslook命令检测(注意下面IP和主机名解析得到对方不一致,就是因为解析文件记录不同的原因)
2)从服务器搭建(备份与负载均衡)
1.主服务器配置
(主服务器区域信息允许从服务器更新请求)
(其中 192.168.1.166 为从服务器IP)
2.从服务器配置
(安转和设置本机DNS服务为本机同上)
1.
修改主配置文件
/etc/named.conf
,如下
listen-on port 53 {
any; } 允许监听任何IP地址
allow-query {
any; } 允许任何主机查询
2.防火墙允许(同主服务器)
3.区域信息文件修改
/etc/named.rfc1912.zones
4.重启从服务器并测试
systemctl restart named 重启
systemctl enable named 开机自
启
ls /var/named/slaves/ 查看目录下文件是否添加
3)DNS加密传输(TSIG加密机制)
1.主服务器配置
1.主服务器密匙生成(生成公钥与密匙),并查看私钥Key值
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
(参数: 128位HMAC-MD5算法 主机名叫master-slave)
2.主服务器创建密钥验证文件
vim /var/named/chroot/etc/transfer.key
chown root.named
/var/named/chroot/etc/transfer.key 设置文件所有者和所在组
chmod 640 /var/named/chroot/etc/transfer.key 设置文件权限(安全)
ln /var/named/chroot/etc/transfer.key /etc/transfer.key 设置软链接
3.开启主机密钥验证功能
vim /etc/named.conf 添加9、18行内容
4.重启
2.从服务器配置(配置前先删除上面搭建服务器生成/var/named/slaves/下文件)
1.主服务器将密钥文件发给从服务器
scp /var/named/chroot/etc/transfer.key root@192.168.1.166:/var/named/chroot/etc/
2.切换到从服务器,修改文件属性
chown root.named
/var/named/chroot/etc/transfer.key 设置文件所有者和所在组
ln /var/named/chroot/etc/transfer.key /etc/transfer.key
设置软链接
3.从机
支持密钥验证配置
vim /etc/named.conf (追加两处信息)
4.重启并验证
systemctl restart named 重启
ls /var/named/slaves/ 查看该目录是否已同步文件成功
nslookup 查询
4)缓存服务器
1.安装bind-chroot
2.配置/etc/named.conf
listen-on port 53 { any; } 允许监听任何IP地址
allow-query {
any; } 允许任何主机查询
(221.11.1.67 为上层DNS服务器)
3.重启DNS
4.测试(使用一主机将缓存DNS服务器IP设置为DNS服务器,ping一地址即可)
5)分离解析技术(来自不同IP地址查询相同域名时会给出不同结果)
(位于中国或美国用户访问www.msun.com会获得该网站位于本国的服务器)
1.安装bind-chroot
2.配置/etc/named.conf
listen-on port 53 { any; } 允许监听任何IP地址
allow-query {
any; } 允许任何主机查询
注释根域信息
3.编辑区域信息文件
mv /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak 备份
cp -a /etc/named.rfc1912.zones.bak /etc/named.rfc1912.zones
vim /etc/named.rfc1912.zones 清空原有数据,并写如下面信息
4.建立区域数据文件(dns服务器有中国,美国两个IP)
cp -a /var/named/named.localhost /var/named/msun.com.china
cp -a /var/named/named.localhost /var/named/msun.com.american
vim /var/named/msun.com.china
vim /var/named/msun.com.american
5.结果
不同国家IP段访问www.msun.com,IP结果不同
参考:《linux该怎么学》《鸟哥服务器篇》
参考:《linux该怎么学》《鸟哥服务器篇》