海运的博客

Iptables之connlimit模块针对每个IP限制连接数

发布时间:June 7, 2012 // 分类:Iptables // No Comments

之前有介绍Iptableslimit模块,此模块应用限制是全局的,connlimit就灵活了许多,针对每个IP做限制。
应用示例,注意不同的默认规则要使用不同的方法。
1.默认规则为DROP的情况下限制每个IP连接不超过10个

iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 80 -m connlimit ! --connlimit-above 10 -j ACCEPT

2.默认规则为ACCEPT的情况下限制每个IP连接不超过10个

iptables -P INPUT ACCEPT
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP

Iptables之conntrack连接数跟踪模块及最大连接数配置

发布时间:June 7, 2012 // 分类:Iptables // No Comments

Iptables是有状态机制的防火墙,通过conntrack模块跟踪记录每个连接的状态,通过它可制定严密的防火墙规则。
可用状态机制:

NEW #新连接数据包
ESTABLISHED #已连接数据包
RELATED #和出有送的数据包
INVALID #无效数据包

conntrack默认最大跟踪65536个连接,查看当前系统设置最大连接数:

cat /proc/sys/net/ipv4/ip_conntrack_max 
#新版方法
cat /proc/sys/net/netfilter/nf_conntrack_max

查看当前跟踪连接数:

cat /proc/net/ip_conntrack|wc -l
#新版方法
cat /proc/net/nf_conntrack | wc -l

当服务器连接多于最大连接数时会出现kernel: ip_conntrack: table full, dropping packet的错误。
解决方法,修改conntrack最大跟踪连接数:

vim /etc/sysctl.conf #添加以下内容
net.ipv4.ip_conntrack_max = 102400
#以下为新版方法
net.netfilter.nf_conntrack_max=102400
net.nf_conntrack_max=102400

立即生效:

sysctl -p

为防止重启Iptables后变为默认,还需修改模块参数:

vim /etc/modprobe.conf #添加以下内容
options ip_conntrack hashsize=12800 #值为102400/8

一劳永逸的方法,设置Iptables禁止对连接数较大的服务进行跟踪:

iptables -A INPUT -m state --state UNTRACKED,ESTABLISHED,RELATED -j ACCEPT
iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK

Iptables限速模块limit应用

发布时间:June 6, 2012 // 分类:Iptables // No Comments

Iptables模块limit用于限制单位时间内通过的数据包数量,限制是全局的,适用于某些不重要的服务,如果限制ICMP数量,HTTP可使用recent模块针对每个IP做限制,精确流量限制可用TC
Limit可用选项:

--limit 单位时间内匹配的数据包数量
--limit-burst 可选,允许最大数据包数量,默认为5
/s /h /m 单位时间

应用举例:
每分钟允许通过1个ICMP数据包,最多不超过10个。

#https://www.haiyun.me
iptables -A INPUT -p icmp -m limit --limit 1/m --limit-burst 10 -j ACCEPT
iptables -A INPUT -p icmp  -j DROP

Nagios之web界面管理工具Nagiosql安装

发布时间:June 4, 2012 // 分类:Nagios // No Comments

NagiosQL是一个基于Web界面的Nagios配置管理工具,极大方便Nagios的使用、管理。
下载安装Nagiosql:

cd /var/www/html/
wget http://nchc.dl.sourceforge.net/project/nagiosql/nagiosql/NagiosQL%203.2.0/nagiosql_320.tar.gz
tar zxvf nagiosql_320.tar.gz 
mv nagiosql32/ nagiosql
chmod -R 777 /var/www/html/nagiosql/config/

目录权限配置:

mkdir -p /etc/nagiosql/backup/hosts
mkdir -p /etc/nagiosql/backup/services
mkdir -p /etc/nagiosql/hosts
mkdir -p /etc/nagiosql/services
chown -R nagios:apache /etc/nagiosql/
chown -R nagios:apache /usr/local/nagios/etc/
chown nagios:apache /usr/local/nagios/bin/nagios
chown nagios:apache /usr/local/nagios/var/rw/nagios.cmd
chown -R nagios:apache /usr/local/nagios/var/spool/checkresults

编辑nagios配置文件,注释以cfg开头的配置,并添加:

vim /usr/local/nagios/etc/nagios.cfg
## Timeperiods
cfg_file=/etc/nagiosql/timeperiods.cfg
## Commands
cfg_file=/etc/nagiosql/commands.cfg
## Contacts
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
## Hosts
cfg_dir=/etc/nagiosql/hosts
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
## Services
cfg_dir=/etc/nagiosql/services
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg

访问www.haiyun.me/nagiosql/install进入安装界面,可选中文语言:
nagiosql安装.png
当前环境检测,全绿为通过:
nagiosql安装环境检测.png
填写配置信息:
nagiosql安装数据库配置.png
不出意外会提示安装成功,删除安装文件,进入登录界面:
nagiosql登录界面.png
配置nagios相关目录,界面——管理——Config targets——localhost——编辑:
nagiosql目标配置.png
导入nagios配置:
nagiosql导入配置.png
写入数据:
nagiosql写入配置.png

Linux下命令行smtp客户端SendEmail

发布时间:June 4, 2012 // 分类:Mail // No Comments

SendEmailSendmail,为perl写的一款smtp客户端软件,只有一个执行脚本,安装使用都很方便。
安装:

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar zxvf sendEmail-v1.56.tar.gz 
cp -a sendEmail-v1.56/sendEmail /usr/local/bin
chmod +x /usr/local/bin/sendEmail

常用参数:

-f 发送方
-t 接收方
-u 邮件主题
-m 邮件内容
-a 添加附件
-cc 副本
-xu smtp验证用户
-xp 密码
-v 详细输出
-o message-file=/file.txt 正文从文件内读取
-o tls=yes

应用举例:

sendEmail -v -f ono@www.haiyun.me -t test@qq.com -s smtp.www.haiyun.me:995 -u "test" -m "测试sendemail" -xu user -xp passwd tls=yes

使用CentOS自带Mail命令发送邮件参考:https://www.haiyun.me/archives/linux-mail-smtp.html

分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
归档