Installing Cactid/Spine 12月 11th, 2007
Cacti在运行的时候,需要在crontab里添加计划任务,默认是使用cmd.php来执行任务,但效率低下,因此我们用Cactid/Spine来取代cmd.php…
1.编译 Spine/Cactid
编译Spine/Cactid之前,先确认已经安装以下packages:
net-snmp-devel
mysql
mysql-devel
openssl-devel
Compiling Spine
2.下载最新版本的Spine/Cactid 并编译成为二进制可执行文件:
# tar xvzf cacti-spine-0.8.7.tar.gz
# cd spine-0.8.7
# ./configure
# make
# mkdir /usr/local/spine
# cp spine spine.conf /usr/local/spine
编辑 spine.conf 文件,输入数据库名、数据库用户名和密码等信息.
3.使用管理员帐号登陆Cacti.在系统参数中制定Spine/Cactid的物理路径.
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
Upgrading Cacti 12月 11th, 2007
Cacti已经发布了0.8.7a版本,下午把监控服务器上的cacti从0.8.6j升级到新版本。
1. 备份数据库.
# service mysqld stop
# cp -R /var/lib/mysql/cacti /var/lib/mysql/cacti_old
2. 备份cacti程序目录.
# mv cacti cacti_old
3. 解压新版本压缩包.
# tar xzvf cacti-version.tar.gz
4. 重命名解压目录.
# mv cacti-version cacti
5. 编辑 include/config.php 设定好数据库类型、数据库名、数据库用户名和密码.
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
6. 从原程序目录中复制 *.rrd 文件.
# cp cacti_old/rra/* cacti/rra/
7. 备份脚本程序.
# cp -u cacti_old/scripts/* cacti/scripts/
# cp -u -R cacti_old/resource/* cacti/resource/
8. 设置rra文件目录和log目录的权限.
# chown -R cactiuser rra/ log/
9. 通过浏览器访问,程序将自动升级数据库:
长假结束 10月 9th, 2007
平时工作,琐事太多,没有时间静下心来学习新东西,趁着难得的长假,学习postfix。猖獗的垃圾邮件让人忍无可忍,邮箱平均一天要收到近300多封邮件,95%以上都是该死的垃圾邮件,发票代开、管理讲座、网上商城等等,原先一直计划架设一台邮局服务器,可以防病毒,又能过滤垃圾邮件等等。前前后后折腾了4天多,postfix+Cyrus-SASL+Courier-IMAP+ClamAV+SpamAssassin+Mysql+webmail,算下来前前后后有几十个软件包,是我所装过系统中最复杂的一个,安装调试过程非常的不顺利,遇到问题无数,还算运气,7成靠搜索3成靠自己,总算给安装调试好。这两天把我垃圾邮件最多的邮箱转发到新邮局,测试垃圾邮件过滤功能,调试过滤规则,现在就等着周末上线试运行……
去年年底开始学squid,正好因公司的无线网关出问题,便利用squid架设linux网关,架设一台带有缓存功能的代理网关服务器,尔后又增加了HAVP防毒功能,最后又通过内核补丁,封杀局域网内的QQ、MSN和P2p软件等。今年年初开始研究bind,起初只想接触一下DNS系统,利用squid+bind,来实现一个简单的cdn平台,加速一下网站和论坛的访问速度,没想到这个随便玩玩的东西变成了产品推向市场。
光是学习没有用,还需要有实践的环境,很庆幸自己能有这样的环境和平台,能不断接触和学习到新的东西,并将学到的东西投入到实践中去,让它能创造出新的价值,提高工作效率。
10.1长假结束,开始上班,很多人问国庆去哪玩了,回答没,在家玩……
Centos+iptables+l7-filter 封QQ MSN和P2P 7月 16th, 2007
在网关上如果要封杀 QQ、MSN 或者 P2P 等软件的通讯,单纯用 iptables 逐一封服务端IP或者封通讯端口都不是很好的办法,最简单的方法是使用L7-filter。
L7-filter (Application Layer Packet Classifier for Linux), 是 Linux netfilter 的外挂模块, 它能使 Linux 的 iptables 支持 Layer 7 (Application 应用层) 过滤功能, 限制封杀 P2P、即时通讯软件。
Centos 4.4
Kernel 2.6.9-42.0.3.EL
Iptables 1.2.11
1.下载所需软件包:
kernel 2.6.19.7
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.7.tar.bz2
iptables 1.3.7
# wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2
L7-filter http://sourceforge.net/project/showfiles.php?group_id=80085
netfilter-layer7-v2.12.tar.gz
l7-protocols-2007-06-22.tar.gz
Bind SOA 6月 15th, 2007
Bind的SOA记录:每个Zone仅有一个SOA记录。SOA记录包括Zone的名字,一个技术联系人和各种不同的超时值。例子:
$ORIGIN .
$TTL 3600 ; 1 hour
10235.com IN SOA ns1.abc.com. root.ns1.abc.com. (
2007061402 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
1209600 ; expire (2 weeks)
3600 ; minimum (1 hour)
)
- #Serial
数值Serial代表这个Zone的序列号。供Slave DNS判断是否从Master DNS获取新数据。每次Zone文件更新,都需要修改Serial数值。RFC1912 2.2建议的格式为YYYYMMDDnn 其中nn为修订号; - #Refresh
数值Refresh设置Slave DNS多长时间与Master Server进行Serial核对。目前Bind的notify参数可设置每次Master DNS更新都会主动通知Slave DNS更新,Refresh参数主要用于notify参数关闭时; - #Retry
数值Retry设置当Slave DNS试图获取Master DNS Serial时,如果Master DNS未响应,多长时间重新进行检查; - #Expire
数值Expire将决定Slave DNS在没有Master DNS的情况下权威地提供域名解析服务的时间长短; - #Minimum
在8.2版本之前,由于没有独立的 $TTL 指令,所以通过 SOA 最后一个字段来实现。但由于 BIND 8.2 后出现了 $TTL 指令,该部分功能就不再由 SOA 的最后一个字段来负责,由 $TTL 全权负责,SOA 的最后一个字段专门负责 negative answer ttl(negative caching)
The last field in the SOA is the negative caching TTL. This controls how long other servers will cache no-such-domain(NXDOMAIN)responses from you.
Installing AWstats 6.6 5月 13th, 2007
AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图. 它能分析日志文件来自从各大服务器工具 ,如 Apache日志档案 (NCSA combined or common), WebStar, IIS (W3C),Proxy、Wap、流量服务器、邮件服务器和一些FTP服务器.
AWStats官方网址:http://awstats.sourceforge.net/
从官方网站下载AWStats,目前最新版本是6.6.
HAVP+Trend Micro+Squid 防病毒HTTP代理 4月 25th, 2007
HAVP (HTTP Anti Virus Proxy) 可搭载 ClamAV、Kaspersky、Trend Micro、AVG、F-Prot、NOD32、Sophos、Avast!等防病毒软件, 针对 HTTP 传输数据进行实时扫毒, 将病毒拦截于Proxy Server, 让局域网用户上网时多一层安全防护.
网上很多文章都是使用HAVP搭载 Clamav,虽然Clamav安装简单,有可以自动更新病毒库,但实际使用中发现,Clamav的执行效率不是很好,访问时,明显影响访问速度.测试后,发现Trend Micro效率较高。HAVP在搭载其它的防病毒软件时,大部分都需要防病毒软件先安装运行,而搭载使用Trend Micro,HAVP可以直接调用Trend Micro的扫描引擎和病毒库,不用安装防病毒服务,对于我这样的懒人来说,能省一个是一个,对服务器来说也能省点资源.唯一的缺点是无法自动更新病毒库,有得必有失.
参考了Jamyy的《使用 HAVP + ClamAV 建置防毒 HTTP Proxy》
Mysql4.0升级到4.1 1月 7th, 2007
MySQL 4.1开始把多国语言字符集分的更加详细,所以导致数据库迁移或者升级后出现乱码问题。MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。
1.导出4.0格式的SQL备份文件
mysqldump -uroot -p --default-character-set=latin1 database > jason.sql
这个是导出为latin1字符集的数据库备份,如果需要导出成为gbk字符集可以使用:
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk database > jason.sql
2.使用下面语句新建一个latin1字符集的数据库(jason):
CREATE DATABASE `jason` DEFAULT CHARACTER SET latin1 COLLATE latin1_bin
3.将上面导出的4.0结构的备份数据导入到刚才新建的mmmm数据库中。
/usr/local/mysql/bin/mysql -uroot -p --default-character-set=latin1 -f jason < jason.sql
架设支持SSL的Vsftpd安全服务器 12月 31st, 2006
用Ftp进行文件上传下载的时候,由于密码和内容都是明文传输,对于安全性要求较高的站点来说,是非常危险的。用SSL配合Vsftpd就能构建一台安全的FTP服务器。
1.安装和升级Openssl
使用最新的Openssl库是必须的,可以在官方下载最新的源码包。http://www.openssl.org/ 安装和升级方法参考这里:升级openssl
2.下载安装vsftpd
到官方下载最新版本的vsftpd源码包 http://vsftpd.beasts.org/
# tar zxvf vsftpd-2.0.5.tar.gz
# cd vsftpd-2.0.5
# vi builddefs.h
Read more..
ntop流量监控软件 12月 10th, 2006
ntop是基于libpcap的网络流量监控软件,用户可以通过web浏览器来监控网络的流量和状态。目前最新版本3.2,可以到官方免费下载ntop:http://www.ntop.org/download.html
# tar ntop-3.2.tgz
# cd ntop-3.2
# ./configure –prefix=/usr/local/ntop –disable-ipv6
# make && make install
我们以nobody来运行ntop,先给其数据存储目录设置权限
# chown -R nobody.nobody /usr/local/ntop/share/ntop
# /usr/local/ntop/bin/ntop -P /usr/share/ntop -u ntop -A
-P [directory]指定.db档存放路径
-u [user]指定service启动user
-A 设定管理员密码
拷贝其配置文件模板
# cp /usr/local/src/ntop-3.2/packages/RedHat/ntop.conf.sample /etc/ntop.conf
# vi /etc/ntop.conf
设置以下几个参数
–user nobody #程序运行用户
–daemon #设置ntop为服务
–db-file-path /usr/local/ntop/share/ntop #数据文件存放目录
–interface eth0,eth1 #监控的网卡
–http-server 3000 #web访问的端口
启动ntop服务,指定读取的配置文件,只监控192.168.0.0/24网段
# /usr/local/ntop/bin/ntop @/etc/ntop.conf -m 192.168.0.0/24
访问http://ip:3000即可访问。