dns简单介绍与应用
简单介绍
作用:将域名解析成ip地址
原因:我们对于数字不敏感,记不住IP地址,所以有域名解析服务
解析方式:正面解析:域名解析出IP。反向解析:IP解析出域名
dns服务器中存在大量IP和域名映射记录,他的记录文件分别是正向解析文件和反向解析文件。正向解析文件中存储记录称为A记录,A记录记录着域名和IP地址的映射关系。反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系。
DNS服务既属于TCP协议也属于UDP协议,端口号为53号。
域名的组成
根域是“.”,是域名的最后一位,通常会省略
掉国家域:cn中国 hk香港(地区) uk英国 au澳大利亚
*域:com商业用途 net网络组织 edu教育
二级域(个性化名称):baidu,google
主机名:www网页 mail邮件
域名解析过程(以www.baidu.com为例)
域名解析过程是分层解析的,一般客户机将解析的请求发送给他的dns服务器,dns服务器首先从根dns服务器开始发送域名解析请求,根将com域的IP反馈给客户机的本地服务器,本地dns服务器访问com域服务器,com域服务器反馈baidu域的ip给本地dns服务器,本地dns服务器访问baidu域服务器询问www域服务器的ip,baidu域服务器给dns服务器反馈www域ip,这时本地dns服务器得到www.baidu.com的精确IP后,直接将这个映射记录反馈给客户机,客户机直接访问www,baidu.com服务器,服务器反馈相应的数据。
DNS缓存:其中一台dns服务器可以上网去获取dns映射记录,客户机将dns服务器地址指向这台可以上网的dns服务器,从而获取到相应的映射记录。
简单应用
一个dns服务器一个客户端
网络配置:作为服务器要有两张网卡,一张连接网络,一张在内网和客户端相连两张内网网卡使用vmnet1(将vmnet1改成手动获取网卡,内网卡与vmnet1ip处于同一网段)连接网络的网卡用桥接模式
在服务器上开启路由永久:
vi /etc/sysctl.conf
net.ipv4.ip forward=1
sysctl -p#j加载配置
临时:echo “1”>/proc/sys/net/ipv4/ip_forward
然后预装dns服务yum -y install bind*
vi /etc/named.conflisten-on port 53 {自己的内网ip;}
allow-query {自己内网IP所在网段/子网;}
systectl start namedns
lookup www.baidu.com#测试
客户端
vi /etc/resolv.conf
nameserver (服务器内网ip)
nslookup www.baidu.com#测试
主从dns服务器
正向解析记录和反向解析记录都在主dns服务器,从服务器的正向解析记录和反向解析记录是从主服务器上拷贝而来
配置:关闭防火墙,让三台Linux处于同一网段,互联互通
在作为dns服务器的两台Linux上安装dns服务
yum -y install bind*
在三台Linux上vi /etc/resolv.conf
nameserver一台服务器地址
nameserver另一台服务器地址
主服务器上
vi /etc/named.conf
listen-on port 53 {自己的内网ip;}
allow-query {自己内网IP所在网段/子网(或是any);}
vi /etc/named.efc1912.zones
zone “localhost” IN {
type master;
file “named.localhost”;
allow-update { none; };
};
zone “aa.com” IN {
type master;
file “aa.com.zone”;
allow-transfer { 192.168.100.13(自己的从服务器ip); };
also-notify { 192.168.100.13(自己的从服务器ip); };
};
zone “100.168.192.in-addr.arpa” IN {
type master;
file “aa.com.local”;
allow-transfer { 192.168.100.13(自己的从服务器ip); };
};
zone"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.
0.ip
cp -p named.localhost aa.com.zone
cp -p named.loopback aa.com.local
/var/named/下
vi aa.com.zone(11为主,13为从)
vi aa.com.local
systemctl start named
从服务器上
vi /etc/named.conf
listen-on port 53 {自己的内网ip;}
allow-query {自己内网IP所在网段/子网(或是any);}
vi /etc/named.efc1912.zones(与主服务器相同位置)
zone “aa.com” IN {
type slave;
masters { 192.168.100.11(主服务器ip); };
allow-notify { 192.168.100.11(主服务器ip); };
file “slaves/aa.com.zone”;
};
zone “100.168.192.in-addr.arpa” IN {
type slave;
masters { 192.168.100.11(主服务器ip); };
allow-notify { 192.168.100.11(主服务器ip); };
file “slaves/aa.com.local”;
};
systemctl start named