运维采集技术分享: 通过WMI监控NAT后的Windows系统


作者简介:

李骋,SSBU团队资深技术研发工程师,拥有多年技术研究经验,热爱技术,善于自学和钻研,对运维网络、拓扑算法具有颇深的技术理解,曾攻克ITM产品采集相关的诸多技术难题。

1、Windows OS和WMI简介

随着互联网技术的飞速发展,我们对于IT业务系统的服务能力要求越来越高。根据Gartner统计2017年1季度全球服务器出货量超过125亿美金,正在运行支撑各种业务的服务器数量更是庞大。这些服务器中有超过50%的服务器正在使用Windows OS。这些Windows OS支撑了各种大中小型的业务应用,支撑着人们工作、生活等各项活动的开展。那么如此庞大的系统,我们如何有效的监控和管理呢?微软为Windows OS提供了一个有效的监控工具WMI。

图 1-1 全球服务器操作系统占有率

WMI(Windows Management Instrumentation)是微软对WBEM(Web-Based Enterprise Management)的实现,WBEM则是工业界制定的访问企业环境下管理信息的统一标准[1]。WMI使用CIM(Common Information Model)工业标准[2]来表示操作系统、应用、网络、设备以及其他被管组件。CIM与WBEM由DMTF(Distributed Management Task Force)开发和维护。

除使用WMI获取本地计算机信息外,WMI还可经由DCOM(Distributed Component Object Model[3])建立远程连接获取远程计算机的信息。因此WMI可作为监控Windows操作系统的有力手段。

2、跨网络环境下的Windows OS服务器监控

于IT业务系统的日益庞大,IT基础资源正在通过各种资源池将网络和服务器资源进行虚拟化(1:N和N:1)。我们将不同业务隔离在不同的虚拟网络中,同时还有跨地域的业务应用分布。在这样的环境下,需要对于Windows OS进行统一监控,通常都必须面对一个问题--NAT地址转换。NAT可以有效的节约IP地址,隐藏内部的网络环境;但是在NAT环境下由于通常采用1对多或者多对多的地址映射规则,导致了监控平台无法有效的访问Windows OS。

图 1-2 大型IDC的典型业务场景

勤智运维结合多年的IT运维经验,将主机的有效配置和勤智IT资源智能发现技术相结合,通过OneCenter统一运维平台,有效的解决了跨越NAT的Windows OS服务器监控问题。下面详细分析一下WMI在NAT环境下的相关特性。

2.1          NAT环境下的WMI配置

在NAT环境下,当监控运维平台需要从NAT业务网络外部访问业务网络内部Windows OS服务器时,需要在NAT网关上配置静态端口映射,将WAN端的入站请求正确转发到被监控远程计算机。

2.1.1 端口映射配置

WMI经由DCOM建立远程连接,因此将向远程计算机135端口发起请求:

图 2-1 无NAT环境下的WMI远程连接

图 2-1展示了无NAT环境下WMI建立远程连接的WireShark软件抓包情况(经过滤),其中监控运维平台IP为172.16.30.31,Windows OS服务器IP地址为192.168.1.33。注意,除了向Windows OS服务器的135端口发起TCP握手请求之外,当监控运维平台接收到RemoteCreateInstance Response后,还会向1043端口发起请求。经过多次实验可知,这一端口是随机的。这是由于操作系统会向每个DCOM应用程序分配一个终结点(Endpoint),在默认配置下,WMI的终结点是随机的TCP端口。

因此,需要实现跨越NAT的Windows OS监控除了完成135端口的映射外,还需要将WMI的终结点固定下来并进行端口映射。在Windows Vista及更新的操作系统中,可以通过执行命令Winmgmt /Standalone后重启WMI服务实现 [4]。固定的终结点默认为24158,这一数值可以进行设置。

在NAT网关上配置端口映射:135映射到远程计算机的135端口;终结点映射到远程计算机的对应端口,就完成了NAT路由上的端口映射配置。

2.1.2 IP地址配置

通过NAT配置端口映射后,WMI连接仍然无法成功,WBEMTest测试工具将提示RPC服务器不可用:

图 2-2 NAT环境下的WMI远程连接

图 2-2展示了NAT环境下WMI建立远程连接的WireShark软件抓包情况(经过滤),其中本地计算机IP为10.1.103.82,NAT网关WAN端地址为10.1.104.68,NAT已设置端口映射。此时,当监控运维平台服务器收到RemoteCreateInstance Response后,并未向Windows OS服务器WMI终结点(路由器WAN端24158端口)发起TCP握手请求。

考虑到WMI终结点可以指定任意TCP端口,必然在响应中有对应的终结点端口信息,则可以猜想在响应中也有对应的IP地址信息。深入分析RemoteCreateInstance Response:

图 2-3 RemoteCreateInstance Response分析

图 2-3 展示了响应中的地址信息,其中WIN-JO2OB7DN0HG为远程计算机的主机名,192.168.40.1为监控运维平台服务器与NAT路由器LAN端在同一子网内的私有IP地址,192.168.40.1和192.168.1.200为监控运维平台其他网卡IP地址,并且可以抓包到本地计算机尝试向这几个地址发起请求。

基于上述事实,一种解决方式是在本地计算的Hosts文件中,将监控运维平台的主机名解析为NAT路由器的WAN端IP。这样本地计算机就会尝试向NAT路由器的WAN端发起请求,完成WMI连接。

3、总结

本文简单介绍了WMI、NAT等基础知识,并详细说明了WMI监控远程计算机的配置方法以及在NAT环境下的网络配置方法。通过分析NAT环境下WMI的数据包,初步探索了WMI通过DCOM建立远程连接的内部原理。希望这个分析过程能在配置其他网络环境下的其他协议时起到一些帮助。

引用

1、 Distributed Management Task Force, Inc., “Web-Based Enterprise Management,” [联机]. Available: http://www.dmtf.org/standards/wbem.

2、 Distributed Management Task Force, Inc., “Common Information Model,” [联机]. Available: https://www.dmtf.org/standards/cim.

3、 Microsoft, “[MS-DCOM]: Distributed Component Object Model (DCOM) Remote Protocol,” [联机]. Available: https://msdn.microsoft.com/en-us/library/cc226801.aspx.

4、 Microsoft, “Setting Up a Fixed Port for WMI,” [联机]. Available: https://msdn.microsoft.com/en-us/library/bb219447(v=vs.85).aspx.


推荐阅读

【观点】体验自助式运维服务,构建高校一站式IT服务平台

【观点】可视化,让运维由繁化简

【大话运维 第9期】 运维大数据日记:故障根源分析之关联规则挖掘




阅读原文:http://mp.weixin.qq.com/s?timestamp=1511861572&src=3&ver=1&signature=LFe0h-QDceeGNpxjK1st*fMEbvdBGDEYViojvGFgRi7Ns2eFcdvIcimYjLlSMcZLxE987NspVFNI4fW6hTVL*ok3wipHqyMJ75OYjESywZ3usoG5yFNZU64Kc4PnRZs1r1EVj4l-NVjmTdZ-wRI1Wp4HZ91jvl4mcCtL8sFRSK4=&devicetype=Windows-QQBrowser&version=61030004&pass_ticket=qMx7ntinAtmqhVn+C23mCuwc9ZRyUp20kIusGgbFLi0=&uin=MTc1MDA1NjU1&ascene=1
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,563评论 18 139
  • Teredo 原理概述 http://www.ipv6bbs.cn/thread-144-1-1.html (出处...
    我是叶问小盆友阅读 1,946评论 0 1
  • 腾讯游戏一直是腾讯最赚钱的部门,其蓝鲸体系以“独特”的方式承载着半个腾讯,也承载着国内游戏行业半数份额。 蓝鲸是腾...
    zwwsense阅读 7,156评论 1 55
  • 人老事多!好好的人,在听电话时发觉讲话时左耳有共鸣声,接下来觉得听到声音怎么变得很轻了,这是第一天傍晚的事,...
    何鑫揚阅读 377评论 0 0
  • 今天辅导儿子做作业的时间长了点,最近这个家伙的精力全放在创作他的桌游上面了,小孩的想像力可真丰富,起的那些名字我都...
    綦綦綦阅读 454评论 1 3