日志分类:网络技术

飞塔防火墙fortitoken配置

分类:网络技术日期:2020-09-16 - 15:57:00评论:0条作者:老谢

  防火墙赠送的2个软件版fortitoken授权,闲来无事折腾一番,手机端和飞塔后台的基础配置都比较简单,就不描述,主要是手机上绑定code的时候,正常应该为飞塔防火墙配置邮件,通过邮件发送激活二维码,但过于麻烦,可以如下操作:

飞塔防火墙fortitoken配置

  activation-code填入fortitoken手机客户端即可。

H3C交换机配置ARP网关保护

分类:网络技术日期:2019-10-24 - 10:30:09评论:4条作者:老谢

组网需求

  与Switch B相连的Host B进行了仿造网关Switch A(IP地址为10.1.1.1)的ARP攻击,导致与Switch B相连的设备与网关Switch A通信时错误发往了Host B。

  要求:通过配置防止这种仿造网关攻击。

组网拓扑

H3C交换机配置ARP网关保护

配置步骤
<SwitchB> system-view
[SwitchB] interface GigabitEthernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] arp filter source 10.1.1.1
[SwitchB-GigabitEthernet1/0/1] quit
[SwitchB] interface GigabitEthernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] arp filter source 10.1.1.1

  完成上述配置后,对于Host B发送的伪造的源IP地址为网关IP地址的ARP报文将会被丢弃,不会再被转发。

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

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

  这台躺尸的8016坏的时候拆开看过,面板报FANS红灯,里面确实几个风扇不转,自此认为可能是风扇损坏导致无法启动……

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

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

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

配置文件导入报错

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

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

继续阅读…

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

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

  自从冰冰牛用工控机做软路由以后一直惦记着这货,但是现有的华硕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评论:15条作者:老谢

  由于一些需求,在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: