modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 >/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 >/proc/sys/net/ipv4/conf/all/log_martians
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
##
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
## SYN-Flooding
iptables -N syn-flood
iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
## Make sure that new TCP connections are SYN packets
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
## HTTP
iptables -A INPUT -i eth0 -p tcp -d 0/0 --dport 80 -j ACCEPT
## IP packets limit
iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 3 -j ACCEPT
## FTP service
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT
## SSH login
iptables -A INPUT -i eth0 -m mac --mac-source 00:00:00:00:00:00 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j DROP
## Anything else not allowed
iptables -A INPUT -i eth0 -j DROP
九、附录:
mod_bandwidth选项简单说明:
BandWidthPulse
格式: BandWidthPulse <毫秒(千分之一秒>
默认: 1000
上下文: per server config
改变计算带宽的时间间隔 , 默认为1000毫秒(1秒) 。使用更低的间隔可以获得
更精确的带宽控制 , 但消耗更多的CPU时间 , 反之亦然 。
BandWidth
格式: BandWidth
默认: 无
上下文: per directory, .htaccess
限制这个目录下文件下载的速率 。
domain 指定来自哪个域的连接受到这个设置的影响 。
ip 指定来自哪个ip地址(或者ip段)的连接受到影响 。
all 所有连接都受到影响 。
示例:
# 来自 dualface.com 的连接不限制下载速度
BandWidth dualface.com 0
# 来自 192.168.0.0/16(或者192.168.0) 网段的连接不限制下载速度
BandWidth 192.168.0.0/16 0
# 其他连接限制下载速度为每秒1024字节
BandWidth all 1024
# 越前面的设置优先权越高
LargeFileLimit
格式: LargeFileLimit <文件大小> <速率>
默认: 无
上下文: per directory, .htaccess
对于超过指定大小的文件 , 下载时使用的速率 。如果速率设置0即不限制速度 ,
但下载速度仍然要受到BandWidth设置的影响 。如果设置成-1 , 则完全不受影响 。
通过设置不同的文件大小和速率 , 可以设置不同大小范围内文件的下载速度 。
示例:
文件尺寸大于等于200千字节的文件 , 下载速率为每秒3072字节
LargeFileLimit 200 3072
LargeFileLimit 1024 2048
MaxConnection
格式: MaxConnection <连接数>
默认: 0 (不限制)
上下文: per directory, .htaccess
当超过指定连接数时 , 拒绝新的连接 。
MinBandWidth
格式: MinBandWidth
默认: all 256
上下文: per directory, .htaccess
设置最小带宽 , 默认为每秒256字节 。根据BandWidth和LargeFileLimit设置的速
率 。mod_bandwidth会计算允许的连接数 。例如BandWidth为4096字节 , 而
MinBandWidth为1024字节 , 则最大并发连接数为4 。
Mod_limitipconn选项简单说明:
推荐阅读
- 什么留之什么成语
- 又一个辉煌的起点?K750外观初评
- 三 读核日记
- 安吉是哪一个省的
- Linux 的带宽管理系统
- 再评6235
- IPV6 在 RedHat 环境如何手工建立tunnel?
- 夏新M8一个月的体会
- 一个哈密瓜含多少热量 一个哈密瓜有多少热量
- 一个Linux爱好者的2.6.11内核编译过程