设为首页 收藏本站
查看: 1772|回复: 0

[经验分享] squid的acl设置

[复制链接]

尚未签到

发表于 2018-12-26 13:54:41 | 显示全部楼层 |阅读模式
  RedHat linux 系统默认已经安装了squid
  1.squid代理服务的配置
  有以下最基本的设置squid就可以启动使用了
  http_port 192.168.0.110:8080
  cache_mem 64 MB
  cache_dir ufs /var/spool/squid 4096 16 256
  cache_effective_user squid
  cache_effective_group squid
  dns_nameservers 192.168.0.1
  cache_access_log /var/log/squid/access.log
  cache_log /var/log/squid/cache.log
  cache_store_log /var/log/squid/store.log
  visible_hostname 192.168.0.110
  cache_mgr qubaoquan@ccpower.com.cn
  acl all src 0.0.0.0/0.0.0.0
  http_access allow all
  1.1 指定squid服务器监听的ip和端口
  http_port 192.168.0.110:8080
  1.2 设置内存缓冲的大小(仅仅用于共享上网设为物理内存的1/2,如果还有其他服务责不应超过物理内存的1/3
  cache_mem 64 MB
  1.3 设置内存盘缓冲的大小
  cache_dir ufs /var/spool/squid 4096 16 256
  Ufs 是指缓冲的存贮类型,/var/spool/squid是存贮目录,4096代表最大存贮空间,16代表一级存贮目录,256代表二级存贮目录
  1.4 设置使用存贮的有效用户和组
  cache_effective_user squid
  cache_effective_group squid
  1.5 定义DNS服务器地址
  \ dns_nameservers 192.168.0.1
  1.6 设置访问日志文件
  cache_access_log /var/log/squid/access.log
  1.7 设置缓存日志文件
  cache_log /var/log/squid/cache.log
  1.8 设置网页缓冲日志文件
  cache_store_log /var/log/squid/store.log
  1.9 设置运行squid主机的名称
  visible_hostname 192.168.0.110
  1.10 设置管理员邮件地址
  cache_mgr qubaoquan@ccpower.com.cn
  1.11 设置默认的访问控制列表
  acl all src 0.0.0.0/0.0.0.0
  http_access allow all
  2.初始化squid /usr/sbin/squid –z(创建squid在硬盘缓冲区的目录结构)
  3.访问控制列表
  类型选项
  命令
  说明
  src
  IP地址(客户机IP地址)
  dst
  目标IP地址(服务器IP地址)
  srcdomain
  源名称(客户机所属的域)
  dstdomain
  目标名称(服务器所属的域)
  time
  一天中的时刻和一周内的一天
  url_regex
  URL规则表达式匹配
  urlpath_regex:url-path
  略去协议和主机名的URL规则表达式匹配
  proxy_auth
  通过外部程序进行用户认证
  maxconn
  单一IP的最大连接数
  time
  语法为:时间时间段星期可用首字母大写表示,时间段可表示为:1100-2000
  列表语法:acl 列表名称列表类型 –i 列表值
  http_access allow/deny 列表名称
  实际应用举例
  (1) 禁止IP地址为192.168.16.200的客户机上网
  acl test src 192.168.16.200
  http_access deny test
  (2) 禁止192.168.1.0这个网段里的所有客户机上网
  acl test src 192.168.1.0/255.255.255.0
  http_access deny test
  http_access deny test
  (3) 禁止用户访问IP210.21.118.68的网站
  acl test dst 210.21,118.68
  http_access deny test
  (4) 禁止用户访问域名为www.163.com的网站
  acl test dstdomain –i www.163.com
  http_access deny test
  (5) 禁止用户访问域名包含有163.com的网站
  acl test url_regex –i 163.com
  http_access deny test
  (6) 禁止用户访问包含有sex关键字的URL
  acl test url_regex –i sex
  http_access deny test
  (7) 限制IP地址为192.168.16.200的客户机并发的最大连接数为5
  acl test src 192.168.16.200
  acl test2 maxconn 5
  http_access deny test test2
  (8) 禁止192.168.2.0这个子网里所以客户机在周一至周五的9点到18点上网
  acl test src 192.168.2.0 /255.255.255.0
  acl test2 time MTWHF 900-1800
  http_access deny test test2
  (9) 禁止用户下载*.mp3,*.exe,*.zip,*.rar
  acl test urlpath_regex –i \.mp3$\.exe$\.zip$\.rar$
  http_access deny test
  (10) 禁止QQ通过squid上网
  acl test url_regex –i tencent.com
  http_access deny test
  注:启动squid/etc/init.d/squid start
  停止squid /etc/init.d/squid stop
  重启squid /etc/init.d/squid restart
  重新导入配置文件 /etc/init.d/squid>
  4.透明代理的实现
  1实现透明代理的语句(vi /etc/squid/squid.conf
  http_accel_host virtual
  http_accel_port 80
  http_accel_with_proxy 0n
  httpd_accel_uses_host_header 0n
  http_accel_hosthttp_accel_port来定义squid的加速模式,virtual是虚拟主机模式,80为请求的端口
  http_accel_with_proxy选项定义为on后,squid既是web请求的加速器又是缓存代理服务器
  httpd_accel_uses_host_header定义为on后,在透明代理模式下代理服务器的缓存功能才能工作
  2设置端口重定向
  iptables –t nat –A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 8080
  (3) 重新导入配置文件 /etc/init.d/squid>
  配置用户身份验证
  1. 配置/etc/squid/squid.conf(NCSA认证)
  auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
  auth_param basic children 5
  auth_param basic credentialsttl 2 hours
  auth_param basic realm Example.com's Squid proxy-caching
  acl auth_user proxy_auth REQUIRED
  http_access allow auth_user
  auth_param basic program选项定义了认证方式为basic/usr/lib/squid/ncsa_auth /etc/squid/passwd定义了认证程序的路径和读取的账户文件
  auth_param basic children定义了认证程序的进程数
  auth_param basic credentialsttl定义了经过认证后的有效时间
  auth_param basic realm 定义了WEB 浏览器显示输入用户/密码对话框的领域内容
  acl auth_user proxy_auth REQUIREDhttp_access allow auth_user设置合法用户的访问控制列表
  2. 建立账户文件
  htpasswd -c /etc/squid/passswd test(建第一个用户时要用-c选项)
  htpasswd /etc/squid/passswd test2
  htpasswd /etc/squid/passswd test3
  3. 重新启动squid服务


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-656147-1-1.html 上篇帖子: squid工作原理 下篇帖子: Squid服务在实际工作中的应用、优化和流量监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表