一、DNS域名解析服务器使用
1.DNS的解析流程
a.域名解析服务器的介绍:
DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。
1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理qq.com的DNS服务器地址给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。
6、如果用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。找到最后把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
注:从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查询。
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS。
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。
b.DNS解析方式
正向解析:将FQDN----->IP
反向解析:将IP----->FQDN
2.DNS主从配置: 需要两台机器: 一台为主dns服务器,一台为从DNS服务器
a.搭建DNS服务器
[root@localhost ~]# yum install bind -y
b.配置主服务器文件
[root@localhost ~]# vim /etc/named.conf
添加allow-transfer { 192.168.109.130; }; 从DNS的ip地址
c.配置主服务器对应的file文件
$TTL 1D 设置ttl为1天
@ IN SOA @ admin.baidu.com.
( 0 1D 1H 1W 3H )
@代表zone的意思,现在@代表baidu.com.; SOA代表资源记录的名称为起始授权记录;admin.baidu.com.表示有问题找该管理员;0代表序列号;1D代表更新频率为1天;1H代表失败重新尝试时间为1小时;1W代表失效时间为1周;3H代表缓存时间为3小时
设置完后重启服务
d.从服务器部署bind软件
[root@localhost ~]# yum install bind -y
e.配置从服务器的主文件
检验:重启服务之后/var/named/slaves目录里面会多一个文件:openlab.zone
主从服务器配置成功!
二、selinux使用
1.使用httpd服务演示安全上下文值的设定(selinux)
a.服务器端配置:
[root@localhost ~]# systemctl restart firewalld [root@localhost ~]# firewall-cmd --permanent --add-service=http success [root@localhost ~]# firewall-cmd --reload success [root@localhost ~]# getenforce Enforcing
修改主配置文件myhost.conf
[root@localhost ~]# vim /etc/httpd/conf.d/myhost.conf
查看index.html 的安全上下文
修改default_t为httpd_sys_content_t
[root@good 100]# chcon -t httpd_sys_content_t index.html [root@good 100]# ls -Z unconfined_u:object_r:httpd_sys_content_t:s0 index.html
访问浏览器成功
2.使用web服务端口的改变来演示端口的设定(selinux)
进入配置文件:
[root@localhost ~]# vim /etc/httpd/conf.d/myhost.conf
服务重启失败,查看日志
[root@localhost ~]# systemctl restart httpd
更改selinux可以访问9090端口
[root@localhost ~]# semanage port -a -t http_port_t -p tcp 9090
重启httpd服务,发现成功
可以成功访问浏览器