|
发表于 2006-5-30 13:53:18
|
显示全部楼层
细分一下
C、对每个IP都限制每秒50连接下
理解为限制会话数。50少了。100吧。
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -s 你的网段 -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
iptables -A FORWARD -s 你的网段 -p udp -m limit --limit 1/s --limit-burst 2 -j ACCEPT
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
D、优先级为http协议第一
要用到内核的qos。
#!/bin/bash
ethernet=102400
tc qdisc del dev eth0 root 2>/dev/null
tc qdisc del dev eth0 ingress 2>/dev/null
tc qdisc del dev eth1 root 2>/dev/null
tc qdisc del dev eth1 ingress 2>/dev/null:
tc qdisc add dev eth0 root handle 1:12 htb default r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate ${ethernet}kbit ceil ${ethernet}kbit
tc class add dev eth1 parent 1:1 classid 1:11 htb rate 128kbit ${ethernet}ceil kbit prio 1
tc class add dev eth1 parent 1:1 classid 1:12 htb rate 128kbit ceil ${ethernet}kbit prio 2
tc qdisc add dev eth1 parent 1:12 handle 12: sfq
tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:11
tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:12
tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${ethernet}kbit burst 128k drop flowid :1
iptables -t mangle -A PREROUTING -m layer7 --l7proto http -j MARK --set-mark 0x1
iptables -t mangle -A OUTPUT -m layer7 --l7proto http -j MARK --set-mark 0x1
#####慎用,未排错请仔细阅读相关文档后使用#####
E、上网日志保存60日
linux主机本身就可办到,不过要scsi硬盘。
使用fwlogwatch这个软件记录。
vi /etc/syslog.conf 添加 kern.* /var/log/internetlog
以后/var/log/internetlog即为你的日志文件。
iptables -A FORWARD -s 你的子网 -d ! 你的子网 -j LOG --log-level 7 --log-prefix "internet:"
然后自己使用shell把每天的日志分类打包。
[ 本帖最后由 hb2k 于 2006-5-30 16:19 编辑 ] |
|