RHEL 6.0 为局域网提供上网代理,并做相应的限制。

用环境: RHEL 6.0 x86_64 squid-3.1.4-1.el6.x86_64(自带) 为局域网提供上网代理;并做相应的限制,限制如下:
上班时间段禁止访问娱乐淘宝等网站,禁止下载mp3、exe等类型文件,采购部门需要上淘宝等某些限制网站(高级代理),
能代理上网站、QQ等功能;限制同一ip请求连接数,周六周日不受限制上网……

squid.conf配置内容如下:
#more /etc/squid/squid.conf |grep -v "^#"
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl localhost src ::1/128
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl to_localhost dst ::1/128
acl localnet src 192.168.0.0/16                                                                                                  #定义本地内网网段
acl SSL_ports port 443          #SSL
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl RestTime time MTWHF 00:00-8:29                                                                                 #定义休息时间段1(周六周日除外,下同)
acl WorkTime time MTWHF 8:30-11:29                                                                                #定义工作时间段1
acl workTime time MTWHF 12:30-17:29                                                                               #定义工作时间段2
acl RestTime time MTWHF 17:30-23:59                                                                                #定义休息时间段2
acl CONNECT method CONNECT
acl OverConnlimit maxconn 25                                                                                            #定义客户端最大连接数   
http_access allow localhost                                                                                                 #允许本地连接
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports                                                                                    #拒绝非安全端口的连接 
http_access deny CONNECT !SSL_ports                                                                      #拒绝非443的安全连接端口              
acl deny_ip src "/etc/squid/deny_ip"                                                                           #拒绝的客户端ip列表
acl qqgame dst "/etc/squid/policy/qqgame.list"                                                            #拒绝的QQ游戏ip列表
acl love_ip src "/etc/squid/vip_ip"                                                                                #应用vip高级代理 
acl allowurl url_regex "/etc/squid/allow.list"                                                                  #允许的URL地址列表(优于denyurl列表) 
acl denyurl url_regex "/etc/squid/denyurl.list"                                                                #拒绝访问的URL列表
acl Black_URL url_regex -i ^rtsp:// ^mms:// ^emule://                                                 #拒绝类似电驴的请求      
acl danger url_regex -i \.exe$ \.bat$ \.vbs$ \.zip$ \.mp3$ \.rm$ \.rar$                             #拒绝下载这些类似的文件
http_access deny deny_ip                                                                                           #应用拒绝的客户端列表       
http_access deny qqgame                                                                                         #应用拒绝我QQ游戏列表
http_access allow vip_ip                                                                                          #应用vip代理   
http_access deny danger 
http_access deny OverConnLimit                                                                            #应用拒绝超过连接数的代理   
http_access allow allowurl                                                                                    #允许例外的网站列表
http_access deny Black_URL         
http_access deny denyurl WorkTime                                                                    #工作时间拒绝上denyurl中的网站 (当然高级代理除外)
http_access allow denyurl RestTime                                                                     #休息时间不限
http_access allow all         
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128                                                                                         #tcp 3128端口作为代理上网端口(可自行定义)
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
cache_mgr IT_Administrators
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .;              0       20%     4320

客户端的配置:

1、浏览器的配置,这里以IE为例:Internet选项-->"连接"-->"局域网设置"

2、 代理QQ上网


说明:如果公司是单网段刚可以配置透明代理,这不是文章的重点,如果是多网段不用透明代理,有微软的域系统,可以利用域策略自动配置IE的代理
这机有点类似走了透明代理,但网关还是自己网段的,只是浏览器的代理被域策略配置成代理服务器的ip和端口(实际上笔者所在的公司就是这么实现的);

deny_ip 列表如下:(请根据自己公司的局域网网段构建列表)   

#网段IP       电脑使用人        电脑名
#-------------2网段ip地址-------------------------------------------
192.168.2.2
192.168.2.3
192.168.2.4
192.168.2.5
192.168.2.6
192.168.2.7
192.168.2.8
192.168.2.9
#192.168.2.10   #张三         xxb-04
#192.168.2.11   #李四         TL2-03
#192.168.2.13   #王五         TL1-04
#192.168.2.14   #赵六        ERP-01
#192.168.2.15   #郭七         tl1-09
#192.168.2.16   #程咬金
#192.168.2.17   #刘老要         TL2-04
#192.168.2.18   #凤平         pp-02
#192.168.2.19   #陈佳        TL-10
说明:deny_ip列表在默认注释掉的才是有效的,即可以上网的,没有注释掉的就是拒绝上网的;
高级vip_ip列表也类似,只要在vip_ip列表中就不受上班时间限制上网denyurl中的网站,也不受限制下载;真是方便;另外实践中
以上配置能正常代理上网上QQ包括QQ远程协助,但是QQ不能发送图片,经查资料,原因是默认情况 下http_access deny CONNECT !SSL_ports  起的作用
如果想让QQ能发送图片,那么请把这条注释掉!
denyurl.list和allow.list内容如下(可自行定义名称和添加内容)
http://bbs.wdtc520.com
http://creditcard.ccb.com/loginFrm.html
http://www.abchina.com/update/down/powerenterabc32.exe
http://jobs.12333sh.gov.cn/dwdl/showInfo.jsp?number=75
http://mail.qq.com/cgi-bin/
mail.qq.com/cgi-bin/
http://www.hao123.com/
http://www.sh.10086.cn/
说明:这两个列表既可以只填写关键字,也可以填写完整的URL,但必须是一行一个条目,这里定义的规则是
是allow.list列表是优于denyurl.list列表的,例如,如果denyurl.list中有2345,那么所有的url中只要包含2345
字段那么非vip用户在非休息时间是不能访问的,代理会提示网站内容不合法,请联系管理员等提示,
但是如果在在allow.list中有www.2345.com这个条目,那么客户端在受限制时间内(非vip客户)还是可以访问www.2345.com这个网站的~
这就是这两个列表的妙处~

参考文章来源于www.wdtc520.com http://www.wdtc520.com/thread-1182-1-1.html

VMware是一款虚拟化软件,它可以在一台物理计算机上创建多个虚拟计算机,每个虚拟计算机都可以运行不同的操作系统和应用程序。通过使用VMware,您可以在同一台计算机上同时运行多个操作系统,而无需为每个操作系统购买独立的硬件。 RHEL 6.0是Red Hat Enterprise Linux(RHEL)的一个版本,它是一种基于Linux的操作系统。RHEL 6.0提供了许多功能和工具,适用于企业级应用和服务器环境。 要安装VMware和RHEL 6.0,请按照以下步骤进行操作: 1. 首先,您需要下载并安装VMware软件。您可以从VMware官方网站上下载适用于您的操作系统的VMware安装程序。 2. 安装VMware软件后,打开它并创建一个新的虚拟机。在创建虚拟机的过程中,您需要选择RHEL 6.0作为虚拟机的操作系统类型。 3. 在创建虚拟机时,您需要指定虚拟机的硬件配置,例如内存大小、硬盘大小等。根据您的需求进行相应的配置。 4. 完成虚拟机的创建后,您需要将RHEL 6.0的安装介质(通常是ISO镜像文件)加载到虚拟机中。您可以通过设置虚拟机的光驱来加载ISO镜像文件。 5. 启动虚拟机后,它将自动从ISO镜像文件中引导,并开始RHEL 6.0的安装过程。按照安装向导的指示进行操作,包括选择安装类型、分区磁盘、设置网络等。 6. 完成安装后,重新启动虚拟机,您将能够登录到RHEL 6.0操作系统。 希望以上介绍对您有所帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值