liunx基础十

1、简述DNS服务,并搭建DNS服务器,实现主从,子域授权

域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名 和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCPUDP端口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协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
  • 实现基于用户的访问控制

  1. 创建用户

    使用htpasswd创建用户和密码

    htpasswd -c /tmp/httpdpass zhao

  2. 定义安全域

     <directory /var/www/>
    AuthType Basic
    AuthName "welcome to Login House of the Dead"                            AuthuserFile "/tmp/httpdpass"
    Require user zhao
    </directory>
    
  3. 效果图
    在这里插入图片描述

  • 虚拟主机

  • 建立目录

    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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值