DNS(域名解析系统)
IP:标识一台网络设备,通过IP可访问指定网络设备
域名:需注册(万网)、baidu.com、xueluo.xyz
www.xueluo.xyz --> 192.168.1.10
DNS:存放域名对应IP的记录
www.baidu.com -->
QQ能上,网页不能访问:DNS服务器不能工作
1.域名后缀
.com:国际域名
.cn:国内顶级域名
.jp:日本顶级域名
.hk:香港顶级域名
.org:非盈利组织
.gov:政府
.xyz、.vip、.ltd:新国际域名
2.域名格式
二级域名(baidu.com、xueluo.org)
名称(标准名称,如网站www、FTP服务ftp、图片image、视频video、音乐music).二级域名
3.域名解析流程
1.客户端访问www.xueluo.xyz
2.客户端检查本地是否有缓存IP
3.客户端检查hosts文件,是否有对应IP
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
4.客户端向指定首选DNS服务器发送递归请求,DNS服务器检查本地是否有缓存IP
5.DNS服务器发送迭代请求到根服务器(全球13个)
6.跟服务器收到请求后,将请求转发到对应一级DNS服务器
7.一级DNS服务器收到请求后,将请求转发到对应二级DNS服务器
8.二级DNS服务器收到请求后,查找对应域名是否有对应IP,如有对应IP地址
9.二级DNS服务器将对应IP告知首选DNS服务器
10.由首先DNS服务器将IP及对应域名缓存,并将IP告知客户端
递归请求:发出请求,必须给出回应,只用于客户端与首选DNS服务器之间
迭代请求:发送请求,不需给出给出,只用与DNS服务器和DNS服务器之间
二、部署DNS
1.DNS种类
1)缓存DNS:主要用于内网,用于加速内网访问公网域名,可缓存公网域名对应IP
2)主DNS:提供域名解析,提供DNS服务
3)从DNS:作为主DNS的备用,当主DNS失效时,由从DNS继续提供服务
2.部署缓存DNS服务器
两块网卡,第一块网卡为桥接,第二块vmnet1
1.修改网络配置
1)cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
2)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp
3)vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.254 NETMASK=255.255.255.0
4)/etc/init.d/network restart
2.开启路由转发
1)vim /etc/sysctl.conf
7 net.ipv4.ip_forward = 1
2)sysctl -p
3.编辑iptables防护墙规则
1)iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.20.186(换为桥接获取的IP)
//允许192.168.1.0上网
2.安装bind软件包
1)yum -y install bind bind-utils
3.编辑主配置文件
1)vim /etc/named.conf
options { listen-on port 53 { 192.168.1.254; }; //设置监听IP地址;需修改 directory "/var/named"; //区域配置文件存放目录 dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query {localhost;}; //删除该行 recursion yes;
forwarders {114.114.114.114;8.8.8.8;}; //转发器设置,将所有DNS查询请求转发
dnssec-enable no; //bind安全检测机制;需修改
dnssec-validation no; //bind安全检测机制;需修改
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { //指定解析域 type hint; //指定DNS类型,为缓存服务器 file "named.ca"; //根解析文件 };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2)/etc/init.d/named start && chkconfig --level 35 named on
客户端配置
一块网卡vmnet1、网关192.168.1.254、首选DNS 192.168.1.254
cmd --> nslookup www.baidu.com
三、搭建主从DNS
正向解析:通过域名解析IP
反向解析:通过IP解析域名
SOA:起始授权记录,代表所需解析域
NS记录:标识DNS服务器名称
A记录:通过域名解析IP
CNAME记录:别名
MX记录:邮件记录,可自动搜索邮件服务器
AAAA记录:通过域名解析IPV6地址
主DNS服务器
一块网卡为vmnet1
1.修改网络配置
1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 DNS1=192.168.1.10 DNS2=192.168.1.20
2)/etc/init.d/network restart
3)vim /etc/sysconfig/network
HOSTNAME=ns1.xueluo.org
2.安装bind软件包
1)yum -y install bind bind-utils
3.编辑主配置文件
1)vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.10; }; //设置监听IP地址;需修改
directory "/var/named"; //区域配置文件存放目录
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query {localhost;}; //删除该行
recursion yes;
dnssec-enable no; //bind安全检测机制;需修改
dnssec-validation no; //bind安全检测机制;需修改
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "xueluo.org" IN { //指定正向解析域为xueluo.org type master; //指定DNS类型,为主DNS服务器 file "xueluo.org.zone"; //正向解析文件 allow-transfer {192.168.1.20;}; //允许同步服务器IP };
zone "1.168.192.in-addr.arpa" IN { //指定反向解析区域 type master; //指定DNS类型,为主DNS服务器 file "192.168.1.arpa"; //反向解析文件 allow-transfer {192.168.1.20;}; //允许同步服务器IP };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2)cp /var/named/named.empty /var/named/xueluo.org.zone //拷贝DNS模版文件并重命名
3)cp /var/named/named.empty /var/named/192.168.1.arpa
4)vim /var/named/xueluo.org.zone
$TTL 86400(TTL值,生命周期) @ IN SOA xueluo.org.(需要解析的域名) admin.xueluo.org.(管理员邮箱) ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.xueluo.org. //NS记录(起始授权记录);输入主DNS和从DNS服务器的主机名 IN NS ns2.xueluo.org. ns1 IN A 192.168.1.10 //DNS服务器对应的IP地址 ns2 IN A 192.168.1.20 www IN A 192.168.1.100 //www.xueluo.org对应的IP ftp IN CNAME www
5)vim /var/named/192.168.1.arpa
$TTL 86400(TTL值,生命周期) @ IN SOA xueluo.org.(需要解析的域名) admin.xueluo.org.(管理员邮箱) ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.xueluo.org. //NS记录(起始授权记录);输入主DNS和从DNS服务器的主机名 IN NS ns2.xueluo.org. 10 IN PTR ns1.xueluo.org. 20 IN PTR ns2.xueluo.org. 100 IN PTR www.xueluo.org. ftp IN CNAME www
6)chown named:named /var/named/192.168.1.arpa /var/named/xueluo.org.zone
7)/etc/init.d/named start && chkconfig --level 35 named on
从DNS搭建
一块网卡为vmnet1
1.修改网络配置
1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.20 NETMASK=255.255.255.0 DNS1=192.168.1.20 DNS2=192.168.1.10
2)/etc/init.d/network restart
3)vim /etc/sysconfig/network
HOSTNAME=ns2.xueluo.org
2.安装bind软件包
1)yum -y install bind bind-utils
3.编辑主配置文件
1)scp root@192.168.1.10:/etc/named.conf /etc/
2)vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.20; }; //设置监听IP地址;需修改
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursion yes;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "xueluo.org" IN { type slave; //指定DNS类型,为从DNS服务器 file "slaves/xueluo.org.zone"; //指定同步后正向解析文件存储路径 masters {192.168.1.10;}; //指定主DNS对应IP };
zone "1.168.192.in-addr.arpa" IN { type slave; //指定DNS类型,为从DNS服务器 file "slaves/192.168.1.arpa"; //指定同步后反向解析文件存储路径 masters {192.168.1.10;}; //指定主DNS对应IP };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
3)/etc/init.d/named start && chkconfig --level 35 named on //启动named服务并设置为开机自启
4)ls -l /var/named/slaves/ //验证是否有拷贝的文件
客户端配置
一块网卡vmnet1、首选DNS 192.168.1.10、 备用DNS 192.168.1.20
cmd --> nslookup www.xueluo.org //nslookup(DNS解析命令)