物理机 3.10 内核 + ali2013 版本 + IPv6 开启检查方法

简介: 本文档介绍物理机合规检查方案,聚焦「3.10内核」「ali2013+版本」「IPv6开启」三项核心条件。提供手动单台与批量自动化两种检查方法,涵盖前置准备(API访问、免密SSH、基础工具)、分步执行命令、结果判定逻辑及完整Shell脚本,确保高效准确完成大规模检查。

本次检查的核心是判定物理机是否同时满足「3.10内核」「ali2013及后续版本」「IPv6开启」三项条件,以下分「手动单台检查」和「批量自动化检查」两种方法详细说明,覆盖操作步骤、结果判断、注意事项。

前置准备

无论哪种检查方法,都需要先完成以下准备工作,确保检查顺利执行:

操作机(执行命令/脚本的机器)需能访问目标API地址(127.0.0.1:7070),获取物理机列表。

操作机需配置与所有目标物理机的免密SSH登录,避免频繁输入密码影响效率。

# 配置免密登录(替换为实际物理机主机名,执行后输入物理机登录密码即可完成授权)
ssh-copy-id c23f06001.cloud.f06.amtest48

确保操作机已安装curlgrepawk工具(Linux系统默认自带,无需额外安装)。

步骤1:获取目标物理机主机名

先通过API提取需要检查的物理机列表(非虚拟机、tianji项目),命令如下:

# 提取物理机主机名,输出结果可直接复制用于后续单台检查
curl -s '127.0.0.1:7070/api/v3/column/m.id?m.project=tianji&m.sm_name!=VM' | grep "m.id" | awk '{print $2}'

执行后得到物理机主机名列表,示例:

c23f06001.cloud.f06.amtest48
c23f10134.cloud.f11.amtest48

步骤2:单台物理机三项条件逐一检查

选取列表中的一台物理机(以c23f06001.cloud.f06.amtest48为例),依次执行以下3条检查命令,记录每条命令的执行结果。

条件1:检查是否为3.10内核

执行命令:

ssh c23f06001.cloud.f06.amtest48 "uname -r | grep 3.10"

结果判断:

满足(符合条件1):命令输出包含3.10的内核版本号,示例输出:3.10.0-ali2013.el7.x86_64

不满足(不符合条件1):命令无任何输出,返回空

条件2:检查是否为ali2013及后续版本

执行命令:

ssh c23f06001.cloud.f06.amtest48 "uname -r | grep ali201"

结果判断:

满足(符合条件2):命令输出包含ali201的内核版本号,示例输出:3.10.0-ali2013.el7.x86_64(ali2013)、3.10.0-ali2019.el7.x86_64(ali2019)

不满足(不符合条件2):命令无任何输出,返回空

条件3:检查是否开启IPv6

执行命令:

ssh c23f06001.cloud.f06.amtest48 "cat /proc/cmdline | grep ipv6.disable=0"

结果判断:

满足(符合条件3):命令输出包含ipv6.disable=0的内核启动参数,示例输出:BOOT_IMAGE=/vmlinuz-3.10.0-ali2013.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet ipv6.disable=0

不满足(不符合条件3):命令无任何输出,返回空

步骤3:最终结果判定

汇总单台物理机的3项条件检查结果,按照以下逻辑判定最终是否通过:

检查不通过:3项条件全部满足(均有有效输出)

检查通过:任意1项及以上条件不满足(至少1项无输出)

手动检查示例

物理机主机名

条件1结果

条件2结果

条件3结果

最终判定

c23f06001.cloud.f06.amtest48

有输出(3.10内核)

有输出(ali2013)

有输出(IPv6开启)

检查不通过

c23f10134.cloud.f11.amtest48

无输出(5.4内核)

有输出(ali2013)

有输出(IPv6开启)

检查通过

批量自动化检查

当物理机数量较多时,手动单台检查效率低下,可通过Shell脚本封装所有逻辑,实现「自动获取列表→批量轮询检查→自动汇总结果」,无需人工干预。

步骤1:编写批量检查脚本

创建脚本文件physical_machine_batch_check.sh,内容如下(包含完整逻辑和容错处理):

#!/bin/bash
# 物理机三项条件批量检查脚本
# 功能:自动获取物理机列表,批量验证3项条件,输出最终检查结果
# 定义临时文件存储物理机列表
TEMP_LIST="/tmp/physical_machines_check.list"
# 步骤1:自动获取目标物理机列表
echo "========================================"
echo "开始获取tianji项目非VM物理机列表..."
curl -s '127.0.0.1:7070/api/v3/column/m.id?m.project=tianji&m.sm_name!=VM' | grep "m.id" | awk '{print $2}' > $TEMP_LIST
# 容错:检查是否获取到有效列表
if [ ! -s $TEMP_LIST ]; then
    echo "错误:未获取到任何物理机列表!请检查API接口或项目配置。"
    echo "========================================"
    exit 1
fi
# 统计物理机数量
MACHINE_COUNT=$(wc -l < $TEMP_LIST)
echo "成功获取到 $MACHINE_COUNT 台物理机,开始批量检查..."
echo "========================================"
# 步骤2:批量轮询物理机,执行三项条件检查
while read -r HOSTNAME; do
    # 跳过空行(避免列表异常导致报错)
    if [ -z "$HOSTNAME" ]; then
        continue
    fi
    echo "正在检查物理机:$HOSTNAME"
    
    # 执行三项条件检查,通过返回值判断是否满足(0=满足,非0=不满足)
    # 增加SSH连接超时5秒,避免单台机器不可达导致脚本卡顿
    ssh -o ConnectTimeout=5 $HOSTNAME "uname -r | grep 3.10" > /dev/null 2>&1
    CONDITION_1=$?
    ssh -o ConnectTimeout=5 $HOSTNAME "uname -r | grep ali201" > /dev/null 2>&1
    CONDITION_2=$?
    ssh -o ConnectTimeout=5 $HOSTNAME "cat /proc/cmdline | grep ipv6.disable=0" > /dev/null 2>&1
    CONDITION_3=$?
    # 步骤3:自动判定最终结果并输出
    if [ $CONDITION_1 -eq 0 ] && [ $CONDITION_2 -eq 0 ] && [ $CONDITION_3 -eq 0 ]; then
        echo "结果:❌ 检查不通过(同时满足3.10内核、ali2013+版本、IPv6开启)"
    else
        echo "结果:✅ 检查通过"
    fi
    echo "----------------------------------------"
done < $TEMP_LIST
# 步骤4:清理临时文件,完成检查
rm -f $TEMP_LIST
echo "批量检查完成!共检查 $MACHINE_COUNT 台物理机。"
echo "========================================"

步骤2:执行批量检查脚本

  1. 赋予脚本执行权限:
chmod +x physical_machine_batch_check.sh
  1. 运行脚本:
./physical_machine_batch_check.sh

步骤3:查看批量检查结果

脚本执行过程中,会实时输出每台物理机的检查进度和最终结果,示例输出:

========================================
开始获取tianji项目非VM物理机列表...
成功获取到 2 台物理机,开始批量检查...
========================================
正在检查物理机:c23f06001.cloud.f06.amtest48
结果:❌ 检查不通过(同时满足3.10内核、ali2013+版本、IPv6开启)
----------------------------------------
正在检查物理机:c23f10134.cloud.f11.amtest48
结果:✅ 检查通过
----------------------------------------
批量检查完成!共检查 2 台物理机。
========================================
目录
相关文章
|
6月前
|
JSON 运维 网络协议
iperf3网络性能测试
iperf3 是一款网络性能测试工具,支持 TCP/UDP 协议,可测量带宽、延迟、丢包等指标。基于客户端-服务器模型,适用于网络调试与性能评估,提供丰富参数及 JSON 输出,便于自动化分析。
947 1
iperf3网络性能测试
|
6月前
|
监控 安全 Linux
什么是基线扫描?
基线扫描(Baseline Scanning)是信息安全领域中的一项基础工作,指的是将一台服务器(本文特指Linux物理机)当作体检对象,逐条对照预先定义好的"最低安全要求"进行核查,发现不符合项并给出修复建议的全过程。这些"最低安全要求"通常以政府法规、行业标准或国际规范的形式发布,如国内的等级保护2.0、关基、关保,以及国际的CIS Benchmark、NIST 800-53、DISA STIG等。基线扫描的核心目的在于"提前发现配置隐患、满足合规要求、降低安全事故概率"。 与漏洞扫描关注"代码缺陷"不同,基线扫描更关注"配置错误"。漏洞扫描侧重发现软件中存在的可被利用的漏洞(CVE、P
525 2
|
3月前
|
SQL 安全 前端开发
WordPress Fontsy Plugin SQL注入漏洞深度剖析与防御指南
本文深度解析WordPress Fontsy插件CVE-2022-4447高危SQL注入漏洞:影响1.8.6及以下所有版本,未授权即可通过AJAX接口(get_fonts等)触发,CVSS最高9.8分。详述成因(参数未过滤+未用$wpdb-&gt;prepare)、危害(数据窃取、服务器沦陷)及紧急卸载、WAF拦截、安全开发等防御方案。(239字)
239 8
|
9月前
|
机器学习/深度学习 存储 缓存
DNS解析中TTL参数深度解析
本文深度解析DNS解析中的TTL参数,涵盖技术规范、优化策略及工程实践。内容包括TTL定义、分层缓存机制、企业配置建议、变更管理流程、特殊场景应对方案及前沿技术演进,助你全面掌握TTL优化方法。
789 1
|
6月前
|
运维 数据安全/隐私保护 内存技术
NVMe 盘故障排查 5 步速查
通过系统日志、NVMe健康状态、错误日志及Pangu集群摘要等多维度诊断NVMe盘故障,判断是否持续报错、介质损坏或文件系统异常,结合硬件与集群状态精准定位问题,指导及时换盘或观察处理。
437 0
|
8月前
|
运维 安全 测试技术
Hydra-SSH 漏洞安全防范
Hydra 是由 THC 组织开发的强力网络安全测试工具,主要用于对 SSH、FTP、HTTP 等协议进行认证爆破,适用于授权渗透测试与弱口令检测。其高效性依赖于优化的字典策略,强调质量优先,结合目标信息定制密码列表,提高破解成功率。
641 1
|
8月前
|
JSON 安全 生物认证
WhatWeb-网站安全扫描指纹识别
WhatWeb 是一款网站指纹识别工具,用于快速识别目标网站的 Web 服务器类型、CMS、脚本语言、中间件及可能存在的漏洞信息,常用于渗透测试与安全审计。
467 1
|
9月前
|
存储 分布式计算 调度
云计算核心技术
云计算作为IT领域的热门技术,融合网格计算与虚拟化,通过资源池和分布式存储提供高效计算与存储服务。其架构涵盖物理资源、资源池、管理中间件及SOA构建层,关键技术包括虚拟化、海量数据处理、资源调度、服务管理及云平台,旨在实现低成本、高可靠、可扩展的服务交付。
765 0
云计算核心技术
|
8月前
|
监控 安全 数据可视化
Amass 被动与主动子域收集
Amass是OWASP推出的开源信息收集工具,主要用于域名信息收集、子域名枚举与攻击面分析。它结合被动数据源、主动探测及字典爆破发现目标资产,支持生成可视化图表,适用于渗透测试、资产管理和安全监控等多种场景。
309 0
|
9月前
|
存储 Kubernetes 安全
云计算分类与主流产品
云计算已广泛应用于政府、企业和个人生活,主要分为私有云、公有云、混合云和多云。服务模式以IaaS、PaaS、SaaS为主,未来将向S2S模式发展。公有云具备规模大、价格低、灵活性强等特点,而私有云则更注重数据安全和资源控制。混合云结合多种云的优势,提供更灵活的架构。此外,云存储、虚拟桌面、开发测试、电子政务等场景广泛应用,OpenStack、Kubernetes等开源产品也推动了云计算的发展。
1101 0

热门文章

最新文章