Oct 24 2008

lvs + keepalived在redhat AS3上面安装的问题

Category: 技术ssmax @ 12:33:25

昨晚两台机器,转发器,一台跑的是lvs+pulse,另外一台是lvs+keepalived,不能热备,切网的时候很麻烦,今天自己装个keepalived试试,tnnd

一般系统里面现在都有ip_vs 模块的了
直接modprobe ip_vs就启动了
关于modprobe的一些操作:
1、modprobe 命令是根据depmod -a的输出/lib/modules/version/modules.dep来加载全部的所需要模块。

2、删除模块的命令是:modprobe -r 模块名

3、系统启动后,正常工作的模块都在/proc/modules文件中列出。使用lsmod命今也可显示相同内容。

4、在内核中有一个“Automatic kernel module loading”功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/modules.conf或/etc/modprobe.conf文件是一个自动处理内核模块的控制文件。

版本keepalived-1.1.12.tar.gz
然后是标准的Linux源码安装过程:configure→make→make install 。 需要注意的是,在RedHat AS4的系统上安装过程没有问题,但是在AS3的系统上configure编译过程会出错,出错提示如下:

checking openssl/ssl.h usability… no
checking openssl/ssl.h presence… no
checking for openssl/ssl.h… no
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files. !!!

其实系统安装了openssl,ssl.h文件也没问题,问题在于redhat AS3 把Kerberos includes 放在一个“奇怪”的地方,以致于keepalived的configure程序找不到,只好报openssl安装有问题。解决方法是设置编译环境的CPPFLAGS变量:export CPPFLAGS=-I/usr/kerberos/include ,再次编译就通过了。


Oct 23 2008

开snmpd的记录。。。

Category: 技术ssmax @ 17:33:08

一台台服务器改,好x麻烦。。。

sudo su –
vi /etc/init.d/snmpd

OPTIONS=”-Lsd -Lf /dev/null -p /var/run/snmpd -a -u daemon -g daemon”

vi /home/squid/etc/squid.conf -c /snmp_access
snmp_access allow snmppublic localhost

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.origin
cat > /etc/snmp/snmpd.conf <


Oct 17 2008

节能。。。

Category: 技术ssmax @ 14:26:15

今天刚搞好freeradius,向总又来说有东西要搞。。。节能。。。tmd老板这么多钱节约个头啊,要晚上把服务器休眠或者关机,然后早上用网卡wake on lan,tnnd这个东西不是每个网卡都支持的,而且网络环境不同,magic wake up的包未必能传送到目标机器啊,郁闷。

ethtool eth0 看看网卡支持什么模式
Supports Wake-on: g
Wake-on: d

一般就是g了,ethtool -s eth0 wol g
写在shutdown脚本或者其它地方,如果bios里面不改好的话好像每次都会改回来的。

wol p|u|m|b|a|g|s|d…
Set Wake-on-LAN options. Not all devices support this. The
argument to this option is a string of characters specifying
which options to enable.
p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket(tm)
s Enable SecureOn(tm) password for MagicPacket(tm)
d Disable (wake on nothing). This option clears all previous
options.


Oct 16 2008

NoCatAuth 支持每个账号限制一个网卡登陆

Category: 技术ssmax @ 17:09:26

NoCatAuth ,这个和802.1x一起发展来的东西,已经很多年没用更新了,NoCatAuth的好处是不需要配置客户端,基本所有无线的网络都可以使用它来验证,因为它是在网关那里拦截数据,通过iptables之类的防火墙动态建立规则,拦截或者通过用户请求,所以用户能连上wap也不能连上网关以外,防止有人勾线。
不过缺点也很明显,还是做不到所谓的安全wap网络。。。

这两天研究了一下,基本上搭建好了,用mysql,没有管理页面。。。
首先是安装。。。弹出。。。
No supported firewalls detected! Check your path.”
Supported firewalls include: iptables, ipchains, ipf, pf.

因为版本太旧了,检测写死只能在linux核心2.4上面装,改一下检测脚本就好了。。。
vi bin/detect-fw.sh

elif which iptables >/dev/null 2>&1 && \
test X”`uname -sr | cut -d. -f-2`” = X”Linux 2.4″; then
FIREWALL=iptables
FW_BIN=iptables

把Linux 2.4 改成 Linux 2.6,好了,linux上面一般都是用iptables的了

顺便改了一下,让它支持单账号单用户,有多的话就踢人。
主要就是修改gateway的lib/NoCat/Gateway.pm

permit 函数那里加上
sub permit {
my ( $self, $peer, $class ) = @_;
my $fw = $self->firewall( GatewayAddr => $peer->gateway_ip );
my $action;

# delete the same user
while ( my ($token, $pcheck) = each %{$self->{Peer}} ) {
$self->log( 5, “debug User:”, $pcheck->user, ” Mac:”, $pcheck->mac);

if ( $pcheck->user eq $peer->user and $pcheck->mac ne $peer->mac) {
$self->log( 5, “User:”, $pcheck->user, ” Mac:”, $pcheck->mac, ” has been replaced by new Mac:”, $peer->mac);
$self->deny($pcheck);
}
}

但是这样还不够,它是分了子线程出来的,在deny的时候会通知父节点,其实就是用一长串字符串调用pipe,所以deny和permit的操作写到了一起,要把它分开来处理,要修改函数 accept_child,改成下面的样子,增加了split分开每个消息而已。。。

sub accept_child {
my ($self, $listen) = @_;
my $r = read( $listen, my $msg_o, 500_000 ); # arbitrary limit
if ($r) {
my @msgs = split(/InitCmd/, $msg_o);
for my $msg (@msgs) {
next if ( length($msg) eq 0 );

# The child process has news about a peer.
# Parse that info and store it.
my $peer = $self->peer( $self->parse(“InitCmd”.$msg) );
my $action = delete( $peer->{Action} ) || “”;

$self->log( 10, “Got notification $action of peer”, $peer->id );

if ( $action eq DENY ) {
$self->remove_peer( $peer );
} else {
$self->add_peer( $peer );
}
if ( $action eq PERMIT ) {
# Increment this only once per connection.
$self->{TotalConnections}++;

# Note the connection time.
$self->{LastConnectionTime} = scalar localtime;
}
}
} elsif (not defined $r) {
$self->log( 2, “Can’t read from child pipe: $!” );
}

# if $r returned false, but not undef, then the child quit
# normally, but with nothing to say?

$self->pool->remove( $listen );

my $result = $listen->close;
$self->log( 10, “Child process returned $result” ) if $r;
}

这样改好以后重启就可以实现单账号单网卡登陆了,一旦有人盗用你的账号,你就被人踢。。。。郁闷吧,哈哈。
搞了两天估计都是无用功了,要安全。。。那就用最高级的WPA AES吧。。。
明天继续看WPA PEAP 模式登陆,用FreeRadius就可以实现,应该不是太难吧。。。


Oct 16 2008

perl cpan

Category: 技术ssmax @ 10:35:17

用perl cpan安装模块

首先配置CPAN Module,方法是在bash下面运行

$ perl -MCPAN -eshell

配置过程会询问一些问题,其中CPAN的镜像,是/root/.cpan/sources/MIRRORED.BY文件,从官方网站找完整版的
http://www.cpan.org/MIRRORED.BY
配置好,中国的站点基本都垃圾不更新了,通过 o conf init 重新配置,选到好的为止。。。

接下来要更新CPAN Module,而不是直接装LWP。否则会遇到undefined subroutine &Digest::base::new之类的错误。方法是运行

cpan> install Bundle::CPAN

这一步是关键,切记切记。我开始不知道,还在网上搜索这个错误信息,发现有人说是Perl的问题,我就把整个Cygwin更新到1.5.19.4,结果啥用也没有,还把其它东西弄得一塌糊涂。
装好新的CPAN Module,先退出,然后再运行perl -MCPAN -eshell
命令进入CPAN的shell,这时就可以装LWP了

cpan> install Bundle::LWP

安装Bundle::LWP意味着不仅安装LWP,而且安装它需要的其它module。


Oct 15 2008

windows下面的find

Category: 技术ssmax @ 09:45:26

没有linux下面这么方便,windows下面的find是直接搜字符串的,不过结合dir就可以实现linux find的一些功能

dir /p /s path | find “string” > result.txt

/p就是以普通格式输出
/s就相当于遍历

当然windows下面也有实现全功能的find,只要安装微软的
Windows Services for UNIX
这个包,就可以实现unix下面所有基本功能了,连UFS都可以挂得上去。


Oct 14 2008

rrd tool

Category: 技术ssmax @ 21:55:39

一个很好的保存时间数据的数据库实现

可以自动实现近期数据详细,历史数据概要和自动生成图片,用来做存放监控数据十分方便

可惜就是默认不是线程安全的,需要做同步锁,不过还好监控的东西一般都是并发访问并不大,单线运行也没有什么问题。


Oct 09 2008

snmpget读取squid的信息

Category: 技术ssmax @ 17:10:14

net-snmp版本是2.5.4,比较新,squid文档里面的方法都有点错误了。。。

首先是squid的配置文件squid.conf

acl monitor src ip/mask

acl snmppublic snmp_community topsecret
snmp_access allow snmppublic monitor
snmp_access deny all

这里定义了哪个机器可以访问snmp agent,还有snmp community string,这个community string一定要记住,类似验证字符串的东西,估计是加密解密传输数据用到的种子。

然后看看squid的

share/mib.txt

这个就是squid mib的id信息,有很多,随便找个

— SQUID-MIB  { iso org(3) dod(6) internet(1) private(4) enterprises(1) 3495 }

。。。。。

nlanr OBJECT IDENTIFIER ::= { enterprises 3495 }

squid MODULE-IDENTITY
    LAST-UPDATED “9809220000Z”
    ORGANIZATION “National Laboratory for Applied Network Research”
    CONTACT-INFO
            ”        Squid Developers

             E-mail: squid@squid-cache.org
    DESCRIPTION
                “Squid MIB defined for the management of the Squid
                proxy server. See http://www.squid-cache.org/.”

    REVISION      “9809220000Z”
    DESCRIPTION
                “Move to SMIv2. Prepare to split into proxy/squid.”
    REVISION      “9901010000Z”
    DESCRIPTION
                “Added objects and corrected asn.1 syntax and
                descriptions.”
    ::= { nlanr 1 }


— OID Assignments

        cacheSystem     OBJECT IDENTIFIER ::= { squid 1 }
        cacheConfig     OBJECT IDENTIFIER ::= { squid 2 }
        cachePerf       OBJECT IDENTIFIER ::= { squid 3 }
        cacheNetwork    OBJECT IDENTIFIER ::= { squid 4 }
        cacheMesh       OBJECT IDENTIFIER ::= { squid 5 }

— cacheSystem group

        cacheSysVMsize OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        ” Storage Mem size in KB ”
        ::= { cacheSystem 1 }

 

 

– SQUID-MIB  { iso org(3) dod(6) internet(1) private(4) enterprises(1) 3495 }

第一行的意思就是mib oid开头是怎么样子的,squid的全部是 .1.3.6.1.4.1.3495

 

nlanr OBJECT IDENTIFIER ::= { enterprises 3495 }

nlanr 代表前面那串

squid  一大串最后 ::= { nlanr 1 } 表示 squid  是 enterprises.3495.1

cacheSystem     OBJECT IDENTIFIER ::= { squid 1 }

表示 cacheSystem     是squid 后面的1。enterprises.3495.1.1

 

下面就是具体数据,比如squid->cacheSystem->cacheSysVMsize 是 .1.3.6.1.4.1.3495.1.1.1

        cacheSysVMsize OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        ” Storage Mem size in KB ”
        ::= { cacheSystem 1 }

cacheSysVMsize 是 cacheSystem 下面的1

 

都有说明数值和类型。。。

然后用新版的net-snmp命令snmpget,协议版本用1和2c都可以,估计2c是向下兼容,3就不行。

squid默认的snmp端口是3401,udp方式,照写就好了。配置里面可以通过snmp_port改端口。

snmpget -v 2c -c topsecret udp:ip:port “.1.3.6.1.4.1.3495.1.1.1”

这样是get一个数值。

snmpwalk -v 2c -c topsecret udp:ip:port “.1.3.6.1.4.1.3495”

这样就可以把所有squid mibs都get出来了,然后具体分析就看模板怎么搞了,继续研究之。。。

或者可以把mib.txt复制都本机,或者snmp的mib模块目录,然后

snmpwalk -m “./mib.txt” -v 2c -c topsecret udp:ip:port “squid”

这样不用这么长,出来的数据的直观一点了。。。


Sep 28 2008

windows 2003 在AHCI sata下的安装

Category: 技术ssmax @ 11:26:53

AHCI,全称为Serial ATA Advanced Host Controller Interface(串行ATA高级主控接口),是在Intel的指导下,由多家公司联合研发的接口标准,其研发小组成员主要包括Intel、AMD、戴尔、Marvell、迈拓、微软、Red Hat、希捷和StorageGear等著名企业。AHCI描述了一种PCI类设备,主要是在系统内存和串行ATA设备之间扮演一种接口的角色,而且它在不同的操作系统和硬件中是通用的。

AHCI通过包含一个PCI BAR(基址寄存器),来实现原生SATA功能。由于AHCI统一接口的研发成功,使得支持串行ATA产品的开发工作大为简化,操作系统和设备制造商省去了单独开发接口的工作,取而代之的是直接在统一接口上进行操作,可以实现包括NCQ(Native Command Queuing)在内的诸多功能。

很不幸,windows xp怎么弄都没有问题,windows 2003默认是没有AHCI驱动的,如果不想使用模拟ATA形式,就需要想想办法了,一共整理了几种:

1、你手头上有软盘,也有软驱。。。把AHCI的驱动拷到软盘上面(一般硬件厂商都有提供软盘版的,intel就是matrix disk),然后开始安装,F6,S指定驱动。

2、usb软驱,u盘模拟usb-fdd,需要u盘上面有模拟开关的,能够在bios里面认出usb软驱,和上面差不多,但是在我的Dell690上面,windows 2003的安装程序会检查软驱,然后u盘灯闪了几下就灭了,系统挂起,很奇怪。

3、整合驱动,有nLite,直接可以整合,如果想要修改番茄花园之类的多合一光盘,就要手动来了

http://support.microsoft.com/kb/254078

首先用ultraiso提取引导信息到bif文件,提取所有文件到文件夹,然后修改,一般就是加$OEM$/$1/Drivers/network,把文件拷进去,改txtsetup.sif

增加

[Unattended]
OemPnPDriversPath = “Drivers\network;Drivers\Modem;Drivers\Video”

有几个就加几个。。。

然后用ultraiso新建一个iso,导入原来的引导信息bif,在文件,属性那里选择优化文件,然后一个个文件夹加进去。。另存为一个新的光盘,如果没有优化文件的话iso会很大的,其实就是把名字和大小一样的文件只保存一份,剩下的在光盘上面link过去,好像不检验md5的,没试验过,不清楚,所以如果有名字大小一样,但是内容不同的文件就比较麻烦了。

这样安装盘里面就整合了你自己的驱动了,有人说番茄花园已经整合DPS驱动包,但是不知道为什么就是没有我的Dell 690的ESB2 AHCI驱动,郁闷呢。。

4、前面都是比较复杂的方法,下面来个简单的,也适合已经是模拟ATA方式的windows转换到AHCI

用模拟ATA安装了windows

第一步也是找到驱动,主板自带的一般就是看看自己的南桥是什么,用Everest 看看,然后找对应的AHCI驱动名字

然后强行安装,把硬盘管理器里面的磁盘管理器驱动更新,然后从磁盘安装,指定inf,指定名字

重启,bios切换到AHCI,启动windows,ok

如果驱动错了,windows应该会蓝屏,这样重启F8,恢复最后一次正确的配置,就可以重新进入了,没有危险

 

我的Dell690用最后的就搞定了。。


Sep 27 2008

2Wire 2700HG 升级固件方法

Category: 技术ssmax @ 14:50:49

昨天淘了一只2700HG-B,可以同步adsl,用起来还不错,研究了一下貌似固件已经比较稳定了,不过还是记录一下升级固件的方法,方便日后操作,嘿嘿。

管理页面是通过url http://路由器ip/management ,里面有一些隐藏信息。

升级是通过url http://路由器ip/upgrade 进行的

2Wire各个型号的固件好像通用的。。汗一个。

各个版本的固件在下面的网页找到:

转自KoGt2S

Que tal CUM!!

Les dejo aquí varias versiones de Firmwares para el 2Wire, si pueden contribuir con su experiencia se los agradeceré, indicando el Modelo del 2Wire y el Firmware soportado.

En lo personal e trabajado con 2wire HG2700 Ver. 4.25.19 y HW1800 Ver 3.7.5.23, sin ningún problema.

Tuve problemas con un 2Wire 1070, lo tengo de pisa papeles.

Realice todas la actualizaciones vía Inalámbrica, excepto 2Wire 1070.

Driver′s  y documentación  http://www.2wire.com/?p=266

KeyCodes http://www.2wire.com/?p=268

KeyCode Prodigy  52AD-2AD4-6266-22NA-B27M

 Paginas escondidas

Configuracion Vo IP http://192.168.1.254/?PAGE=V00
Para actualizar manualmente tu 2wire entrando a la siguiente página:

http://home/upgrade
http://gateway.2wire.net/tech/upgrade.html

Seleccionas el archivo y pulsas siguiente, recuerda “NUNCA INTERRUMPIR LA ACTUALIZACION; NO APAGAR LA PC NI EL MODEM DURANTE EL PROCESO

Para el caso de los Módems  Inalámbricos se puede alcanzar la potencia de 400mw con el firmware compatible, la Key de Prodigy,  y para el firmware 4.25.19 registrando el producto.

Firmwares 2Wire
Versión 3.5.15
http://rapidshare.com/files/36170659/3.5.15_kogt2s.firmware2wire.rar

Versión 3.15.15.4
http://rapidshare.com/files/36170666/3.5.15.4_kogt2s.firmware2wire.rar

Versión 3.7.1
http://rapidshare.com/files/36170664/3.7.1_kogt2s.firmware2wire.rar

Versión 3.7.3
http://rapidshare.com/files/36170656/3.7.3_kogt2s.firmware2wire.part1.rar
http://rapidshare.com/files/36170669/3.7.3_kogt2s.firmware2wire.part2.rar

Versión 3.7.5
http://rapidshare.com/files/36170683/3.7.5_kogt2s.firmware2wire.rar

Versión 3.7.5.23
http://rapidshare.com/files/36170672/3.7.5.23_kogt2s.firmware2wire.rar

Versión 4.21.9
http://rapidshare.com/files/36170709/4.21.9_kogt2s.firmware2wire.rar

Versión 4.25.19
http://rapidshare.com/files/36170681/4_25_19_400mw_kogt2s.firmware2wire.part1.rar
http://rapidshare.com/files/36170682/4_25_19_400mw_kogt2s.firmware2wire.part2.rar

Version 5.29.107
http://rapidshare.com/files/36227965/2700hgv_.5-29-107_kogt2s-firmware2wire.2sp

Ultima.. Mejora opciones inlambricas y agregra filtro MAC
Probado en 2Wire 2700hg

Version 5.29.117.3
http://rapidshare.com/files/105406693/2wire_reinstall_voice_5.29.117.3.2sp
Some common firmware versions (with some notes of noticeable changes) are:
3.5.5 (Out of the box on some original models)
3.5.11 (First version to include the DSL Diagnostics page in the MDC)
3.5.15
3.7.1 (Increased NAT table to 1024 sessions)
3.7.5 (Support for closed (shared-key) WEP networks. Traffic shaping for non standard upstream MTU)
3.11.1 (as seen on a 1070b homeportal July 2005)
3.17.5 (as seen in a 1701HG Aug. 2005 This is the earliest version that the 1701hg will take.)
4.21.x and up – runs both the older units (any HG/HW/some SW) and the new 270/2700 units (Jan. 2006)

Bajo su propio riesgo!!!! los firmwares 4.21 en adelante fueron dise?ados para el HG2700 y superiores.

Espero les sean utiles!!!

KoGt2S Team


« Previous PageNext Page »