预计完成时间:2-4 小时
可操作组件的所有者:OELCM
技能配置文件:部署工程师
此机器的主要用途是在主要方法不可用时与实体设备互动。例如,如果引导加载程序到交换机连接出现故障,则可以连接到交换机控制台端口。
部分部署合作伙伴选择在 GDC 核心机架中使用服务器,然后稍后使用引导加载程序回收说明。如果您的数据中心机房禁止自由滚动服务器、显示器、鼠标或键盘,则必须执行此步骤。
方案 A。Live CD 或 DVD
系统控制器在完全实时的 CD 或 DVD(光盘)上运行。
请勿安装在物理硬盘上。
此系统不得有物理驱动器。
使用已清除 DTO 的 Rocky 实时映像。
请勿使用 USB 拇指驱动器。
您必须通过 DTO 定期更新这些映像。
说明
烧录到 CD 或 DVD 上。
将系统控制器设置为从 CD 或 DVD 启动。
设置 IP 地址。
方案 B。安装操作系统 (OS)
本文档旨在创建一个符合安全技术实施指南 (STIG) 的工作站,其中包含支持 Google Distributed Cloud (GDC) 气隙环境所需的软件工具。
摘要
系统控制器是一种包含工作站、键盘、鼠标和显示器的崩溃推车。
前提条件
查看本完整指南,并验证以下各项:
- 数据转移专员 (DTO) 在安装周随时待命。
- 安装所需的设备和介质包括:
- Distributed Cloud 启用工具指南
- USB 媒体
- 文件下载,包括操作系统 ISO 和其他软件 RPM
- 工作站、显示器、键盘、鼠标和线缆。
- 服务控制台操作系统的网络信息:
- IP 地址
- 子网掩码
- 默认网关
- DNS 信息
已识别的资源
- 分布式云技能熟练程度矩阵
| DTO | Engineer | Scribe/Comms | 讲师 | Runner/TL/TW |
|---|---|---|---|---|
- 分布式云部署团队角色
其他资源
- 下载操作系统安装指南
- 下载 Minicom 设置流程
- 下载 COW 和构建急救车设置说明。
创建可启动媒体
请使用 DTO 在前往客户现场之前完成此任务。
- 下载 Rocky 8 或 9 DVD ISO。
下载其他软件包:
软件包 网址 clamav(可选) Rocky 8.x / Rocky 9.x clamav-data (可选) Rocky 8.x / Rocky 9.x clamav-filesystem(可选) Rocky 8.x / Rocky 9.x clamav-freshclam (可选) Rocky 8.x / Rocky 9.x clamav-lib (可选) Rocky 8.x / Rocky 9.x clamd (可选) Rocky 8.x / Rocky 9.x 代码 Rocky 8.x / Rocky 9.x google-chrome-stable_current Rocky 8.x / Rocky 9.x k9s Rocky 8.x / Rocky 9.x kubectl Rocky 8.x / Rocky 9.x liberation-fonts Rocky 8.x / Rocky 9.x libprelude Rocky 8.x / Rocky 9.x lm_sensors Rocky 8.x / Rocky 9.x lm_sensors_libs Rocky 8.x / Rocky 9.x lockdev Rocky 8.x / Rocky 9.x lrzsz Rocky 8.x / Rocky 9.x minicom Rocky 8.x / Rocky 9.x sysstat Rocky 8.x / Rocky 9.x 执行必要的软件转移程序,将 ISO 和软件包引入数据中心机房的安全空间。
将 ISO 映像写入加密的 USB 驱动器。
将其他软件包复制到加密的 USB 驱动器。
# Set variable to iso file downloaded OS_ISO=Rocky-9.5-x86_64-dvd.iso # cd to directory where iso and additional software rpms are stored # Determine the device name of the USB drive. sudo lsblk # Set the device name of the USB drive. echo "What is the device name of the USB drive? Provide full name for example /dev/sdX" read USB_DEVICE read -r -p "Proceeding will destroy existing data on ${USB_DEVICE}. Continue with formatting? [y/n] " response case "$response" in [yY][eE][sS]|[yY]) echo "Formatting USB drive with ${OS_ISO}..." ;; *) echo "Exiting..." exit 0 ;; esac # Write ISO to USB drive sudo dd if=${OS_ISO} of=${USB_DEVICE} bs=4M echo "Copying additional software packages to USB drive" sudo mkdir /mnt/usb sudo mount ${USB_DEVICE} /mnt/usb sudo mkdir /mnt/usb/opt/ sudo cp *.rpm /mnt/usb/opt/ # Unmount USB drive sudo umount /mnt/usb echo "Bootable media creation is complete."
安装当天
从库存或装货平台运输和接收处取回设备。 将设备带到数据中心 (DC) 工作区。继续为系统控制器构建应急车。
准备和构建设备
- 开箱工作站
- 验证序列号
- 组装急救推车
- 安装显示屏
- 包含键盘
- 包含鼠标
- 在此处添加系统控制器设置传单或 PDF 文件。
- 将线缆连接到工作站
- 插入显示线缆(VGA、HDMI、DisplayPort)
- 插入鼠标
- 插入键盘
- 执行操作系统安装
- 将需要来自 DTO/DTA 的媒体。
操作系统安装
预计系统控制器(配备键盘、显示器和鼠标)将设置完毕,可用于安装操作系统。
从媒体启动
- 从可启动的介质启动系统控制器。
- 选择 Check Media and Install(检查媒体并安装)。
- Redhat 安装程序 GUI 加载后,在每个部分中选择以下内容。
下图显示了初始消息,其中包含系统控制器从可启动介质显示的操作系统安装选项。

图 1. 来自可启动介质的初始消息。
- 已启动 ISO 媒体。

图 2. 安装的语言选择。
本地化
- 键盘:英语(美国)
- 语言:英语(美国)
网络和主机名
- 点击网络设备上的配置。
- 在 IPv4 设置中,选择手动。
- 在地址中,点击添加。
- 在相应字段中输入 IP 地址、网络掩码和网关。
- 输入 DNS 服务器。
- 依次点击保存和完成。
- 在 IPv4 设置中,选择手动。
- 在地址中,点击添加。
- 在相应字段中输入 IP 地址、网络掩码和网关。
- 输入 DNS 服务器。
- 依次点击保存和完成。

图 3.安装的网络和主机名选项。
时间和日期
- 点击右上角的“设置”图标。
- 在主机名字段中输入管理交换机的 IP 地址。
- 点击确定。
- 设置区域和时区。
- 点击完成。
- 在主机名字段中输入管理交换机的 IP 地址。
- 点击确定。
- 设置区域和时区。
- 点击完成。

图 4. 安装的时间和日期选项。
软件
- 选择软件:工作站
- 加购项:
加购项:
- 网络服务器
- 系统工具
- 办公效率
下图显示了安装的 SOFTWARE SELECTION 页面。 该页面显示了两个菜单:一个菜单用于基本环境,其中选择了工作站选项。另一个菜单用于显示所选环境的其他软件,其中选择了网络服务器和系统工具选项。

图 5. 安装所需的基本环境和其他软件。
- 工作站被选为基本环境
- 选择网络服务器作为附加软件安装
- 选择作为附加软件安装的系统工具
- 选择“办公效率”作为要安装的附加软件
安装目标位置和磁盘分区
下图显示了安装目的地页面,其中已选择磁盘设备。此页面上还指定了自定义存储配置。

Figure 6. 安装目的地和存储配置选择。
- 选择:SSD 安装目标。
自定义分区:
- 创建以下分区布局。
- 接受每个分区的默认文件系统类型。
- 修改 LVM 卷组以使用所有剩余磁盘空间。
- 记录员/工程师记录系统已根据安装指南进行分区。
由工程师进行人工审核,检查分区大小并验证主目录是否存在。
如需让卷组扩展到填满整个 SSD,在定义分区后还需要执行一个额外的步骤。
- 点击分区窗口中的卷组:修改按钮。
- 尺寸:“尽可能大”。
| 文件系统 | 大小 | Scribe 验证(如果为其他更新) |
|---|---|---|
| /boot | 1 G | |
| /boot/efi | 0.5 G | |
| / | 50 G | |
| /tmp | 8 G | |
| /var | 40 G | |
| /var/log | 20 G | |
| /var/log/audit | 20 G | |
| /var/tmp | 4 G | |
| /opt/software-repo | 100 G | |
| /home | 剩余空间 |
安全政策
滚动浏览可用安全政策的列表。
- 选择:DISA STIG with GUI。
点击选择个人资料。
这会应用所选的安全政策。
滚动浏览输出内容,看看政策是否检测到任何错误。
阅读安全政策中列出的计划变更。
如果您看到红色错误,请手动进行更改以符合要求。这通常是磁盘分区问题。
确保安全政策处于开启状态。
在此步骤中,记录员应坐在工程师旁边。
下图显示了安全政策页面,其中适用于 Red Hat Enterprise Linux 9 的 DISA STIG(含 GUI)被选为配置文件。此页面还会显示配置文件的说明和选择配置文件按钮。

图 7.安全政策的配置文件选择。
- 安全政策已成功应用,未出现任何错误。
用户设置
配置 root 用户
- 设置 root 密码。
- 在安装完成后,将根密码记录在加密的媒体驱动器上。
配置第一个运营者账号
- 为初始操作员用户账号设置用户名。
- 让操作员选择自己的密码。
- 选中“管理员”,将账号添加到 %wheel 组。
下图显示了安装过程中的 CREATE USER 页面。该页面会显示您必须填写的字段,例如全名、用户名、密码和高级选项。

图 8.包含用于创建用户的信息的字段。
- 用户设置已完成。
- 凭据已验证并保存到加密的配置文件中。
更新系统
- 返回到主屏幕
- 系统会显示“升级”按钮
- 开始安装
- 升级需要一段时间
- 使用最新定义更新病毒软件
- 使用创建的账号登录
- 系统会显示首次登录界面
使用经过 STIG 加固的 USB 设备
在满足 STIG 要求的 Linux 机器上使用 USB 设备的权限受到严格限制,需要将各个设备添加到许可名单中才能使用。
以下命令允许键盘和鼠标在物理 USB 端口之间自由移动。这涉及更新 usbguard 规则。
- 启用 USB 存储设备
移除伪造的 usb-storage 驱动程序:
sudo rm /etc/modprobe.d/usb-storage.conf
永久启用新的 USB 设备
如需永久启用某个 USB 设备以供使用,您必须修改 usbguard 规则。
在实际插入新的 USB 之前,请先启动
usbguard watch以捕获新的设备标识符字符串:sudo usbguard watch list-devices实际插入 USB 设备,然后复制生成的输出:
deny id 413c:301a serial "" name "Dell MS116 USB Optical Mouse" hash "kYdX3V8dJl2JDRpEA1mRTUMupUaUe4aGUUZcSr7r5EE=" parent-hash "bRXptnzyxb9ThCMx2AmE81vX4L0JJpn0YRy8OPD8K0A=" via-port "1-6.2" with-interface 03:01:02 with-connect-type "unknown向
/etc/usbguard/rules.conf添加新行,其中包含从手表捕获的标识符行:sudo vi /etc/usbguard/rules.confallow id 413c:301a serial "" name "Dell MS116 USB Optical Mouse" hash "kYdX3V8dJl2JDRpEA1mRTUMupUaUe4aGUUZcSr7r5EE=" parent-hash "bRXptnzyxb9ThCMx2AmE81vX4L0JJpn0YRy8OPD8K0A=" with-interface 03:01:02 with-connect-type "unknown重启 usbguard 守护程序:
sudo systemctl restart usbguard.service
暂时启用新的 USB 设备
插入新的 USB 设备,并确定为其分配的设备编号:
usbguard list-devices最新设备通常列在最后一行。设备编号是相应行的第一个数字:
usbguard list-devices | tail -1 | awk '{print $1}'使用
usbguard将安全 USB 列入许可名单:sudo usbguard allow-device ${USB_ID}正常装载生成的 USB 存储设备:
sudo lsblk # Determine the device name of the USB drive. # Set the device name of the USB drive. USB_DEVICE=/dev/sdX # replace X with the device number of the USB drive. sudo mkdir /mnt/usb; chmod 555 /mnt/usb sudo mount ${USB_DEVICE} /mnt/usb您现在应该会看到安全 USB 已装载。
- USB 已成功装载。
安装所有工具
插入包含其他软件的 U 盘。
sudo lsblk # Determine the device name of the USB drive. # Set the device name of the USB drive. USB_DEVICE=/dev/sdX # replace X with the device name of the USB drive. sudo mkdir /mnt/usb sudo mount ${USB_DEVICE} /mnt/usb sudo rpm -ihv /mnt/usb/opt/*.rpm sudo umount /mnt/usb
使用 Minicom 访问串行控制台
minicom 程序比较旧,它会假设您在调用它时想要连接到手机调制解调器。您必须更改默认设置才能使用 USB 转串口线。
以配置模式启动 minicom:
sudo minicom -s这会打开配置 TUI,以便您更改设置。
下图显示了从配置 TUI 中选择的串行端口设置选项。

将串行设备更改为 /dev/ttyUSB0,并根据需要调整波特率(速度)。
下图显示了设置为 /dev/ttyUSB0 的串行设备。

如需永久保存此更改,请使用
Save setup as dfl。选择 Exit 以从配置菜单中退出到实际的串行控制台。
下图显示了从配置 TUI 中选择的退出选项。

在串行连接中,使用超级键更改设置并退出:
CTRL+A, Z X = exit minicom and return to bash shell P = modify config settings
设置 Auditd 日志轮换
STIG 配置意味着 auditd 会创建大量日志。如果磁盘空间不足,它可能会将系统关闭到单用户模式。为防止出现此问题,请配置 auditd 日志的日志轮换。鉴于 auditd 无法在不重新启动的情况下重新启动,您必须同时配置 auditd 和 logrotate。
创建新的 /etc/logrotate.d/auditlog 文件
cat << EOF | sudo tee /etc/logrotate.d/auditlog /var/log/audit/audit.log.1 /var/log/audit/audit.log.2 /var/log/audit/audit.log.3 /var/log/audit/audit.log.4 /var/log/audit/audit.log.5 { missingok compress } EOF修改
/etc/audit/auditd.conf file's max_log_file设置:sudo vi /etc/audit/auditd.conf将相应行更改为更新后的设置:
max_log_file = 1024 max_log_file_action = rotate重启工作站:
sudo shutdown -r now
WLAN
- 通过界面 (UI) 或运行 Nmcli 实用程序
nmcli radio wifi off完成安装后,停用 Wi-Fi。 - 确认 Wi-Fi 已停用或组件不存在。
安装后
设置系统控制器后,下一步是将代码库从安装介质复制到本地文件系统。
设置本地 Yum 代码库
将整个 Rocky Linux 发行版复制到本地磁盘,以创建本地代码库。这样一来,yum 命令便可用于安装和更新软件。
复制媒体
将 USB 媒体装载到
/mnt/repo。将代码库从 DTO 媒体复制到/opt/software-repo/目录。如果这些目录不存在,请创建它们。sudo lsblk # Determine the device name of the USB drive. # Set the device name of the USB drive. USB_DEVICE=/dev/sdX # replace X with the device name of the USB drive. sudo mkdir -m 555 /mnt/usb sudo mkdir -p /opt/software-repo/Rocky sudo mount ${USB_DEVICE} /mnt/usb sudo cp -a /mnt/usb/AppStream /opt/software-repo/Rocky sudo cp -a /mnt/usb/BaseOS /opt/software-repo/Rocky
创建本地媒体代码库
您只需执行以下操作一次。
将所有现有的
.repo文件从/etc/yum.repos.d/移至备份目录。sudo mkdir /root/repobackup sudo mv /etc/yum.repos.d/* /root/repobackup/创建本地代码库文件
cat << EOF | sudo tee /etc/yum.repos.d/local_Rocky-AppStream.repo [appstream] name=Rocky Linux $releasever - AppStream #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/ baseurl=file:///opt/software-repo/Rocky/AppStream gpgcheck=1 enabled=1 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial EOF cat << EOF | sudo tee /etc/yum.repos.d/local_Rocky-BaseOS.repo [baseos] name=Rocky Linux $releasever - BaseOS #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/ baseurl=file:///opt/software-repo/Rocky/BaseOS gpgcheck=1 enabled=1 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial EOF sudo dnf clean all
安装后核对清单
- 我们已记录发现的问题。
- 敏感凭据已安全转移并记录在案。
- 已在任务跟踪器上成功更新操作系统和工具安装任务。
- 系统控制器配置后核对清单:
ip a# 显示正确的 IPkubectl versionk9s versionminicom --helptmux -Vchronyc sources