存档

‘Linux’ 分类的存档

dnsmasq的manpage

2011年4月4日 没有评论

http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html

分类: Linux, Openwrt 标签:

sshd 监听多个端口的方法

2011年3月20日 没有评论

vi /etc/ssh/sshd_config
增加
ListenAddress 0.0.0.0:22
ListenAddress 0.0.0.0:222
ListenAddress 0.0.0.0:333

分类: Linux 标签:

linux学园 linux.gov.cn

2011年1月17日 没有评论

http://www.linux.gov.cn/

分类: Linux 标签:

让centos使用国内源

2011年1月14日 没有评论

先关闭fastestmirror
“vi /etc/yum/pluginconf.d/fastestmirror.conf” and set “enable=0″

更新方法如下:
先进入yum源配置目录
cd /etc/yum.repos.d

备份系统自带的yum源
mv CentOS-Base.repo CentOS-Base.repo.save

下载其他更快的yum源
中科大的yum源:
wget http://centos.ustc.edu.cn/CentOS-Base.repo

163的yum源:
wget http://mirrors.163.com/.help/CentOS-Base-163.repo

sohu的yum源
wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

更新玩yum源后,建议更新一下,使操作立即生效
yum makecache

转自:http://flysky.fm1062.com/post/20100911-1.aspx

分类: Linux 标签:

rsync使用实践

2010年12月29日 没有评论

参考资料:

http://www.xfocus.net/articles/200107/214.html

http://wandering.blog.51cto.com/467932/105113

分类: Linux 标签:

使用inode number删除linux下的中文文件

2010年9月17日 没有评论
ls -i

121211 filename.txt
可以看到inode number

find . -inum 121211

可以找到文件名

find . -inum 121211 -exec rm -i {} \;
find . -inum 121211 -exec mv {} newfilename \;

或者

rm -i `find . -inum 121211`
分类: Linux 标签:

转:[perl][system]手动修改/etc/shadow中的用户密码

2010年9月12日 没有评论

/etc/shadow中格式如下
#testaccount:$1$acQMceF9$1SaCpG2qiKKA3eGolU4Fp0:13402:0:99999:7:::
彩色段为加密后的密码,$1$表示采用的是md5加密绿色段是简单的字符串,蓝色段为加密后的密码

以下命令可得到加密后的字符串,zz为密码
perl -e ‘print crypt(“zz“,”\$1\$acQMceF9\$”),”\n”‘

结果如下
$1$acQMceF9$1SaCpG2qiKKA3eGolU4Fp0

用此段密码替换/etc/shadow中的密码部分即可

来源: http://linux.chinaunix.net/bbs/viewthread.php?tid=940012

分类: Linux 标签:

/proc/net/ip_conntrack

2010年9月5日 没有评论

我们先来看看怎样阅读/proc/net/ip_conntrack里的conntrack记录。这些记 录表示的是当前被跟踪的连接。如果安装了ip_conntrack模块,cat /proc/net/ip_conntrack 的显示类似:

tcp 6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 \
dport=22 [UNREPLIED] src=192.168.1.9 dst=192.168.1.6 sport=22 \
dport=32775 use=2

tcp 6 431967 ESTABLISHED src=192.168.18.120 dst=192.168.18.98 sport=1059 dport=22
packets=3287 bytes=262840 src=192.168.18.98 dst=192.168.18.120 sport=22 dport=1059
packets=2863 bytes=439784 [ASSURED] mark=0 secmark=0 use=1
conntrack模块维护的所有信息都包含在这个例子中了,通过它们就可以知道某个特定的连接处于什么状 态。首先显示的是协议,这里是tcp,接着是十进制的6(译者注:tcp的协议类型代码是6)。之后的117是 这条conntrack记录的生存时间,它会有规律地被消耗,直到收到这个连接的更多的包。那时,这个值就会 被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状态。上面的例子说明这个包处在状态 SYN_SENT,这个值是iptables显示的,以便我们好理解,而内部用的值稍有不同。SYN_SENT说明我们正在观 察的这个连接只在一个方向发送了一TCP SYN包。再下面是源地址、目的地址、源端口和目的端口。其 中有个特殊的词UNREPLIED,说明这个连接还没有收到任何回应。最后,是希望接收的应答包的信息,他们 的地址和端口和前面是相反的。

连接跟踪记录的信息依据IP所包含的协议不同而不同,所有相应的值都是在头文件linux/include/netfilter-ipv4/ip_conntrack*.h中定义的。IP、TCP、UDP、ICMP协 议的缺省值是在linux/include/netfilter-ipv4/ip_conntrack.h里定义的。具 体的值可以查看相应的协议,但我们这里用不到它们,因为它们大都只在conntrack内部使用。随着状态的 改变,生存时间也会改变。

当一个连接在两个方向上都有传输时,conntrack记录就删除[UNREPLIED]标志,然后重置。在末尾有 [ASSURED]的记录说明两个方向已没有流量。这样的记录是确定的,在连接跟踪表满时,是不会被删除的, 没有[ASSURED]的记录就要被删除。连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip- sysctl函数设置。默认值取决于你的内存大小,128MB可以包含8192条目录,256MB是16376条。你也可以在 /proc/sys/net/ipv4/ip_conntrack_max里查看、设置。

转自:http://hi.baidu.com/weioip/blog/item/02961246a17bd4016b63e5ae.html

一个perl脚本来清空ip_conntrack.但是我发觉更简单办法是移除ip_conntrack模块.移除时提示有依赖,还是直接service iptables stop来得快.但是要记得,ip_forward也被设为0了,所以该设的全重设
如何清除/proc/net/ip_conntrack的内容?
作者 woflyin
2004-12-09
对于做处于网关地位的机器,其开启了nat功能,那么/proc/net/ip_conntrack是保存的是内网地址和外部地址连接的情况,记录每个连接的周详情况,其内容一般会保持5天,期间重新启动网络并不会有效减少其内容,唯一的办法就是重新启动和增大内存的数量,给监控带来不便,内容很容易满,核心便会报警:
ip_conntrack: table full, dropping packet
解决办法:
1.增加内存:修改/etc/sysctl.conf的配置容量 net.ipv4.ip_conntrack_max=大的数值!
2.隔一段时间重新启动系统,清空ip_conntrack
3.对ip_conntrack编程,读取其内容,匹配指定的ip地址,然后调用发包程式发送RST报文,人为的完成tcp连接。用perl实现,调用了一个外部程式hping2,能够从其主页找到,这个程式就是个构包器

用法:cl.pl ipaddress
#!/usr/bin/perl
$ip = $ARGV[0];
#print $ARGS,$ip;
exit if(!$ip);
open(FH,”ip_conntrack”);
while()
{
if (/^tcp .*ESTABLISHED src=$ip/)
{
#print $_;
@line = split(/=/,$_);
$sip = $line[1];
$sip =~s/ .*//g;
$dip = $line[2];
$dip =~s/ .*//g;
$sport = $line[3];
$sport =~s/ .*//g;
$dport = $line[4];
$dport =~s/ .*//g;
print “$sip:$sport $dip:$dportn”;
`/usr/bin/hping2 $dip -R -s $sport -p $dport -a $sip -k -c 1 >/dev/null 2>/dev/null &`;
}
}

4。问题:通过这个思路,是否能够对消除ddos攻击有一定帮助呢?查询ip_conntrack表,判断syn_SENT标志是否过多,过多就能够采取这样的做法消除他们呢?希望大家讨论,一起进步!

来源: http://www.abc188.com/info/html/wangzhanyunying/jianzhanjingyan/20080417/71130.html

分类: Linux, 安全 标签:

denyhosts安装

2010年9月1日 没有评论

参考 http://moneypy.blog.51cto.com/745631/328441

分类: Linux, 安全 标签:

linux下检查硬盘IO情况

2010年8月21日 没有评论

比较好的工具,iostat和dstat。其他2个工具lsof和fuser,不能完全满足需求。

iostat -x 1
可以看到硬盘负载情况
参考资料:http://www.php-oa.com/2009/02/03/iostat.html

dstat才是本文重点,可以查看进程使用硬盘IO的情况

最新版安装
wget -c http://linux.web.psi.ch/dist/scientific/5/gfa/all/dstat-0.6.7-1.rf.noarch.rpm
rpm -Uvh dstat-0.6.7-1.rf.noarch.rpm

使用
dstat -M topio -d -M topbio

—-most-expensive—- -dsk/total- —-most-expensive—-
i/o process | read writ| block i/o process
init 3516k: 542k|1373k 1473k|init 227k: 387k
gtar 811k: 860k|1848k 4008k|gtar 900k: 840k
gtar 805k: 840k|1888k 224k|gtar 888k: 828k
httpd 733k: 627k|2824k 8168k|gtar 680k: 636k
gtar 809k: 850k|2888k 0 |gtar 924k: 848k
mysqld 7417k: 194k|2296k 0 |gtar 956k: 892k
php 6646k:3708B| 936k 5008k|gtar 440k: 400k
gtar 626k: 650k|1600k 0 |gtar 736k: 700k
mysqld 221M: 55M|1544k 6744k|mysqld 0 : 46M
mysqld 312M: 72M|2200k 0 |mysqld 24k: 45M
gtar 706k: 750k|1664k 0 |gtar 808k: 740k
gtar 582k: 600k|1320k 4032k|gtar 644k: 600k
gtar 850k: 890k|2064k 0 |gtar 968k: 900k

mysql应该是正常应用里面最吃硬盘IO的了
参考:

http://blog.chinaunix.net/u3/102731/showart_2249645.html

http://tech-q.cn/viewthread.php?action=printable&tid=9089

https://www.centos.org/modules/newbb/viewtopic.php?topic_id=27523

这次使用工具看硬盘IO主要因为一个vps,在xencenter里看到硬盘IO很高,很奇怪。通过上面工具,查到原来是我频繁使用last命令查看登陆历史所致,last命令要读取wtmp文件,很费劲。

分类: Linux 标签: