历史:
IANA:美国政府机构
一开始域名解析服务由美国政府所监管,不过后来为了各种原因(自行揣测),出现了下面的民间管理机构
ICANN进行专门管理。
TLD:top level Domain:顶级域
组织域:.com .net .org
国家域:.cc .tw .hk
反向域:IP–>FQDN
主机名(FQDN Full Qualified Domain Name 完全合格域名)
主机名:www.unravel.com
域名: unravel.com
DNS:名称解析,Name Resolving 名称转换(背后有查询过程,数据库)
FQDN<–>IP
1/周期性任务
早期的时候,联网的主机不是太多,只要写个hosts文件,不断的任务计划更新这个文件,别人拿去这个文件就可以实现域名解析。
2/Server
后来,随着联网的主机越来越多,需要统一管理,个人主机不再作为域名解析的关键所在,把请求发送给服务器。
3/分布式数据库
但是再厉害的主机,没法同时相应这么多的请求,或者说应该更为有效的管理,出现分布式以及层级结构。
DNS查询流程:
客户机–>www.baidu.com
1/客户端先会检查本机的/etc/hosts文件(具体可查看/etc/nisswitch.conf),查询是否有对应记录。
2/如果没有对应记录,则向DNS服务器A查询,如果A没有记录,则DNS服务器向根服务器查询。
3/根服务器判断被查询主机属于.com主机管辖,于是通知A去.com查询。
4/A查询.com,后者判断出.baidu.com管辖,于是告知A去baidu.com查询。
5/A查询.baidu.com,后者得到了对应的IP,并将IP和域名的对应关系存放在缓存中,同时告知客户端。A中的缓存数据将维持一段时间,在这段时间内,
如果有任何主机向A查询www.baidu.com的IP,A直接在缓存中将结果返回给发送查询请求的主机。
申请授权:
比如有个学校的域名为abc.edu.com,而这个域名下有多台主机,如www.abc.edu.com,ftp.abc.edu.com等,而且以后还有可能增加其他主机,那么
这个学校就会需要DNS服务器来管理这些主机。
在查询流程中可知,.abc.edu.com是应该被授权的,如果此处没有被授权,则查询工作将不会进行下去。
DNS:
监听的协议及端口:
53/udp
53/tcp
953/tcp,rndc
一定要明白递归和迭代的概念(根服务器不会给其他任何主机提供迭代,只会递归,也意味着你给不给其他人递归,要看情况,给别人递归,要收费哦~)
两段式:递归 迭代
查询:
递归:只发出一次请求,我就问你了,帮我找出来!!
迭代:发出多次请求,不断的问别人,从别人给的参考中找下一个~~
DNS:
分布式的数据库
上级仅知道其直接下级
下级只知道根的位置
DNS服务器:
接收本地用户客户查询请求(递归)
外部客户端请求:请求权威答案;
肯定答案:TTL
否定答案:TTL
外部客户端请求:非权威答案
stub resolver
应该说只分为递归和不递归;
######################################################################################################################
SELinux:Security Enhanced Linux
由于SELinux的加入,使Linux在安全上更高,当然也取决于自身的定义,不过SELinux是在内核上定义,所以更多的是拿现成的框架来用。
http://baike.baidu.com/link?url=Yb3ZXN_63AsyFdojnEost4f21WeajDqcF-7xvY9f2CTQXc4sB5DhGCw157m8lr41YnwwXL90vNca4svFKqac_q(SELinux)
大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。
C2级别–>SELinux–>B1
########################################################################################################################################
有部分摘取:
《完美应用红帽企业版Linux》