2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

本周作业内容:


1、详细描述一次加密通讯的过程,结合图示最佳。

一次加密通讯的过程:

首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面。

Bob用对称加密算法把数据及特征码整个进行加密。

Bob用接收方的公钥加密对称密钥并附加到数据后面。


Alice用私钥解密对称密钥。

Alice用对称密钥解密出数据及加密的特征码。

Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据。

如图所示:

wKiom1gTFRPzrWTEAAPIpj1PCHU612.jpg

单向加密:只能加密,不能解密,提取数据指纹(特征码),来保证数据的完整性,单向加密的协议有MD5,SHA等


非对称加密:公钥和私钥成对出现,私钥必须本机器保存,用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然,数字签名是私钥加密特征码,实现对称秘钥交换


对称加密:加密和解密使用同样的秘钥,实现数据加密,产生对称秘钥。


2、描述创建私有CA的过程,以及为客户端发来的证书请求进行颁发证书。


(1) 创建所需要的文件

cd /etc/pki/CA
# touch index.txt
# echo 01 > serial
# 
# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)##生成私钥

(2) CA自签证书

# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求;
-x509: 专用于CA生成自签证书;
-key: 生成请求时用到的私钥文件;
-days n:证书的有效期限;
-out /PATH/TO/SOMECERTFILE: 证书的保存路径;

(3) 发证

(a) 用到证书的主机生成证书请求;

# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr

(b) 把请求文件传输给CA;

scp ./httpd.csr root@192.168.137.30:/etc/pki/CA/certs/

(c) CA签署证书,并将证书发还给请求者;

# openssl ca -in /etc/pki/CA/certs/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
# cat index.txt serial
V171021154656Z01unknown/C=CN/ST=Beijing/O=Magedu/OU=ops/CN=www.magedu.com/emailAddress=webadmin@magedu.com

(d) ls /etc/pki/CA/certs ##到CA服务器上可以看到证书的httpd.crt

scp ./httpd.crt root@192.168.137.32:/etc/httpd/ssl/
ls /etc/httpd/ssl ##到服务端/etc/httpd/ssl目录下查看证书。


3、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)


(1)、能够对一些主机名进行正向解析和逆向解析;


(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;


(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程


使用node2(192.168.137.32)主机配置正向反向解析

[root@node2 ~]# yum -y install bind
  常用的配置文件有:
  /etc/named.conf#主配置文件
  /etc/named.rfc1912.zones#区域配置文件
  /etc/rc.d/init.d/named#启动脚本
  /var/named#存放区域解析文件
  
[root@node2 ~]# vim /etc/named.conf 
options {
listen-on port 53 { any; }; ##表示监听本地IP的53端口,允许所用地址访问本地53端口;这行也可以注释掉,等同于any。
//listen-on-v6 port 53 { ::1; };
directory       "/var/named"; ##区域解析文件路径
dump-file       "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
//      allow-query     { any; }; ##允许所有地址查询,也可注释掉。
recursion yes;
##是否递归,如果是no那么这台DNS服务器将不会递归解析,yes或注释掉不写,表是允许,默认是允许的
//      dnssec-enable yes;
//      dnssec-validation yes;
/* Path to ISC DLV key */
//      bindkeys-file "/etc/named.iscdlv.key";
//      managed-keys-directory "/var/named/dynamic";
};
include "/etc/named.rfc1912.zones"; ##表示加载区域配置文件。

正向与反向区域配置

[root@node2 ~]# vim /etc/named.rfc1912.zones
文件末行添加:
zone "magedu.com" IN{
 type master;
 file "magedu.com.zone";
};
zone "137.168.192.in-addr.arpa" IN {
 type master;
 file "137.168.192.zone";
};


新建正向解析的zone文件

[root@node2 ~]# vim /var/named/magedu.com.zone
$TTL    86400
$ORIGIN     magedu.com.
@       IN      SOA     ns1.magedu.com. admin.magedu.com. (
2016092101
1H
5M
7D
1D )
IN      NS      ns1
IN      NS      ns2
IN      MX 10   mx1
IN      MX 20   mx2
ns1     IN      A       192.168.137.32
ns2     IN      A       192.168.137.33
mx1     IN      A       192.168.137.32
mx2     IN      A       192.168.137.33
www     IN      A       192.168.137.32
www     IN      A       192.168.137.33
ftp     IN      CNAME   www


新建反向解析zone文件

[root@node2 ~]# vim /var/named/137.168.192.zone
$TTL    86400
$ORIGIN     137.168.192.in-addr.arpa.
@       IN      SOA     ns1.magedu.com.     admin.magedu.com. (
2016092101
1H
5M
7D
1D )
IN      NS      ns1.magedu.com.
IN      NS      ns2.magedu.com.
32      IN      PTR     ns1.magedu.com.
33      IN      PTR     ns2.magedu.com.
34      IN      PTR     mx1.magedu.com.
35      IN      PTR     mx2.magedu.com.
32      IN      PTR     www.magedu.com.
33      IN      PTR     www.magedu.com.


检查语法错误,重启DNS服务

[root@node2 ~]# named-checkconf ##检查配置文件
[root@node2 ~]# named-checkzone "magedu.com" /var/named/magedu.com.zone ##检查区域解析文件
[root@node2 ~]# named-checkzone "137.168.192.in-addr.arpa." /var/named/137.168.192.zone
[root@node2 ~]# service named restart

正向解析测试:

[root@node2 ~]# dig -t A www.magedu.com @192.168.137.32 ##@192.168.137.32表示通过32这台主机解析,-t:指明type,A表示A记录。
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @192.168.137.32
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58146
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.magedu.com.INA
;; ANSWER SECTION: ##应答段
www.magedu.com.86400INA192.168.137.33
www.magedu.com.86400INA192.168.137.32
;; AUTHORITY SECTION: ##权威段
magedu.com.86400INNSns2.magedu.com.
magedu.com.86400INNSns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.86400INA192.168.137.32
ns2.magedu.com.86400INA192.168.137.33
;; Query time: 0 msec
;; SERVER: 192.168.137.32#53(192.168.137.32) ##DNS服务器,以及解析的客户端。
;; WHEN: Sat Sep 24 11:34:14 2016
;; MSG SIZE  rcvd: 132


反向解析测试:

[root@node2 ~]# dig -x 192.168.137.32 @192.168.137.32 ##-x:表示反向解析
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.137.32 @192.168.137.32
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52944
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;32.137.168.192.in-addr.arpa.INPTR
;; ANSWER SECTION:
32.137.168.192.in-addr.arpa. 86400 INPTRwww.magedu.com.
32.137.168.192.in-addr.arpa. 86400 INPTRns1.magedu.com.
;; AUTHORITY SECTION:
137.168.192.in-addr.arpa. 86400INNSns1.magedu.com.
137.168.192.in-addr.arpa. 86400INNSns2.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.86400INA192.168.137.32
ns2.magedu.com.86400INA192.168.137.33
;; Query time: 0 msec
;; SERVER: 192.168.137.32#53(192.168.137.32)
;; WHEN: Sat Sep 24 11:41:13 2016
;; MSG SIZE  rcvd: 155

主从同步:

##从DNS服务器主配置和node2(192.168.137.33)相同
[root@node3 ~]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
 type slave;
 masters { 192.168.137.32; }; ##指定主DNS服务器为32(node2)
 file "slaves/magedu.com.zone";
 allow-transfer { none; };
};
zone "137.168.192.in-addr.arpa" IN {
 type slave;
 masters { 192.168.137.32; };
 file "slaves/137.168.192.zone";
 allow-transfer { none; };
};

重启或reload 从DNS服务器

[root@node3 ~]# service named reload | restart
服务启动后,会在/var/named/slaves/自动添加magedu.com.zone和137.168.192.zone文件
[root@node3 ~]# ls /var/named/slaves/
137.168.192.zone  magedu.com.zone

测试从DNS服务器

[root@node3 ~]# dig -t A www.magedu.com @192.168.137.33
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @192.168.137.33
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8634
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.magedu.com.INA
;; ANSWER SECTION:
www.magedu.com.86400INA192.168.137.33
www.magedu.com.86400INA192.168.137.32
;; AUTHORITY SECTION:
magedu.com.86400INNSns2.magedu.com.
magedu.com.86400INNSns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.86400INA192.168.137.32
ns2.magedu.com.86400INA192.168.137.33
;; Query time: 0 msec
;; SERVER: 192.168.137.33#53(192.168.137.33)
;; WHEN: Mon Oct 24 22:49:53 2016
;; MSG SIZE  rcvd: 132


子域授权

##重新配置一台主机:liu,IP:192.168.137.30
在父域区域解析文件中添加
[root@node2 ~]# vim /var/named/magedu.com.zone
liu     IN      NS      ns1.liu.magedu.com.
ns1.liu IN      A       192.168.137.30
同样方式安装bind配置主配置文件
在区域配置文件末行添加:
[root@liu ~]# vim /etc/named.rfc1912.zones
zone "liu.magedu.com" IN {
type master;
file "liu.magedu.com.zone";
};
zone "magedu.com" IN {
type forward;
forward only; ##区域转发

forwarders { 192.168.137.32; }; ##




本文转自 ljohnmail 51CTO博客,原文链接:http://blog.51cto.com/ljohn/1866905,如需转载请自行联系原作者

相关文章
|
6天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
3天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
32 3
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
1月前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
|
1月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 网络协议
|
2月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
1月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
56 3
|
1月前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
276 3
|
2月前
|
存储 运维 搜索推荐

相关产品

  • 云解析DNS