日志分类:网络技术

Radware LinkProof 8016 负载均衡器开机主板E0错误修复

分类:网络技术日期:2018-12-18 - 14:14:05评论:11条作者:老谢

  单位有一台07年左右购买的Radware LinkProof 8016(以下简称8016)。因为设备时间太长后来新买了一台8016,所以旧的这台就做热备当备机用着,后来突然有一天无法启动就躺尸在仓库至今。8016作为出口的重要设备具有不可替代性,一旦8016挂掉出口必然将中断且短时间内很难恢复,从同事的口中得知,这台躺尸的8016坏的时候拆开看过,面板报FANS红灯,里面确实几个风扇不转,自此认为可能是风扇损坏导致无法启动……

Radware LinkProof 8016 负载均衡器开机主板E0错误修复

  损坏的风扇型号分别SUNON的为GM1204PQB1-8A和KDE1204PFVX三针版,这种小配件果断交给万能的马爸爸采购,到货之后换上,FANS红灯解除,但系统仍然无法启动,主板E0错误,console卡在第一屏无法顺利启动加载系统,这果断不应该是风扇的问题导致的,其实最开始我就想这么重要的设备,怎么可能会因为风扇无法工作BIOS就拒绝启动,这么做是非常诡异的事情。

  经过祭出度娘和谷哥大神后,没有任何关于8016主板E0错误的资料(确实不会轻易泄露出资料,不然谁去买原厂维保,tb找了家随便问了下E0维修给出了7k的价格),但是在更换风扇的过程中发现8016使用AMD的Opteron X86架构CPU(一度以为是ASIC硬件),搭载8条1G DDR2 ECC服务器内存,依靠多年拯救PC的经验(修电脑)抱着试试看的态度,把内存全部拆除,清理机箱内灰尘以避免插入内存时灰尘导致内存条短路,然后用橡皮擦清理内存条金手指上的氧化层,完成后插入内存,尝试启动BIOS,卧槽,奇迹真的出现了,console跳过第一屏,开始进入系统启动流程,至此8016成功复活……

  具体E0错误的含义果断还是不知道,但当你的8016也出现类似E0错误,也可以尝试清理内存或更换内存后尝试启动,可能会奇迹般的复活,毕竟我们能做的并不多……

配置文件导入报错

  把现网中运行的8016配置文件导出,然后导入修复的这台8016中的时候出现错误:reporting client-table hard-disk set Disable,经过搜索也没有太多相关的资料,但根据提示看跟硬盘有关系,拆开的8016内部是没有硬盘的,难道是因为缺少硬盘的缘故才没有reporting client-table hard-disk这条命令?

  仍抱着试一试的心态,拆了一块硬盘给8016装上(8016内部带硬盘位和电源线,需要自己准备SATA线,主板上带2个SATA接口),重启后果然有这条命令了,重新导入配置文件成功!

  虽然装硬盘只是为了成功执行这条命令,日志也都是写到日志平台的,不需要本地保存,但强迫症晚期,尝试格式化该块硬盘,命令为services hard-disk format,但格式化后可用空间和剩余空间均为0,但格式化的命令没有任何报错,难道是因为硬盘本身存在分区导致无法正常格式化?硬盘挂载到PC删除所有分区再装回去,格式化后成功显示有可用的存储空间:

LP8016_peer#services hard-disk free-size
 
The avaliable remaining free disk space in MB: 131063.63

  奇怪的是250G硬盘只能格式化出131063.63M的空间,但暂时就先这样吧……

折腾了台工控机在家跑Panabit流控

分类:网络技术日期:2018-10-19 - 15:53:45评论:15条作者:老谢

  自从冰冰牛用工控机做软路由以后一直惦记着这货,但是现有的华硕AC68U路由器也没拖什么后腿就一直放着没去折腾,最近搬家开始合租,共享网络发现没有流控有时候一起看视频或者下载会严重影响体验,这是绝逼不能忍的!!!AC68U虽然也带流控优化功能但是感觉不够专业,刚好最近也在研究Panabit,本来想直接弄个软路由跑Panabit算了,突然想到一步到位搞个工控机还能同时跑点其他业务,比如把树莓派也干掉….所以就入了型号为3865U的工控机,到手后加装了块1T的2.5寸硬盘和一条4G内存,具体配置如下:

  • CPU:i3-7100u
  • 硬盘:闪迪32G SSD + 1T HDD
  • 内存:4G + 4G (DDR4)
  • 电源:12V 5A
  • 千兆网口:6个

折腾了台工控机在家跑Panabit流控

  目前问题是,因为Panabit作为透明网桥在WAN口之上,WAN出来的包都是已经NAT后的公网地址的包,所以抓不到内网IP,目前在考虑再用Esxi虚个软路由作为边界,但是DDNS和端口映射乱七八糟的都在AC68U上应该是懒得折腾,先跑一阵子看看流量使用情况再说吧…
  
  最后,这玩意性能真是弱的一逼,Panabit+Panalog就已经让cpu一直在60%浮动了,目前看来再跑个omv的话,都不一定跑得动软路由了…

继续阅读…

Tags: ,

Zabbix使用Pyhton脚本发送邮件

分类:网络技术日期:2018-05-05 - 11:37:31评论:1条作者:老谢

测试3.2和3.4均可用,通知媒介里面,给三个参数,顺序为:{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding)
 
mail_host = 'smtp.xxx.cn'
mail_user = 'xxx'
mail_pass = 'xxx'
mail_postfix = 'xxx.cn'
def send_mail(to_list,subject,content):
    me = mail_user+"@"+mail_postfix
    msg = MIMEText(content, 'plain', 'utf-8')
    msg["Accept-Language"]="zh-CN"
    msg["Accept-Charset"]="ISO-8859-1,utf-8"
    if not isinstance(subject,unicode):
        subject = unicode(subject)
    msg['Subject'] = subject
    msg['From'] = me
    msg['to'] = to_list
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

使用Python批量备份Cisco和H3C交换机配置到TFTP服务器

分类:网络技术日期:2018-04-09 - 19:23:01评论:6条作者:老谢

需求说明

  由于设备量较大,如何有效的备份交换机设备配置文件就成了问题,经过一番搜索和对比,最终决定使用上传配置文件到tftp的方式进行备份,下面的脚本使用telnetlib库进行操作,感谢大D牛倾情技术支持,再次谢过大D神犇。

修改说明

  Guge上传的V3.0源码仅支持Cisco的交换机,在大D牛的技术支持下,增加了H3C的支持(部分老版本的H3C可能会备份失败),同时也会按照时间自动分目录进行备份,下一步的想法会加入json的支持以及GUI。

main.py V4.0(测试环境Python 2.7.14)
#!/usr/bin/python
#by Kuhn 2014-03-29
#Updata by Derek.s && Jason 2018-04-09
 
import sys
import os
import telnetlib
import getpass
import datetime
import pexpect
import re
 
host = ""
user = "123"
password = "123"
#password = "123"
enpw = "123"
h3cpw = "123"
tftpserver = "8.8.8.8"
now = datetime.datetime.now()
 
def main():
    for host in open("sw.txt", "r").readlines(): 
        dsthost = host.strip('\n')
        try:
            tn = telnetlib.Telnet(dsthost,port=23,timeout=10)
        except:
            print "Can't connection %s"%dsthost
            continue
        #tn.read_until("Username:")
        #tn.write(user+"\n")
        try:
            tn.read_until("Password:")
            tn.write(password+"\n")
            result = tn.read_some()
            rex_h3c_bin_1 = r'%Wrong password'
            login_Failed_H3C_1 = re.search(rex_h3c_bin_1, result)
            rex_h3c_bin_2 = r'%Username or password is invalid.'
            login_Failed_H3C_2 = re.search(rex_h3c_bin_2, result)
        except:
            print "Connection error %s"%dsthost
            continue
        #print(login_Failed_H3C_1, login_Failed_H3C_2)
        if((login_Failed_H3C_1 is None) and (login_Failed_H3C_2 is None)):
            #print("cisco")
            try:
                tn.write("en\n")
                tn.read_until("Password:")
                tn.write(enpw+"\n")
                tn.read_until("#")
                tn.write("copy running-config tftp:\n")
                tn.write(tftpserver+"\n")
                tn.write(now.strftime("%Y/%m/%d")+"/"+host+"\n")
                tn.read_until("#")
                tn.close
                print now.strftime("%Y/%m/%d") + " " + dsthost + " Backup successful."
            except:
                print "Connection error %s"%dsthost
                continue
        else:
            #print("H3c")
            try:
                tn.write(h3cpw+"\n")
                tn.read_until(">")
                tn.write("tftp "+tftpserver+" put flash:/startup.cfg"+" "+now.strftime("%Y/%m/%d")+"/"+host+"\n")
                tn.read_until(">")
                tn.close
                print now.strftime("%Y/%m/%d") + " " + dsthost + " Backup successful(h3c)."
            except:
                print "Connection error %s"%dsthost
                continue
 
if __name__=="__main__":
    main()

参考:http://mybeibei.net/157.html

EVE-NG模拟器基本配置及关联SecureCRT、Wireshark及VNC

分类:网络技术日期:2018-04-02 - 21:03:59评论:0条作者:老谢

  EVE-NG(全称Emulated Virtual Environment – NextGeneration),继Unetlab 1.0后的Unetlab的2.0新版本,改了名字,原名是UnifiedNetworking Lab统一网络实验室。笔者觉得名字改的非常合理,这款模拟器已经不仅可以模拟网络设备,也可以运行一切虚拟机。理论上,只要能将虚拟机的虚拟磁盘格式转换为qcow2都可以在EVE-NG上运行。所以,EVE-NG可以算得上是仿真虚拟环境。EVE-NG是国外大神们开发的,融合了dynamips,IOL,KVM。它是深度定制的Ubuntu操作系统,可以直接把它安装在x86架构的物理主机上。它也有ova版本,可以导入到VMware等虚拟机软件中运行。EVE-NG在交互模式上更加具有优势,与GNS3截然不同。GNS3更像是用户使用的软件,只有GNS3支持的 OS才能使用;而EVE-NG更像是CS模型,EVE-NG是服务端,用户端可以是支持http/https的任意OS。

EVE-NG模拟器的安装配置

  可以在EVE-NG官网下载到ova格式的虚拟机文件,在VMware Workstation Pro或VSPHERE等虚拟机中导入即可,root的默认密码是eve,老版本可能是unl,第一次进入系统会进入初始化配置界面,按照向导进行设置即可,之后会自动进行重启,再次进入系统可以使用apt-get update获取更新列表,然后使用apt-get install eve-ng安装eve-ng的更新版本。

  使用vim将下面的python脚本写到文件,然后使用命令pydoc3 文件名执行后即可进行破解并自动写入序列号。

CiscoIOUKeygen.py
#! /usr/bin/python
print("*********************************************************************")
print("Cisco IOU License Generator - Kal 2011, python port of 2006 C version")
print("Modified to work with python3 by c_d 2014")
import os
import socket
import hashlib
import struct
 
# get the host id and host name to calculate the hostkey
hostid=os.popen("hostid").read().strip()
hostname = socket.gethostname()
ioukey=int(hostid,16)
for x in hostname:
 ioukey = ioukey + ord(x)
print("hostid=" + hostid +", hostname="+ hostname + ", ioukey=" + hex(ioukey)[2:])
 
# create the license using md5sum
iouPad1 = b'\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A'
iouPad2 = b'\x80' + 39*b'\0'
md5input=iouPad1 + iouPad2 + struct.pack('!I', ioukey) + iouPad1
iouLicense=hashlib.md5(md5input).hexdigest()[:16]
 
print("\nAdd the following text to ~/.iourc:")
print("[license]\n" + hostname + " = " + iouLicense + ";\n")
print("You can disable the phone home feature with something like:")
print(" echo '127.0.0.127 xml.cisco.com' >> /etc/hosts\n")
 
 
lic = ["[license]\n" + hostname + " = " + iouLicense + ";" + "\n"]
f = open('/opt/unetlab/addons/iol/bin/iourc','w')
f.writelines(lic)
f.close()

继续阅读…

Tags: , ,

群晖NAS使用短信宝SMSBAO接口发送短信通知

分类:网络技术日期:2017-10-30 - 21:36:17评论:14条作者:老谢

  由于一些需求,在DS216的基础上又增加了一台DS116作为辅助存储的设备,设置配置DS116的时候看到可以使用短信接口进行通知,碰巧感兴趣折腾一波:

<?php
    $u = $_GET['u'];
    $p = $_GET['p'];
    $m = substr($_GET['m'],3,14);
    $c = '【Synology】'.$_GET['c'];
    $result = 'http://www.smsbao.com/sms?u='.$u.'&p='.md5($p).'&m='.$m.'&c='.urlencode($c);    
    file_get_contents($result);
?>
接口规则
http://www.xj123.info/tool/smsbao_synology.php?u=用户名&p=密码&m=+86电话号码&c=内容

  根据国内运营商要求,必须加上【XXX】的内容才能发送短信,要单独写个接口是因为国际化的DSM在通知填写号码的时候,强制填写国际代码,所以号码前面会加“+86”这3个字符,而短信宝又太本土化,加了+86就发送不了短信了…

Tags: , ,

OpenWRT安装ColorBox使用手机远程管理

分类:网络技术日期:2013-11-28 - 11:35:42评论:8条作者:老谢

原帖地址:http://www.right.com.cn/forum/thread-132120-1-1.html

登录openwrt的ssh,安装自己对应的客户端,我自己的是ar7xxx架构的:

opkg update
opkg install http://colorbox.w-sharer.com/downloads/ar71xx/packages/colorbox_v1.0.3.13681_ar71xx.ipk

安装完成后,重启路由器,然后安装手机客户端,IOS的客户端下载地址是:http://colorbox.w-sharer.com/downloads/iphone/ColorBox_2013_11_25_13734.ipa

都配置完成后,进入路由器,会看到一个ColorBox的页面,点击进去会自动注册一个序列号,使用这个序列号用手机登陆管理即可。

Tags:

OpenWRT禁用PPPOE的CHAP方式认证

分类:网络技术日期:2013-11-24 - 18:12:47评论:35条作者:老谢

pppoe配置文件路径:/etc/ppp/options PS:吐槽一下,openwrt的中文资料真心少的可怜…

#debug
-chap
noipdefault
refuse-chap
refuse-mschap
refuse-mschap-v2
refuse-eap

logfile /dev/null
noipdefault
noaccomp
nopcomp
nocrtscts
lock
maxfail 0
lcp-echo-failure 5
lcp-echo-interval 1

Tags:

CCNP(642-902)ROUTER考试学习记录

分类:思科技术日期:2013-02-26 - 15:29:14评论:7条作者:老谢

学习教材:WOLF lisir CCNP视频教程、CCNP ROUTER考试认证指南(PS:由于本人过懒,本文只记录每天学习的内容,笔记就不传上来了…)

时间
学习内容
备注
2013.02.26
DHCP工作原理、DCHP HELPER ADDRESS、EIGRP路由协议
N/A
2013.02.27
OSPF
N/A
2013.02.28
OSPF
N/A
2013.03.01
OSPF
N/A
2013.03.02
OSPF
N/A
2013.03.10
Redistribute_Route-map
N/A
2013.03.13
BGP
N/A
2013.03.20
BGP
N/A
2013.03.29
好吧,NA的知识都忘的差不多了,看题库看的好累,我还是去先复习NA吧
N/A
Tags:

OSPF学习之LSA类型

分类:思科技术日期:2012-05-19 - 20:06:38评论:11条作者:老谢

试验拓扑:

OSPF学习之LSA类型

继续阅读…

Tags: , ,