1、简述DNS服务,并搭建DNS服务器,实现主从,子域授权
域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名 和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
DNS通过允许一个名称服务器把他的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间。此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。
任何一个使用IP的计算机网络可以使用DNS来实现他自己的私有名称系统。尽管如此,当提到在公共的Internet DNS系统上实现的域名时,术语“域名”是最常使用的。
这是基于984个全球范围的“根域名服务器”(分成13组,分别编号为A至M)。从这984个根服务器开始,余下的Internet DNS名字空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。
-
搭建DN主服务器
主服务器已经建好,ip为10.0.0.10 liunx基础九–3搭建DNS服务器
主服务器修改上修改解析
vim /var/named/benny.com.zone #添加下面2行 IN NS ns2 ns2 IN A 10.0.0.53 -------------------------------------------- rndc reload # 重新加载
-
搭建从DNS服务器
正向
yum -y install bind #安装bind软件 vim /etc/named.conf #修改named配置文件,修改下面2个即可 listen-on port 53 { any; }; allow-query { any; }; -------------------------------------------------------------------- named-checkconf #语法检查 ------------------------------------------------------------------- vim /etc/named.rfc1912.zones #建立区域数据库,添加数据 zone "benny.com" IN { tpye slave; master { 10.0.0.10; }; file "slavepwds/benny.com.zone"; }; ------------------------------------------------------------------------------ named-checkconf #检查语法电脑 systemctl start named 启动服务 #查看结果 [root@centos7 slaves]# pwd /var/named/slaves [root@centos7 slaves]# ls benny.com.zone ------------------------------------------------------------------------------ # 反向解析验证 [root@centos7 slaves]# dig -x 10.0.0.200 @10.0.0.53 ; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> -x 10.0.0.200 @10.0.0.53 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29629 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;200.0.0.10.in-addr.arpa. IN PTR ;; ANSWER SECTION: 200.0.0.10.in-addr.arpa. 86400 IN PTR blog.benny.com. ;; AUTHORITY SECTION: 0.0.10.in-addr.arpa. 86400 IN NS dnsserver.0.0.10.in-addr.arpa. ;; ADDITIONAL SECTION: dnsserver.0.0.10.in-addr.arpa. 86400 IN A 192.168.34.7
反向
跟正向一样的步骤
```shell
[root@centos7 slaves]# ls # 同步结果
10.0.0.com.zone benny.com.zone
```
-
子域授权
主服务器10.0.0.10 正向解析文件定义子域
vim /var/named/benny.com.zone #添加下面4行,同时修改序列号 01 IN NS 10 ns1.01 01 IN NS 20 ns2.01 ns1.01 A 10.0.0.51 ns2.01 A 10.0.0.53
子域还需要有对应的子域的解析库文件,配置格式与上级域类似。
2、简述HTTP服务,并实现基于用户的访问控制,虚拟主机,https
-
HTPP简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP工作原理
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP默认端口号为80,但是你也可以改为8080或者其他端口。
注意点:
- HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
- HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
- HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
-
实现基于用户的访问控制
-
创建用户
使用htpasswd创建用户和密码
htpasswd -c /tmp/httpdpass zhao
-
定义安全域
<directory /var/www/> AuthType Basic AuthName "welcome to Login House of the Dead" AuthuserFile "/tmp/httpdpass" Require user zhao </directory>
-
效果图
-
虚拟主机
-
建立目录
mkdir /text/{a,b,c}site echo www.a.com >/text/asite/index.html echo www.b.net >/text/bsite/index.html echo ww.c.cn >/text/csite/index.html
-
添加代码
<virtualhost *:80> servername "www.a.com" <directory /text/asite> Require all granted </directory> customlog /var/log/httpd/access_a.log testlog </virtualhost> <virtualhost *:80> servername www.b.net DocumentRoot "/text/bsite" <directory /data/bsite> Require all granted </directory> customlog /var/1og/httpd/access_b.log testlog </virtualhost> <virtualhost *:80> servername www.c.net DocumentRoot "/text/csite" <directory /data/csite> Require all granted </directory> customlog /var/1og/httpd/access_c.log testlog </virtualhost>
-
实现https
(1) 为服务器申请数字证书
测试:通过私建CA发证书
(a) 创建私有CA
/etc/pki/CA/
(umask 077;openssl genrsa -out private/cakey.pem 4096)
openssl req-new-x509-key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650<<EOF
gz
gz
benny
devops
ca.a.com
benny.com
EOF
touch /etc/pki/CA/index.txt
echo O1>/etc/pki/CA/serial
(b) 在服务器创建证书签署请求
mkdir /etc/httpd/conf.d/ssl
cd /etc/httpd/conf.d/ssl
(umask 066;openssl genrsa -out httpd.key 1024)
openssl req -new -key httpd.key -out httpd.csr
© CA颁发证书
openssl ca -in /etc/httpd/conf.d/ssl/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 100
mv /etc/pki/CA/certs/httpd.crt /etc/httpd/conf.d/ssl
mv /etc/pki/CA/cacert.pem /etc/httpd/conf.d/ssl
(2) 配置httpd支持使用ssl,及使用的证书
yum -y install mod_ssl # 安装mod_ssl包模块
vim /etc/httpd/conf.d/ssl.conf 配置文件:/etc/httpd/conf.d/ssl.conf
SSICertificateFile /etc/httpd/conf.d/ssl/httpd.crt #修改证书路径
SSICertificateKeyFile /etc/httpd/conf.d/ss1/httpd.key #修改私钥路劲
SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem # 修改授权CA路径
(3)客户浏览器端
到授权CD–>cacert.pem(windons端改为{cacert.srt})和httpd.crt