您的位置:首页 > 运维架构

OPS - get the server's gateway

2015-08-31 19:11 295 查看

概述

在OPS接收服务器之后,如果能够知道服务器所对应的交换机的话,该是多好呢.过去我们一直采用STP协议抓包的形式来获得,但是最近网络架构改了之后,STP没有,取而代之的是LLDP,但是改脚本的代价有点高,还得研究LLDP,所以我们突然有了一个临时方案.

本次的架构怀疑是用了trill技术,就是服务器的网关在接入交换机,所以从IP地址上就可以进行判断了,因为一个Juniper交换机可以放得下40~48台服务器,所以IP的子网是将/24劈成了 /26了, 我们只需要根据这一信息, 通过服务器的IP地址就可以得到网关的地址所在.

关键算法

c = int(b[0])/64*64 + 1


#!/bin/env python

import os,sys,re

for line in open('ip'):
a = re.findall("(\w+\.\w+\.\w+\.)\w+",line)
b = re.findall("\w+\.\w+\.\w+\.(\w+)",line)
c = int(b[0])/64*64 + 1# print " a b c is %s %s %s"%(a,b,c),
swip = "%s%s"%(a[0],c)
lanip = "%s%s"%(a[0],b[0])
# print swip,
# print lanip
print '''update bigdataServerInfo2 set swip = "%s" where lanip = "%s"; '''%(swip,lanip)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: