DNS域名解析服务
一、DNS的原理:
1.概述:DNS--域名解析系统;
2.结构:三级、二级、顶级、.为根,全球一共十三个根DNS服务器;
3.FQDN:完全合格域名,主机名(www)+域名后缀(baidu.com),用来描述全球唯一的一台主机;
4.DNS解析记录:
a.主机解析域名过程:找缓存--找hosts文件--netbios(仅限于windows主机)--DNS服务器--上一级DNS服务器
b.查询方法:客户端--通过递归--本地服务器--通过迭代--上游服务器
递归:必须回复,客户端连接自己的DNS
迭代:尽力而为模式,服务器与服务器之间的解析
c.DNS缓存:加快解析速度,减少互联网上DNS查询数据,一般在本地客户机和本地服务器产生DNS缓存;
d.解析分类:
正向解析:将域名解析成IP地址
反向解析:将IP地址解析成域名
e.根据DNS的区域来源不同将DNS服务器分为:缓存服务器、主域名服务器、从域名服务器;
主域名服务器:维护某一个特定区域的地址数据库,自行建立所负责区域的地址数据文件;
从域名服务器:同步主域名服务器的配置文件,通常为DNS服务器的热备份;
缓存服务器:只提供缓存功能,需指定其他DNS服务器为解析来源,加快查询速度;
注:DNS服务所监听的端口号:tcp 53 udp 53,在客户端与dns服务端建立连接时,使用tcp53端口,当进行地址解析传输时,使用udp 53号端口;
二、DNS的配置文件;
1.bind软件:bind主程序、bind-utils客户端工具
2.配置文件:
/etc/named.conf ##主配置文件的目录
/var/named/ ##区域配置文件存放目录
3.区域配置文件:记录DNS条目
$TTL ##生存周期,缓存的DNS记录有效期
SOA ##起始授权机构(主从同步的参数)
NS ##域名服务器记录
MX ##邮件交换记录
PTR ##反向指针记录
CNAME ##别名
- ##泛域名
三、部署DNS域名解析系统:
1.部署主DNS服务器:
a.配置ip、网关、DNS、hosts文件、主机名、关闭防火墙、关闭selinux;
b.配置yum源并安装bind软件包;
c.修改配置文件,定制功能;
d.启动服务;
配置bind从域名服务器:
1.设置网络参数:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:0C:29:68:b1:0f"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.100.151
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
DNS1=202.106.0.20
DNS2=192.168.100.150
:wq
vi /etc/selinux/config
SELINUX=disabled
:wq
chkconfig iptables off
reboot
2.安装bind软件:
rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/1.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq
yum -y install bind
yum -y install bind-utils
3.修改配置文件:
vi /etc/named.conf ##修改如下,可以复制粘贴,options区域内,除directory配置项(指定区域配置文件的默认存放位置)不可省略外,别的都可以省略;
options {
directory "/var/named";
};
zone "linuxfan.cn" IN {
type slave;
file "slaves/linuxfan.cn.zone";
masters { 192.168.100.150; };
};
zone "100.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.100.arpa";
masters { 192.168.100.150; };
};
:wq
/etc/init.d/named restart
chkconfig named on
netstat -utpln |grep 53
注:若启动named服务时出现:
[root@lwh chroot]# /etc/init.d/named start
Generating /etc/rndc.key:
解决方法:
[root@lwh chroot]# rndc-confgen -r /dev/urandom -a
[root@lwh chroot]# /etc/init.d/named start
4.测试:
windows/linux:
nslookup
server 192.168.100.150
192.168.100.150
www.linuxfan.cn
exit
查看查询日志:
less /var/named/data/named.run
5.注意:当主从搭建完成后,主域名服务器的区域解析文件变化后,必须更改主域名服务器上区域解析文件的更新序列号(递增);
然后重启主域名服务器,再验证从域名服务器的区域解析文件是否同步更新;
配置bind从域名服务器:
1.设置网络参数:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:0C:29:68:b1:0f"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.100.151
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
DNS1=202.106.0.20
DNS2=192.168.100.150
:wq
vi /etc/selinux/config
SELINUX=disabled
:wq
chkconfig iptables off
reboot
2.安装bind软件:
rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/1.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq
yum -y install bind
yum -y install bind-utils
3.修改配置文件:
vi /etc/named.conf ##修改如下,可以复制粘贴,options区域内,除directory配置项(指定区域配置文件的默认存放位置)不可省略外,别的都可以省略;
options {
directory "/var/named";
};
zone "linuxfan.cn" IN {
type slave;
file "slaves/linuxfan.cn.zone";
masters { 192.168.100.150; };
};
zone "100.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.100.arpa";
masters { 192.168.100.150; };
};
:wq
/etc/init.d/named restart
chkconfig named on
netstat -utpln |grep 53
注:若启动named服务时出现:
[root@lwh chroot]# /etc/init.d/named start
Generating /etc/rndc.key:
解决方法:
[root@lwh chroot]# rndc-confgen -r /dev/urandom -a
[root@lwh chroot]# /etc/init.d/named start
4.测试:
windows/linux:
nslookup
server 192.168.100.150
192.168.100.150
www.linuxfan.cn
exit
查看查询日志:
less /var/named/data/named.run
5.注意:当主从搭建完成后,主域名服务器的区域解析文件变化后,必须更改主域名服务器上区域解析文件的更新序列号(递增);
然后重启主域名服务器,再验证从域名服务器的区域解析文件是否同步更新;
配置bind缓存服务器:
添加两块网卡,模式分别为vm1和桥接
1.设置网络参数:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:0C:29:68:b1:0f"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.100.150
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
DNS1=202.106.0.20
DNS2=192.168.100.150
:wq
vi /etc/selinux/config
SELINUX=disabled
:wq
chkconfig iptables off
reboot
dhclient -d eth1 ##获取一个动态ip地址,看到bound字段按ctrl c退出
2.安装bind软件:
vi /etc/yum.repos.d/1.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq
yum -y install bind
yum -y install bind-utils
3.修改配置文件:
vi /etc/named.conf ##修改如下,可以复制粘贴,options区域内,除directory配置项(指定区域配置文件的默认存放位置)不可省略外,别的都可以省略;
options
{
directory "/var/named"; // "Working" directory
dump-file "data/cache_dump.db";
statistics-file "data/named_stats.txt";
memstatistics-file "data/named_mem_stats.txt";
listen-on port 53 { 192.168.100.150; };
query-source port 53;
allow-query { 192.168.100.0/24; };
recursion yes;
};
logging
{
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
:wq
主配置文件中指定的根区域配置文件在/var/named/named.ca中
chown named:named /var/named/named.ca
/etc/init.d/named restart
chkconfig named on
netstat -utpln |grep 53
注:若启动named服务时出现:
[root@lwh chroot]# /etc/init.d/named start
Generating /etc/rndc.key:
解决方法:
[root@lwh chroot]# rndc-confgen -r /dev/urandom -a
[root@lwh chroot]# /etc/init.d/named start
4.测试:
windows/linux:
nslookup
server 192.168.100.150
www.baidu.com
www.sina.com
exit
查看查询日志:
less /var/named/data/named.run