模块三:服务搭建与运维
任务描述:
随着信息技术的快速发展,集团计划 2024 年把部分业务由原有的 X86 架构服务器上迁移到 ARM 架构服务器上,同时根据目前的部分业务需求进行了部分调整和优化。
一、X86 架构计算机操作系统安装与管理
- PC1 系统为 ubuntu-desktop-amd64 系统(已安装,语言为英文),登录用户为
ubuntu,密码为 Key-1122。配置 ubuntu 用户能免密使用 sudo 命令。
- 新增 harry 用户,用户 harry 无权访问系统上的交互式 shell 且不是 sysmgrs 成员,密码为 Key-1122,为 harry 用户添加备注 SDskills1。
- 配置 ubuntu 用户创建目录默认为 750,文件权限为 640。
- 配置 cron 作业,该作业以用户 harry(bash shell)身份运行且每隔 5 分钟执行:
logger “The 17th Shandong Skills Competition in Progress”。
- 配置 PC1 的 IP 地址为 192.168.2.50/24,网关为 192.168.2.1/24;将网络连接的标识 ID 设置为 ens2024。
- 安装 remmina,用该软件连接 Server1 上的虚拟机,并配置虚拟机上的相应服务。
二、ARM 架构计算机操作系统安装与管理
- 从 U 盘启动 PC2,安装 kylin-desktop-arm64(安装语言为英文),安装时创建用户为 kylin,密码为 Key-1122。配置 kylin 用户能免密使用 sudo 命令。
- 创建 bash shell 的 natasha 用户,为用户添加备注 SDskills2。作为次要组从属于 sysmgrs(可用 SYS_GID_MAX),密码为 Key-1122,要求新建的用户必须每 30 天更改一次密码。
- 创建协作目录/home/xiao, /home/xiao 的所属组是 sysmgrs,/home/xiao 中创建的文件自动将组所有权设置到 sysmgrs 组。
- 配置 minicom,用该软件连接网络设备,并对网络设备进行配置。
三、Windows 云服务配置
- 创建实例
-
- 网络信息表
网络名称 | Vlan | 子网名称 | 网关 | IPv4 地址池 |
Network10 | 10 | Subnet10 | 10.6.10.254/24 | 10.6.10.100-10.6.10.110 |
Network11 | 11 | Subnet11 | 10.6.11.254/24 | 10.6.11.100-10.6.11.110 |
Network12 | 12 | Subnet12 | 10.6.12.254/24 | 10.6.12.100-10.6.12.110 |
-
- 实例类型信息表
名称 | Id | vcpu | 内存 | 硬盘 | 实例名称 | 镜像 |
sdskills | 1 | 4 | 4GB | 100GB | windows1-windows5 | Windows 2022 |
-
- 实例信息表
实例名称 | 镜像 | 实例类型 | IPv4 地址 | 主机名称 |
windows1 | Windows 2022 | sdskills | 10.6.10.101 | windows1 |
windows2 | Windows 2022 | sdskills | 10.6.10.102 | windows2 |
windows3 | Windows 2022 | sdskills | 10.6.10.103 | windows3 |
windows4 | Windows 2022 | sdskills | 10.6.10.104 10.6.11.104 | windows4 |
windows5 | Windows 2022 | sdskills | 10.6.10.105 10.6.11.105 | windows5 |
- 域服务
任务描述:请采用域环境,管理企业网络资源,具体要求如下:
-
- 配置所有 windows 主机的 IP 地址和主机名称。
- 配置所有 windows 主机之间通过远程桌面连接登录,修改远程端口为 13389,所有 windows 主机开启所有防火墙且开启 ICMP 回显请求。
- 配置 windows1 为 sdskills.lan 域控制器;安装 dns 服务,dns 正反向区域在
active directory 中存储,负责该域的正反向域名解析。
-
- 配置 windows2 为 sdskills.lan 辅助域控制器;安装 dns 服务,dns 正反向区域在 active directory 中存储,负责该域的正反向域名解析。
- 把其他 windows 主机加入到 sdskills.lan 域。所有 windows 主机(含域控制器)使用 sdskills\Administrator 身份登录。
-
- 为了确保数据的安全,请在 windows1 的 AD 域控中启用回收站功能。
- 在 windows1 上安装证书服务,为 windows 主机颁发证书,证书颁发机构有效期为 20 年,证书颁发机构的公用名为 windows1.sdskills.lan。复制“计算机”证书模板,名称为“计算机副本”,申请并颁发一张供 windows 服务器使用的证书,证书友好名称为 friendly,证书信息:证书有效期=10 年,公用名=sdskills.lan,国家
=CN,省= Shandong,城市= Jinan,组织=sdskills, 组织单位=system,使用者可选名称=*.sdskills.lan 和 sdskills.lan。浏览器访问 https 网站时,不出现证书警告信息。
( 8 )在 windows2 上安装从属证书服务,证书颁发机构的公用名为
windows2.sdskills.lan。
(9)在 windows1 上新建名称为 manager、it、sale 的 3 个组织单元;每个组织单元内新建与组织单元同名的全局安全组;每个组内新建 20 个用户:行政部 manager00-manager19、技术部 it00-it19、营销部 sale00-sale19,所有用户不能修改其用户口令,并要求用户只能在上班时间可以登录(每周一至周五 9:00~18:00)。
- 组策略
任务描述:请采用组策略,实现软件、计算机和用户的策略设置。
-
- 配置系统用户登录时使用统一桌面背景,图片存放在 C:\Pic 文件夹,启用阻止更改桌面背景。
- 设置所有主机的登录 Banner:标题为“欢迎来到第十七届山东省赛赛场”。内容为“预祝你取得一个好成绩!”。
- 关闭用户密码必须符合复杂性策略要求。
- 关闭所有机器的睡眠功能。
- 禁止 Windows 域控用户使用指定的 windows 应用程序 abc.exe。
- AD 备份计划
任务描述:为了提供数据的安全性,请采用系统自有备份工具,对数据进行备份。
-
- 为 windows1 主机制订 AD 备份计划,每天的 0:00 点对项目“系统状态”进行一次备份,并采用 VSS 备份,备份至 windows2 的 D:\Back 文件夹。
- Nlb 服务
任务描述:请采用 NLB,实现负载平衡。
-
- 配置 windows4 和 windows5 为 NLB 服务器且配置 IPSEC 加密通信,身份
验证方法为证书颁发机构。
-
- windows4 群集优先级为 4,windows5 群集优先级为 5,群集 IPv4 地址为
10.6.10.60/24,群集名称为 www.sdskills.lan,采用多播方式。
-
- 配置 windows4 为 web 服务器,站点名称为 www,网站的最大连接数为 10000,网站连接超时为 60s,网站的带宽为 80Mbps。
- 在 windows1 的 C 分区划分 2GB 的空间,创建 NTFS 主分区,驱动器号为
D;
-
- 共享网页文件、共享网站配置文件和网站日志文件分别存储到 windows1 的
D:\FilesWeb\Contents、D:\FilesWeb\Configs 和 D:\FilesWeb\Logs。网站主页 index.html
页面标题为“NLB”,内容标题为 H2 级"HelloNLB",index.html 文件编码为 ANSI。
-
- 使用 W3C 记录日志,每天创建一个新的日志文件,日志只允许记录日期、时间、客户端 IP 地址、用户名、服务器 IP 地址、服务器端口号。
- 当使用 http 协议访问网站时,自动跳转至 https 域名加密访问。
- 配置 windows5 为 web 服务器,要求采用共享 windows4 配置的方式,使用 “计算机副本”证书。
- Powershell 应用
任务描述:为了减少重复性任务的工作量,节省人力和时间,请采用脚本,实现快速批量的操作。
-
- 在 Windows3 上编写 C:\Create.ps1 的 powershell 脚本, 要求创建 10 个本地用户,用户名分别为 user1 至user10,密码为对应用户名+Key-1122(如:user1Key-1122),最后打印用户名及用户密码。
Linux 云服务配置
- 系统安装
-
- 通过 PC1 web 连接 server2,给 server2 安装 Rocky-Arm64 CLI 系统(语言为英文、时区为 Asia/Shanghai)。
- 配置 server2 的 IPv4 地址为 10.6.20.100/24,SSH 服务端口为 2025。
- 安装 qemu-kvm、libvirt、virt-install、sshpass。
- 创建 Rocky-Arm64 虚拟机,创建本地存储池 vmdisk,存储池所在的目录为/home/vmfs,激活并自动启动已定义的存储池,根据下方表格信息在存储池中创建虚拟机存储卷,名称为 linux0.qcow2。
- 配置默认软件仓库
-
- 在 server2 上安装 httpd,使用 82 端口提供 Web 服务,满足以下要求:
·能访问 web 服务默认站点目录中的文件;
·web 服务在系统启动时自动启动;
·禁止禁用防火墙;
·确保 SELinux 保护机制运行在 Enforcing 模式;
-
- 在 server2 上配置默认软件仓库(rocky.repo),满足以下要求:
·虚拟机使用 http://server2.sdskills.lan:82/BaseOS、 http://server2.sdskills.lan:82/AppStream 作为默认软件源;
- dns 服务
任务描述:创建 DNS 服务器,实现企业域名访问。
-
- 配置 linux 主机的 IP 地址和主机名称。
- 所有 linux 主机启用防火墙(kubernetes 服务主机除外),防火墙区域为 public,在防火墙中放行对应服务端口。
-
- 所有 linux 主机之间(包含本主机)root 用户实现密钥 ssh 认证。
- 利用 bind,配置 linux1 为主 DNS 服务器,linux2 为备用 DNS 服务器。为所有 linux 主机提供冗余 DNS 正反向解析服务。正向区域文件均为 named.sdskills ,反 向 区 域 文 件 均 为 named.2024。
- ansible 服务
任务描述:请采用 ansible,实现自动化运维。
-
- 在 linux1 上安装并配置 Ansible 服务,~/ansible 创建 ansible.cfg 的配置文件并配置名为 inventory 的静态 inventory 文件,以满足以下要求:
linux1 是 master 主机组的成员;
linux2-linux7 是 slave 主机组的成员;
-
- 安装系统角色,~/ansible 下创建符合以下条件的timesync.yml 的playbook:在所有受管节点上运行且使用 timesync 角色;
配置该角色使用 linux1.sdskills.lan 为时间服务器;配置该角色启用 iburst 参数;
-
- 根据以下要求,在~/ansible/roles 中创建名为 apache 的角色:安装 httpd 软件包,并启动 httpd 服务且下次开机启动;
创建 index.html.j2 文件,该模板文件用于输出如下内容:
Welcome to HOSTNAME on IPADDRESS
HOSTNAME 是受控节点的 FQDN,IPADDRESS 则是受控节点的 IP 地址创建 playbook~/ansible/apache.yml,在 slave 主机组使用 apache 的角色。
- keepalive 服务
任务描述:为准确地表达的集群资源之间的关系,请采用 keepalive,实现 web
服务的负载均衡。
-
- 为 linux3 添加 4 块硬盘,每块硬盘大小为 5G,(存储卷名称分别为 linux3-
1.qcow2 至 linux3-4.qcow2)创建 lvm 卷,卷组名为 vg1,逻辑卷名为 lv1,容量为全部空间,格式化为 ext4 格式。使用/dev/vg1/lv1 配置为 ISCSI 目标服务器,为 linux4和linux5 提供 iSCSI 服务。iSCSI 目标端的 wwn 为iqn.2024-12.lan.sdskills:server, iSCSI发起端的 wwn 为 iqn.2024-12.lan.sdskills:client。
-
- 配置 linux4 和 linux5 为 ISCSI 客户端,实现 discovery chap 和session chap
双向认证,Target 认证用户名为 IncomingUser,密码为 IncomingPass;Initiator 认证
用户名为 OutgoingUser,密码为 OutgoingPass。
-
- 配置 Linux4 和 Linux5 为集群服务器,安装 keepalive,Linux4 为主服务器 (优先级为 100),Linux5 为备份服务器(优先级为 80),虚拟 IP 地址为 10.6.20.90,密钥为 1122。提供 apache 服务,域名为 www.sdskills.lan,网站目录为/var/www/html,挂载 iscsi 磁盘,网站主页 index.html 内容为“HelloLinuxCluster”。
- kubernetes 服务
任务描述:为了对容器进行更高级更灵活的管理,请采用 Kubernetes 服务,管理和控制容器。
- 在 linux6-linux7 上安装 containerd 和 kubernetes,linux6 作为 master node, linux7 作为 work node;containerd 的 namespace 为 k8s.io;使用 containerd.sock 作为容器 runtime-endpoint;pod 网络为 10.244.0.0/16,services 网络为 10.96.0.0/12。 master 节点配置 calico,作为网络组件。
- 导入 nginx.tar 镜像,主页内容为“Hello Kubernetes”。用该镜像创建一个名称为 web 的 deployment,副本数为 2;为该 deployment 创建一个类型为 nodeport的 service,port 为 80,targetPort 为 80,nodePort 为 2024。
- Bash Shell 脚本应用
任务描述:按照题目要求执行程序,实现显示效果。
在 Linux2 上编写~/Create_user.sh 的 shell 脚本文件, 要求创建 10 个本地用户,用户名分别为user1 至user10,密码为随机的 8 位Base64 编码字符串且将用户的 Shell设置为/bin/bash;最后,输出用户名和密码。
五、网络运维
- 网络运维
任务描述:对给定取证镜像文件进行分析,在需要取证的镜像文件中准确搜索、提取和固定比赛要求的标的文件(线索关键字为“Evidence 1”、“Evidence 2”、……、 “Evidence 10”,有文本形式也有图片形式,不区分大小写),并按关键字的顺序填写相关信息,取证的类型包含在已删除的、受损的文件找到隐藏的关键字,或者关键字隐藏在目标文件中。
-
- 将取证镜像文件“选手文件 2024.E01”和工具“Autopsy-4.17.0.rar”上传到实例 windows2 中。
-
- 解压工具“Autopsy-4.17.0.rar”,对取证镜像文件进行分析。
- 根据线索关键字的顺序,将获取到的文件名保存到 windwos2 的 C:\01.txt
中。
- 系统运维
任务描述:由于 Linux 系统中默认没有回收站功能,删除文件之后很难恢复。因此请为 server2 添加回收站功能,以实现删除的数据文件默认放置到回收站中,来防止数据误删除的问题。
-
- 请在~/del/中创建--app.log、’i ivey.log’、-install.log 三个文件,内容分别为 del1、del2、del3。
- 安装~/trash 软件并配置,以达到使用 rm 删除数据文件后,在回收站中可以查看已删除的数据文件。
- 请复制~/del/下的 3 个文件到~/并删除。
-
- 安装 linux0,系统为 rocky-arm64 CLI,网络模式为桥接模式(桥接网卡名称为 br0),用户 root 密码为 Key-1122。
- 给 linux0 创建快照,快照名称为 linux0-snapshot。
- 根据 linux0 克隆虚拟机 linux1-linux7,且将虚拟机设置为开机自启动。