iptables+squid

案例:

公司有三个部门

工程部门 2.10--2.20

软件部门 2.21-2.30

经理办 2.31-2.40

上班时间 (周一---周五 08:20:00)

工程部门 ftp 下班后无限制

软件部门 http 不允许非法站点sina ,不允许使用迅雷 ,连接数 最多3个不允许聊天 不允许下载电影,不允许浏览图片 下班后无限制

经理办公室 http qq 都可以,下班后无限制

dmz区域www服务器进行发布

iptable+l7 +squid +透明代理

 

image

1:把规则设置成全部禁止之前要让你这台机器可以ssh上不然自己会掉,还要让你机器的内部可以通讯
Iptables �Ct filter �CA INPUT �Cs 192.168.101.80 �Cp tcp �C-dport 22 �Cm state �C-state NEW,ESTABLISHED �Cj ACCEPT
Iptables �Ct filter �CA OUTPUT �Cd192.168.101.80 �Cp tcp �C-sport 22 �Cm state �C-state ESTABLISHED �Cj ACCEPT
Iptables �Ct filter -A INPUT �Ci lo �Cj ACCEPT
Iptables �Ct filter -A OUTPUT �Co lo �Cj ACCEPT

2:把所有规则设置成全部禁止的
Iptables �CP INPUT  DROP
Iptables �CP OUTPUT  DROP
Iptables �CP FORWARD  DROP
3:先写软件部门的
首先让软件部门可以上网(通过透明代理服务器),然后再进行限制
Iptables �Ct nat �CA PREROUTING �Cm iprange �C-src-range 192.168.2.21-192.168.2.30 �Cm time �C-timestart 08:00 �Ctimestop 20:00 �Cp tcp --dport 80 �Cj REDIRECT �C-to-ports 3128
Iptables �Ct filter �CA INPUT �Cp tcp --dport 3128 �Cj ACCEPT
Iptables �Ct filter �CA OUTPUT �Cm state �C-state ESTABLISHED,RELATED �Cj ACCEPT
Iptables �Ct filter �CA OUTPUT �Cp tcp �C-dport 80 �Cj ACCEPT
Iptables �Ct filter �CA OUTPUT �Cp udp �C-dport  53 �Cj ACCEPT
Iptables �Ct filter �CA INPUT �Cm state �C-state ESTABLISHED,RELATED �Cj ACCEPT
Iptables �Ct filter �CA FORWARD �Cm iprange �Csrc-range 192.168.2.21-192.168.2.30 �Cp udp �C-dport 53 �Cm time �C-timestart 08:00 �C-timestop
20:00 �Co eth0 �Cj ACCEPT 
Iptables �Ct filter �CA FORWARD �Cm state �C-state ESTABLISHED,RELATED �Cj ACCEPT 
Iptables �Ct nat �CA POSTROUTING �Cs 192.168.2.0/24 �Co eth0 �Cj MASQUERADE
4:下面对软件部进行访问控制,首先用squid进行控制
Vim /etc/squid/squid.conf
首先做透明代理
900行左右的http_port 3128后面加上transparent
里面插入
acl ruanjianbu src 192.168.2.21-192.168.2.30/255.255.255.255
411 acl worktime time M T W H F 08:00-20:00
412 acl badsite url_regex -i sina
413 acl badcont urlpath_regex  -i \.jpg$
414 acl maxconn  maxconn 200
415 http_access deny ruanjianbu worktime badsite
接着用iptables对qq和xunlei控制
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.21-192.168.2.30 -m time --timestart 08:00 --timestop 20:00 -m layer7 --l7proto qq -j DROP
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.21-192.168.2.30 -m time --timestart 08:00 --timestop 20:00 -m layer7 --l7proto xunlei -j DROP
5:下面开始写经理办的
iptables -t nat -A PREROUTING -m iprange --src-range 192.168.2.31-192.168.2.40 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t filter -A FORWARD  -m iprange --src-range 192.168.2.31-192.168.2.40 -p udp --dport 53 -o eth0 -j ACCEPT
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.31-192.168.2.40 -m time --timestart 08:00 --timestop 20:00 -m layer7 --l7proto qq -j ACCEPT
6:最后写工程部的
iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.2.10-192.168.2.20 -m time --timestart 08:00 --timestop 20:00 -p tcp --dport 21 -j MASQUERADE
iptables -t filter -A FORWARD -m iprange --src-range 192.168.2.10-192.168.2.20 -m time --timestart 08:00 --timestop 20:00 -p tcp --dport 21 -j ACCEPT
modprobe ip_nat_ftp加载ftp模块
7:对下班时候做控制
iptables -t filter -A FORWARD -s 192.168.2.0/24 -m time --timestart 20:01 --timestop 23:59 -j ACCEPT
iptables -t filter -A FORWARD -s 192.168.2.0/24 -m time --timestart 00:00 --timestop 07:59 -j ACCEPT
iptables -t nat -A PREROUTING -m time --timestart 20:01 --timestop 23:59 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -m time --timestart 00:00 --timestop 07:59 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -m time --timestart 20:01 --timestop 23:59 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -m time --timestart 00:00 --timestop 07:59 -o eth0 -j MASQUERADE
8:写DMZ区域的(用远程登陆模拟)
iptables -t nat -A PREROUTING -d 192.168.101.40 -p tcp --dport 3389 -j DNAT --to 192.168.3.100
iptables -t filter -A FORWARD -d 192.168.3.100 -p tcp --dport 3389 -j ACCEPT

你可能感兴趣的:(color,软件,工程,sina,下载电影)