全国第二届职业技能大赛网络系统管理项目D-Automation环境

测试项目 - 样题

全国第二届职业技能大赛

网络系统管理项目

D-Automation环境

《测试项目》简介

以下是提交给 WorldSkills 的所有《测试项目》提案中必须包含的章节或信息清单。

  • 目录,包括组成《测试项目》的所有文件、图纸和照片的清单
  • 介绍/概述
  • 项目和任务的简短描述
  • 选手须知
  • 完成《测试项目》所需的设备、机械、装置和材料
  • 《评分方案》(包括评估标准)
  • 其他

介绍

此《测试项目》由以下文档/文件组成:

  • 样题.docx
  • users.csv
  • customers.json

准确和最新的文档一直是信息技术的挑战。由于在同一系统有很多工程师一起工作,这就使追踪是谁改变了什么内容变得很困难。Applix 公司决定处理这个问题,并雇佣你来对他们的基础设施进行现代化改造,强化和拓展。

项目和任务的描述

您将虚拟机迁移为基础架构即代码(IaC),并简化创建新服务的过程。你可以访问开发虚拟机(DEV-LIN & DEV-WIN)。你可以使用这些虚拟机来开发及测试你的工作,你应该完全能够使用Ansible和Python来完成所有的任务。

登录所有虚拟机和设备:

Linux 用户名 : root / appadmin  

Windows用户名 : Administrator / appadmin

密码: CNSkills-2023

所有的虚拟机和设备都连接到管理网络(10.22.0.0/24),都有静态配置IP地址。网络表中的所有IP地址都不会因为评分而更改。管理网络可以被用来配置不同的主机。你可以在SSH, HTTPS or WinRM上使用用户名和密码登录。

你可以在虚拟机上安装额外所需的软件包和功能。

选手须知

第1部分Linux

从HOST VM使用Ansible和Python脚本配置Linux主机LIN[1-5]。在评分前,所有的Linux VMs都会重置到初始状态。

您可以将Debian 11 ISO连接到VMs。

Hostname

  • 配置主机名
    • 所有主机都自动配置网络表中的主机名

IPtables

  • 配置iptables来过滤所有LIN hosts上的传入流量
    • 默认情况下应丢弃传入数据包
    • 允许服务所需的最小流量
    • 允许从HOST和DEV VMs到LIN主机的SSH和ICMP流量
    • 确保iptables在重启后仍然存在

DNS

  • 配置两台或更多DNS服务器
  • 在“dns”组的所有主机上安装DNS服务
    • “dns”组第一台主机应该对于“applix.com”域是权威的主服务器
    • 该组中的所有其他主机都应该是“applix.com”域的从属DNS服务器
    • 确保所有的主机都有<hostname>.applix.com的A记录
    • intranet.applix.com应解析为10.22.0.51
  • 自动配置客户端
    • 确保所有LIN服务器和HOST使用第一台DNS主机作为主DNS服务器,所有的从属DNS服务器作为辅助名称服务器
    • 为DNS配置后缀“applix.com”

Web

  • 配置两台及更多web服务器
  • 在 “web”组所有主机安装web服务
    • 本地网站应该监听在80端口
    • 主页显示以下内容 “Hello from <hostname> !”
    • 创建一个虚拟机监听在8081端口上,名为“intranet.applix.com”,显示以下内容

“Welcome to the intranet of Applix”

“This site was served by <hostname>”

第2部分Windows

从HOST VM使用Ansible和python配置Windows主机WIN[1-5]。

Hostname

    • 使用自动化配置主机名;

Root certificate

  • 配置CA,发布所有的证书;

Security and logging

  • 在所有Windows hosts停止和禁用远程桌面服务
  • 创建名为LogUptime的计划任务,以每30秒将当前正常运行时间附加到 C:\uptime.txt中,格式如下所示

XX days XX hours XX minutes XX seconds XX days XX hours XX minutes XX seconds XX days XX hours XX minutes XX seconds

Customer Deployments

  • 将“dc”组所有服务器配置为所有WIN hosts的DNS服务器
  • 将“dc”组所有服务器配置为域控制器
  • 使用customers.com作为域名
  • 使用“CNSkills-2023”作为安全密码
  • 将所有非DC的Windows hosts加入域
  • 在“iis”组的所有服务器安装IIS功能
  • 部署客户web环境
    • 信息是customers.json文件的所有客户
    • 基于“name”属性创建OU
    • 基于“username”和“password”属性,在此OU上创建AD用户
    • 为domain_prefix.customers.com创建一个指向随机IIS服务器的DNS条目,并使用domain_prefix作为randomization seed
    • 在所选的IIS服务器上创建一个虚拟主机监听80端口,显示“message”属性

3部分Network

从HOST VM使用Ansible和Python脚本配置路由器RTR[1-8]。在评分前,所有的网络设备都会重置到初始状态。

Hostname

    • 使用自动化配置主机名。

Security

    • 配置对管理界面的访问,仅允许从HOST和DEV的VM访问网络设备Gig1接口的SSH、ICMP和HTTPS流量。

Loopback Interface

    • 为路由器RTR[1-8]创建环回接口;
    • 使用环回接口0和/32的前缀进行配置。
    • 接口地址参考一下规则,如RTR1,的地址为1.1.1.1/32;RTR5的地址为5.5.5.5/32。

Internal routing

    • 配置内部动态路由,可以使用任何现代IGP路由协议;
    • 所有内部和边缘路由器都应参与路由过程;
    • 通告环回接口0和LAN网络(10.0.0.0/24)。

Internal BGP routing

    • 配置内部ibgp动态路由,所有Internal-router和Edge-router配置全网状内部AS,AS号为100;
    • 使用环回接口0建立连接。
    • 在每个路由器上通告环回0 和LAN 网络(10.0.0.0/24)。

eBGP peerings

    • 配置外部ebgp动态路由,所有External-router建立外部邻居,外部AS分别为200和300;
    • 配置外部ebgp动态路由。所有External-router和Edge-router建立外部邻居;
    • 使用环回接口0建立连接。

3部分API

创建一个Python API来查询有关基础设施的数据。API应当被托管在HOST VM上,所有API文件应位于/data/api下。你可以自由地使用Debian ISO上任何可用的模块和框架。

  • API应该在IP 10.22.0.50的443端口监听HTTPS
    • 确保您的API通过https://api.applix.com/可从HOST和DEV VMs访问
    • 在DEV VMs上Edge & Firefox浏览器应该没有证书警报
  • 创建名为“applix-api”的systemd服务
    • 该服务应该开机自启
    • API应当可以通过“start, restart, stop”systemd命令进行控制
  • Endpoints一般信息
    • 确保API可以返回关于内容格式的信息
    • Token身份验证是使用HTTP请求中的“token”头部完成的

  • Endpoint /stats (GET)
    • 此端点应当可以以JSON格式从HOST VM返回使用情况的统计数据

{

"ram_free": "X",

"uptime": "XX:XX:XX:XX,

"api_pid": "X",

"api_prio": "X",

"total_proc": "X”

}

    • ram_free = free amount of memory in MB
    • uptime = uptime in format dd:hh:mm:ss
    • api_pid = pid of current API process
    • api_prio = current CPU priority of API process
    • total_proc = total amount of processes running on system

  • Endpoint /customers/ (PUT)
    • 此端点用于部署新客户
    • 此端点需要以下参数以JSON格式编写,在HTTP body中
      • name = customer name
      • domain_prefix = prefix for domain
      • username = Active Directory username
      • password = Active Directory password
      • message = text displayed on website
    • 此端点应当可以将新用户添加在customers.json文件
      • 确保name, domain_prefix和username都是唯一的
      • 如果不唯一,则返回一个HTTP Forbidden错误

  • Endpoint /network/devices/stats (GET)
    • 该端点应以JSON格式返回来自思科网络设备的所有上行接口的统计信息。
    • 使用RESTCONF从路由器查询数(对pkts-in/pkts-out使用单播数据包)。

{

"devices": [{

"hostname": "X",

"management_ip": "XXX.XXX.XXX",

"ios_version": "XX.XX",

         "interfaces": [

             {

                "name": "GigabitEthernet1",

                "mac": "XX:XX:XX:XX:XX:XX",

                "ip": "XXX.XXX.XXX.XXX",

                "pkts-in": "XX",

                "pkts-out": "XX"

             },

             {

                "name": "Loopback0",

                "mac": "XX:XX:XX:XX:XX:XX",

                "ip": "XXX.XXX.XXX.XXX",

                "pkts-in": "XX",

                "pkts-out": "XX"

             }, ....

        ]

}, {

"hostname": "X",

"management_ip": "XXX.XXX.XXX.XXX",

"ios_version": "X", ....

}, .... ]

}

    • 可以使用查询参数 management_ip=XXX.XXX.XXX.XXX 过滤输出。
    • 如果没有找到设备,API 应该返回 http not found 错误。

  • Endpoint /network/devices/bgp (GET)
    • 该端点应以 JSON 格式返回所有 cisco 网络设备的活动 BGP 邻居
    • ·使用RESTCONF从路由器查询数据

{

"devices": [{

"management_ip": "XXX.XXX.XXX.XXX",

         "bgp_neighbors": [

             {

                "id": "XXX.XXX.XXX.XXX",

                "as": "XXX",

                "uptime": "hh:mm:ss",

                "keepalives-sent": "X",

                "keepalives-received": "X"

             },

             {

                "id": "XXX.XXX.XXX.XXX",

                "as": "XXX",

                "uptime": "hh:mm:ss",

                "keepalives-sent": "X",

                "keepalives-received": "X"

             }, ....

        ]

}, {

"management_ip": "XXX.XXX.XXX.XXX",

}, .... ]

}

    • 可以使用查询参数 management_ip=XXX.XXX.XXX.XXX 过滤输出。
    • 如果没有找到设备,API 应该返回 http not found 错误。

所需的设备、机械、装置和材料

网络表

ID

IP

OS

HOSTNAME

GROUP

DESCRIPTION

DEV-LIN

10.22.0.251

Debian 11.3 (GNOME)

  • dev-lin
  • dev

Development VM with the following software installed:

  • Postman
  • Python3

DEV-WIN

10.22.0.252

Windows 10 Pro

  • dev-win
  • dev

Development VM with the following software installed:

  • Postman
  • Python3

HOST

10.22.0.50

Debian 11.3

host

host

Host Server

LIN1

10.22.0.1

Debian 11.3

APPLIX-LINUXHOST-001

web

Dynamic Config

LIN2

10.22.0.2

Debian 11.3

APPLIX-LINUXHOST-002

dns

Dynamic Config

LIN3

10.22.0.3

Debian 11.3

APPLIX-LINUXHOST-003

dns

Dynamic Config

LIN4

10.22.0.4

Debian 11.3

APPLIX-LINUXHOST-004

web/dns

Dynamic Config

LIN5

10.22.0.5

Debian 11.3

APPLIX-LINUXHOST-005

dns

Dynamic Config

WIN1

10.22.0.101

Windows Server 2019

PETER

dc

Dynamic Config

WIN2

10.22.0.102

Windows Server 2019 (Core)

MAX

dc

Dynamic Config

WIN3

10.22.0.103

Windows Server 2019 (Core)

BEN

iis

Dynamic Config

WIN4

10.22.0.104

Windows Server 2019

ANNA

iis

Dynamic Config

WIN5

10.22.0.105

Windows Server 2019 (Core)

LISA

iis

Dynamic Config

RTR1

Gig1 - 10.22.0.201
Gig2 - 10.0.0.1

Cisco CSR1000v

Internal-RTR1

Internal-router

Internal - Dynamic Config

RTR2

Gig1 - 10.22.0.202
Gig2 - 10.0.0.2

Cisco CSR1000v

Internal-RTR2

Internal-router

Internal - Dynamic Config

RTR3

Gig1 - 10.22.0.203
Gig2 - 10.0.0.3

Cisco CSR1000v

Internal-RTR3

Internal-router

Internal - Dynamic Config

RTR4

Gig1 - 10.22.0.204
Gig2 - 10.0.0.4

Cisco CSR1000v

Internal-RTR4

Internal-router

Internal - Dynamic Config

RTR5

Gig1 - 10.22.0.205
Gig2 - 10.0.0.5
Gig3 - 192.168.55.1

Cisco CSR1000v

Edge-RTR5

Edge-router

Edge - Dynamic Config

RTR6

Gig1 - 10.22.0.206
Gig2 - 10.0.0.6
Gig3 - 192.168.55.2

Cisco CSR1000v

Edge-RTR6

Edge-router

Edge - Dynamic Config

RTR7

Gig1 - 10.22.0.207
Gig3 - 192.168.55.3
Loop1 - 1.1.1.1
Loop99 - 99.99.99.99

Cisco CSR1000v

External-RTR7

External-router

External - Dynamic Config

RTR8

Gig1 - 10.22.0.208
Gig3 - 192.168.55.4
Loop1 - 8.8.8.8
Loop99 - 99.99.99.99

Cisco CSR1000v

External-RTR8

External-router

External - Dynamic Config

CML

10.22.0.240

Cisco Modelling Lab

- CML

- CML

Web Access

网络(逻辑)图

网络(物理)图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值