ljc_168 发表于 2006-5-30 09:06:32

大家能给个好的建议吗?

大家能给个好的建议吗?

**********************************************
我校的主三层交换机是联想的3508GF

PORT 1 192.168.1.0/24 综合楼 VLAN 1
PORT 2 192.168.2.0/24 中学楼 VLAN 2
PORT 3 192.168.3.0/24 小学楼 VLAN 3
PORT 4 192.168.4.0/24 科技楼 VLAN 4
PORT 5 192.168.5.0/24 幼儿园 VLAN 5
PORT 6 192.168.6.0/24 教师公寓 VLAN 6
PORT 7 172.16.3.0/24 服务器组 VLAN 7
PORT 8 172.16.1.2 连接路由器 VLAN 8

规则(在交换机VLAN已做):
A、PORT 1-6 之间不能访问
B、PORT 1-6 都能访问PORT 7服务器组
C、PORT 1-6 都能通过PORT 8访问Internet

*************************************************
现在需要的是用一台Linux做路由器

路由器内网IP:172.16.1.1

A、帮三层交换机路由:
ip route default 10.3.1.X(路由器外网网关)
ip route 192.168.1.0 255.255.255.0 172.16.1.2
ip route 192.168.2.0 255.255.255.0 172.16.1.2
ip route 192.168.3.0 255.255.255.0 172.16.1.2
ip route 192.168.4.0 255.255.255.0 172.16.1.2
ip route 192.168.5.0 255.255.255.0 172.16.1.2
ip route 192.168.6.0 255.255.255.0 172.16.1.2
ip route 172.16.3.0 255.255.255.0 172.16.1.2

B、端口1024以上的不能访问
deny   tcp any any gt 1024
deny   udp any any gt 1024
permit ip any any

C、对每个IP都限制每秒50连接下

D、优先级为http协议第一

E、上网日志保存60日

**************************************************

请问这样的策略用好种路由好? 如何做好?

liufirst 发表于 2006-5-30 10:06:57

原帖由 ljc_168 于 2006-5-30 09:06 发表
我校的主三层交换机是联想的3508GF

PORT 1 192.168.1.0/24 综合楼 VLAN 1
PORT 2 192.168.2.0/24 中学楼 VLAN 2
PORT 3 192.168.3.0/24 小学楼 VLAN 3
PORT 4 192.168.4.0/24 科技楼 VLAN 4
PORT 5 192.168.5.0/24 幼儿园 VLAN 5
PORT 6 192.168.6.0/24 教师公寓 VLAN 6
PORT 7 172.16.3.0/24 服务器组 VLAN 7
PORT 8 172.16.1.2 连接路由器 VLAN 8

规则(在交换机VLAN已做):
A、PORT 1-6 之间不能访问
B、PORT 1-6 都能访问PORT 7服务器组
C、PORT 1-6 都能通过PORT 8访问Internet

*************************************************
现在需要的是用一台Linux做路由器

路由器内网IP:172.16.1.1

A、帮三层交换机路由:
ip route default 10.3.1.X(路由器外网网关)
ip route 192.168.1.0 255.255.255.0 172.16.1.2
ip route 192.168.2.0 255.255.255.0 172.16.1.2
ip route 192.168.3.0 255.255.255.0 172.16.1.2
ip route 192.168.4.0 255.255.255.0 172.16.1.2
ip route 192.168.5.0 255.255.255.0 172.16.1.2
ip route 192.168.6.0 255.255.255.0 172.16.1.2
ip route 172.16.3.0 255.255.255.0 172.16.1.2

B、端口1024以上的不能访问
deny   tcp any any gt 1024
deny   udp any any gt 1024
permit ip any any

C、对每个IP都限制每秒50连接下

D、优先级为http协议第一

E、上网日志保存60日


A.很容易,应该说基本都能做
B.三层交换上能不能做呢?路由上应该也好做.没用过太多,印象CL就有设置的地方.
C.D.未知,请楼下的谈
E.这个是日志服务器的事.

hb2k 发表于 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 defaultr2q 1
tc class add dev eth0 parent 1:classid 1:1htb 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 -jMARK --set-mark 0x1
iptables -t mangle -A OUTPUT -m layer7 --l7proto http -jMARK --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 编辑 ]

foo 发表于 2006-5-30 23:50:54

高手,留名

ljc_168 发表于 2006-6-1 10:16:49

回复 #3 hb2k 的帖子

谢谢!
那用mono可以实现吗?

hb2k 发表于 2006-6-1 15:36:37

有linux为何要用二次开发产品?

纯linux vs 类unix二次开发系统:优点在于灵活升级内核和相关软件而不受制于人。

ljc_168 发表于 2006-6-3 08:53:40

那我要努力学习LINUX先得!
页: [1]
查看完整版本: 大家能给个好的建议吗?