一、   项目任务描述

点击跳转视频部署Linux服务

你作为一个Linux的技术工程师,被指派去构建一个公司的内部网络,要为员工提供便捷、安全稳定内外网络服务。你必须在规定的时间内完成要求的任务,并进行充分的测试,确保设备和应用正常运行。任务所有规划都基于Linux操作系统,请根据网络拓扑、基本配置信息和服务需求完成网络服务安装与测试,网络拓扑图和基本配置信息如下。

1.拓扑图

网络系统管理Linux环境——基础配置_客户端

2.网络地址规划

服务器和客户端基本配置如下:

Device

System

FQDN


IP/Mask/Gateway

IspSrv

UOS

ispsrv

81.6.63.100/24/无

OutsideCli

UOS

outsidecli.chinaskills

.cn

81.6.63.110/24/无

AppSrv

Centos

appsrv.chinaskills.cn

192.168.100.100/24/192.168.100.254

StorageSrv

Centos

storagesrv.chinaskills.cn

192.168.100.200/24/192.168.100.254

RouterSrv

Centos

routersrv.chinaskills. cn


192.168.100.254/24/无、

192.168.0.254/24/无、

81.6.63.254/24/无

InsideCli

Centos

insidecli.chinaskills.cn

DHCP From AppSrv

网络系统管理Linux环境——基础配置_客户端_02

网络系统管理Linux环境——基础配置_Linux_03

二、项目任务清单

服务器IspSrv工作任务

1.  DHCP

为OutsideCli客户端网络分配地址,地址池范围:81.6.63.110-81.6.63.190/24;

域名解析服务器:按照实际需求配置DNS服务器地址选项;

网关:按照实际需求配置网关地址选项;

2.  DNS

配置为 DNS 根域服务器;

其他未知域名解析,统一解析为该本机 IP;

创建正向区域“chinaskills.cn”;

类型为 Slave;

主服务器为“AppSrv”;

启用 chroot 功能,限制 bind9 在/var/named/chroot/下运行;

隐藏 bind 版本号,版本显示为“unknow”。

3.  SDN

在 IspSrv 上导入 OpenDayLight 软件包;

启动 OpenDayLight 的 karaf 程序,并安装如下组件:

feature:install odl-restconf  

feature:install odl-l2switch-switch-ui  

feature:install odl-mdsal-apidocs  

feature:install odl-dluxapps-applications

使用 Mininet 和 OpenVswitch 构建拓扑,连接 ODL 的 6653 端口如下拓扑结构:

网络系统管理Linux环境——基础配置_客户端_04

在浏览器上可以访问 ODL 管理页面查看网元拓扑结构;

通过 OVS 给 S2 下发流表,使得 H2 与 H1、H3 无法互通;

H1 启动 HTTP-Server 功能,WEB 端口为 8080,H3 作为 HTTP-Client,获取 H1 的 html 网页配置文件。

4.  NTP

安装ntp(使用其他ntp软件,以下功能均不得分);

在AppSrv和StorageSrv上创建CRON计划任务;

使用ntpdate指令,每隔五分钟进行一次时间同步;

服务器RouterSrv上的工作任务

1.  DHCP RELAY

安装DHCP中继;

[root@routersrv ~]# yum install dhcp -y

允许客户端通过中继服务获取网络地址;

[root@routersrv ~]# dhcrelay 81.6.63.100
[root@routersrv ~]# dhcrelay 192.168.100.100

2. ROUTING

开启路由转发,为当前实验环境提供路由功能。

[root@routersrv ~]# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf 
[root@routersrv ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@routersrv ~]#

根据题目要求,配置单臂路由实现内部客户端和服务器之间的通信。

3.  SSH

工作端口为2021;

只允许用户user01,密码ChinaSkill21登录到router。其他用户(包括root)不能登录,创建一个新用户,新用户可以从本地登录,但不能从ssh远程登录。

通过ssh登录尝试登录到RouterSrv,一分钟内最多尝试登录的次数为3次,超过后禁止该客户端网络地址访问ssh服务。

记录用户登录的日志到/var/log/ssh.log,日志内容要包含:源地址,目标地址,协议,源端口,目标端口。

4.  ISCSI

RouterSrv为target服务器端进行设置,创建target设备,targetID为10, 名称为iqn.2023-08.chinaskills.cn:test

5.  OPENVPN

要求服务器日志记录客户端登录时间、用户名,格式如“2022-08-10: 08:10:30 Successful authentication: username="vpnuser1"”;

日志文件存放至/var/log/openvpn.log 中;

创建用户 vpnuser1,密码为 123456,使用用户名密码认证,要求只能与 InsideCli 客户端网段通信,允许访问 StorageSrv 主机上的 SAMBA 服务;

VPN 地址范围为 172.16.0.0/24,OPENVPN 使用 tcp 1194 端口号进行工作。

6.  IPTABLES

添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的 dns、mail、web 和 ftp 服务;

INPUT、OUTPUT 和 FOREARD 链默认拒绝(DROP)所有流量通行;

配置源地址转换允许内部客户端能够访问互联网区域。

7.  WEB Proxy

安装 Nginx 组件;

配置文件名为 proxy.conf,放置在/etc/nginx/conf.d/目录下;

为 www.chinaskills.cn 配置代理前端,通过 HTTPS 的访问后端 Web服务器;

后端服务器日志内容需要记录真实客户端的 IP 地址;

缓存后端 Web 服务器上的静态页面;

创建服务监控脚本:/shells/chkWeb.sh;

编写脚本监控公司的网站运行情况;

脚本可以在后台持续运行;

每隔 3S 检查一次网站的运行状态,如果发现异常尝试 3 次;

如果确定网站无法访问,则返回用户“The site is being maintained”。

服务器AppSrv上的工作任务

1.  SSH

安装 SSH,工作端口监听在 2101;

仅允许 InsideCli 客户端进行 ssh 访问,其余所有主机的请求都应该拒绝;

在 cskadmin 用户环境下可以免秘钥登录,并且拥有 root 控制权限。

将 SSH 跟 SFTP 进行分离,要求 SFTP 监听端口为 54321,并且通过服务的方式进行启动或停止。

2.  DHCP

为InsideCli客户端网络分配地址,地址池范围:192.168.0.110-192.168.0.190/24;

域名解析服务器:按照实际需求配置DNS服务器地址选项;

网关:按照实际需求配置网关地址选项;

为InsideCli 分配固定地址为192.168.0.190/24;

设置默认租约时间为0.5天,最大租约时间为3天;

将 DHCP服务的日志信息从系统的日志服务中分离,通过rsyslog自定义消息处理,将日志信息保存至/var/log/dhcpd.log中。

3.  DNS(BIND)

为 chinaskills.cn 域提供域名解析;

为 www.chinaskills.cn、download.chinaskills.cn 和 mail.chinaskills.cn 提供解析;

启用内外网解析功能,当内网客户端请求解析的时候,解析到对应的内部服务器地址,当外部客户端请求解析的时候,请把解析结果解析到提供服务的公有地址;

请将IspSrv 作为上游DNS 服务器,所有未知查询都由该服务器处理。

4.  WEB

安装 WEB 服务;

服务以用户 webuser 系统用户运行;

限制 web 服务只能使用系统 500M 物理内存;

全站点启用 TLS 访问,使用本机上的“CSK Global Root CA”颁发机构颁发,网站证书信息如下:

C = CN

ST = China

L = BeiJing

O = skills

OU = Operations Departments

CN = *.chinaskills.cn

客户端访问 https 时应无浏览器(含终端)安全警告信息;

当用户使用 http 访问时自动跳转到 https 安全连接;

搭建 www.chinaskills.cn 站点;

网页文件放在 StorgeSrv 服务器上;

在 StorageSrv 上安装MriaDB,在本机上安装 PHP,发布 WordPress网站;

MariaDB 数据库管理员信息:User: root/ Password: Chinaskill21!

创建网站 download.chinaskills.cn 站点;

仅允许 ldsgp 用户组访问;

网页文件存放在 StorageSrv 服务器上;

在该站点的根目录下创建以下文件“test.mp3, test.mp4, test.pdf”,其中 test.mp4 文件的大小为 100M,页面访问成功后能够列出目录所有文件;

安全加固,在任何页面不会出现系统和 WEB 服务器版本信息。

5.  MAIL(POSTFIX-SMTPS & DOVECOT-IMAPS)

安装配置 postfix 和 dovecot,启用 imaps 和 smtps,

禁止使用不安全的 smtp 和 imap 发送和接收邮件;

安装配置 postfixadmin;

使用 mailuser1@chinaskills.cn 的邮箱向 mailuser2@chinaskills.cn 的邮箱发送一封测试邮件,邮件标题为 “just test mail from mailuser1”, 邮件内容为“hello , mailuser2”。

使用 mailuser2@chinaskills.cn 的邮箱向 mailuser1@chinaskills.cn 的邮箱发送一封测试邮件,邮件标题为 “just test mail from mailuser2”, 邮件内容为“hello , mailuser1”;

添加广播邮箱地址 all@chinaskills.cn,当该邮箱收到邮件时, mailuser1 和 mailuser2 用户都能在自己的邮箱中查看;使用mailuser1@chinaskills.cn 向 all@chinaskills.cn 发送测试邮件,邮件标题为 “test all”,邮件内容为“hello ,test all”;

使用 https://mail.chinaskills.cn 网站测试邮件发送与接收。

6.  CA(证书颁发机构)

CA 根证书路径/csk-rootca/csk-ca.pem;

签发数字证书,颁发者信息:(仅包含如下信息)  

C = CN

ST = China  

L = BeiJing

O = skills

OU = Operations Departments  

CN = CSK Global Root CA

7.  磁盘加密

创建一块新的磁盘,对该卷进行磁盘加密,解锁密码为“CSK2022!”

映射到/dev/mapper/crypt 分区上;

格式化成 ext4 分区;

挂载到/mut/crypt 目录;

配置开机自动挂载

8.  ISCSI

在appsrv上编辑iSCSI客户端配置文档将节点开启方式改为手动(manual)模式,之后启动iSCSI客户端进程以便发现target服务端。

服务器StorageSrv上的工作任务

1. DISK

添加大小均为10G的虚拟磁盘,配置raid-5磁盘。

创建LVM命名为/dev/vg01/lv01,大小为100G,格式化为ext4,挂在到本地目录/webdata,在分区内建立测试空文件disk.txt。

2.  NFS

共享/webdata/目录;

用于存储AppSrv主机的WEB数据;

仅允许AppSrv主机访问该共享。

3. VSFTPD

禁止使用不安全的 FTP,请使用“CSK Global Root CA”证书颁发机构,颁发的证书,启用 FTPS 服务;

创建虚拟用户 webuser,登录 ftp 服务器,根目录为/webdata,上传的文件映射为 webadmin;

登录后限制在自己的根目录;

允许 WEB 管理员上传和下载文件,但是禁止上传后缀名为.doc .docx .xlsx 的文件;

限制用户的下载最大速度为 100kb/s;最大同一 IP 在线人数为 2 人;

通过工具或者浏览器下载的最大速度不超过 100kb/s;

一个 IP 地址同时登陆的用户进程/人数不超过 2 人;

采用随机端口用户客户端跟服务器的数据传输,并限制传输端口为 40000-41000 之间。

4.  SAMBA

创建 samba 共享,本地目录为/data/share1,要求:

共享名为 share1;

仅允许 zsuser 用户能上传文件;

创建 samba 共享,本地目录为/data/public,要求:

共享名为 public。

允许匿名访问。

所有用户都能上传文件。

5. DISK(RAID5)

在虚拟机上添加 4 个 1G 的硬盘;

创建 raid5,其中一个作为热备盘, 设备名为md0;

将 md0 设置为 LVM,设备为/dev/vg01/lv01;

格式化为 ext4 文件系统;

开机自动挂载到/data 目录

6. Mariadb

脚本文件:/shells/mysqlbk.sh;

备份数据到/root/mysqlbackup 目录;

备份脚本每隔 30 分钟实现自动备份;

导出的文件名为 all-databases-20210213102333,其中 20210213102333 为运行备份脚本的当前时间,精确到秒。

7. LDAP

安装 slapd,为 samba 服务提供账户认证;

创建 chinaskills.cn 目录服务,创建 users 组织单元,并创建用户组 ldsgp ,将 zsuser、lsusr、wuusr 加入 ldsgp 组。

客户端OutsideCli和InsideCli工作任务

1.  OutsideCli

作为DNS服务器域名解析测试的客户端,安装nslookup、dig命令行工具;

apt install dnsutils -y
apt  install dnsutils -y

作为网站访问测试的客户端,安装firefox浏览器, curl命令行测试工具;

apt install firefox -y

作为SSH远程登录测试客户端,安装ssh命令行测试工具;

apt install openssh-client -y

作为SAMBA测试的客户端,使用图形界面文件浏览器测试, 并安装smbclient工具;

apt install smbclient -y

作为FTP测试的客户端,安装lftp命令行工具;

apt install lftp -y

作为防火墙规则效果测试客户端,安装ping命令行工具。

apt install iputils-ping -y

截图的时候请使用上述提到的工具进行功能测试。

2.  InsideCli

作为DNS服务器域名解析测试的客户端,安装nslookup、dig命令行工具;

yum install bind-utils -y

作为网站访问测试的客户端,安装firefox浏览器, curl命令行测试工具;

yum install firefox -y
yum install curl -y

作为SSH远程登录测试客户端,安装ssh命令行测试工具;

yum install openssh-clients -y

作为SAMBA测试的客户端,使用图形界面文件浏览器测试, 并安装smbclient工具;

yum install -y samba-client -y

作为FTP测试的客户端,安装lftp命令行工具;

yum install lftp -y

作为防火墙规则效果测试客户端,安装ping命令行工具。

yum install iputils -y

截图的时候请使用上述提到的工具进行功能测试。