一.用户访问网站基本流程
DNS域名解析——>建立tcp三次握手——>客户端发出http请求——>服务端发出http响应——>tcp四次挥手断开连接
二.域名解析
(顶级)一级.二级.三级.四级域名
端口:53
在DNS解析中分为两种查找方式:递归查询和迭代查询
递归查询:由DNS客户端发起,一级一级的向上提交查询申请,直到查询结束
迭代查询:在DNS服务器之间完成,即本地DNS向上一级DNS提交查询,上级DNS并不直接返回查询结果,而是告诉DNS应该去哪儿找。
DNS查询www.baidu.com过程
1.DNS客户端首先查询自己host表,没有则向本地DNS提交查询www.baidu.com的申请
2.本地DNS查找自己的缓存,没有则开始向DNS根发出查找请求
3.根域在查找之后向本地DNS返回了.com域的DNS服务器地址
4.本地DNS向.com域DNS提交查询申请
5…com域DNS向本地DNS返回了.baidu.com域的DNS地址
6.本地DNS向.baidu.com域的DNS提交查询申请
7…baidu.com域DNS返回查询结果给本地DNS
8.本地DNS接收到查询结果后,首先在本地缓存一份,然后再向客户端返回查询结果
三.DNS记录类型
(1) A:地址记录(Address),返回域名指向的IP地址。
(2) NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。
(3)MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
(4)CNAME:规范名称记录(别名记录)(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转。
(5)PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名
(6)AAAA记录:该记录是将域名解析到一个指定的IPV6的IP上
四.bind安装和使用
yum install bind-utils.x86_64 -y
vim /etc/named.conf
#...
listen-on port 53 { any; };
#...
allow-query { any; };
#...
zone "oldboyedu.com" IN {
type master;
file "oldboyedu.com.zone";
};
vim /var/named/oldboyedu.com.zone
#...
$TTL 1D
@ IN SOA @ dns.oldboyedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 10.0.0.1;
www A 10.0.0.100;
chown -R named:named /var/named/oldboyedu.com.zone
named-checkconf
systemctl start named
systemctl enable named
netstat -lntup
#测试
nslookup oldboyedu.com 127.0.0.1
相关命令
dig+域名
或:dig @223.5.5.5 www.baidu.com +trace
host+域名
nslookup+域名