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解析命令)