博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cron辅助squid(转)
阅读量:2451 次
发布时间:2019-05-10

本文共 3002 字,大约阅读时间需要 10 分钟。

cron辅助squid(转)[@more@]

  利用cron的定时功能辅助对squid代理进行上网限制:

  1. Squid是我所用过的最好的代理服务器(my opinion)

  2. 该文档,该功能只适用于使用静态ip的局域网

  3.想要实现的功能:

  在工作时间,让一部分办公电脑(allow表中的)上网,在非工作时间,让所有办公电脑上网,定时切换。

  工作时间worktime):8:00~11:30(周1-周5)以及13:00~17:00(周1-周5),让一部分办公电脑(allow表中的)上网。非工作时间(notworktime):11:31~12:59(周1-周5)以及17:01(当日)~7:59(次日)(周1-周5)、 (周6-周7),让所有办公电脑上网。

step 1:

  vi /etc/crontab,脚本如下

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

  01 * * * * root run-parts /etc/cron.hourly

  02 4 * * * root run-parts /etc/cron.daily

  22 4 * * 0 root run-parts /etc/cron.weekly

  42 4 1 * * root run-parts /etc/cron.monthly

  00 8 * * 1-5 root run-parts /etc/squid/worktime

  30 11 * * 1-5 root run-parts /etc/squid/notworktime

  00 13 * * 1-5 root run-parts /etc/squid/worktime

  00 17 * * 1-5 root run-parts /etc/squid/notworktime

  0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg

  注:5至8行为后加入的

  day(第三列*) 和 month(第四列*)被忽略, 即每周一至每周五的那四个时间,那四个cron定时程序启动

step 2:

  cd /etc/squid

  mkdir worktime

  vi worktime.job

  脚本如下

  SHELL=/bin/sh

  MAILTO=root

  rm -f /etc/squid/squid.conf

  #把原来的配置文件删掉

  cp /etc/squid/worktime.conf /etc/squid/squid.conf

  #置换成定制的squid.conf

  /etc/rc.d/init.d/squid restart

  #重启squid,读新的squid.conf文件

  注:所建目录,及其中的以.job为扩展名的文件是cron daemon要求的

  mkdir notworktime

  vi notworktime

  脚本如下

  SHELL=/bin/sh

  MAILTO=root

  rm -f /etc/squid/squid.conf

  cp -f /etc/squid/notworktime.conf /etc/squid/squid.conf

  /etc/rc.d/init.d/squid restart

step 3:

  在/etc/squid下,以squid.conf文件为模板,创建及修改worktime.conf和notworktime

  cp squid.conf worktime.conf

  (拷贝原配置文件并新命名,然后vi worktime.conf)

  cp squid.conf notworktime.conf

  vi worktime.conf

  先:set number,脚本需修改,如下

  47 #Default:

  48 http_port 80

  405 #Default:

  406 cache_mem 64 MB

  601 #Default:

  602 cache_dir ufs /var/spool/squid 400 16 256

  ACCESS CONTROL

  此处的思想为:先开放(allow)一些,然后在底下全禁(deny all)

  在临近位置对应添加、修改如下几行

  1425

  1426 acl myallow src "/etc/squid/allow"

  (squid会拿有上网请求的ip和此文件中的ip地址列表

  做对比、做查找,如果找到了则允许其上网,否则

  deny.允许上网的机器的ip都在这里)

  1427

  1428 acl denymine urlpath_regex .exe .zip(禁止下载.exe和.zip的文件)

  1458 http_access allow myallow

  1459 http_access deny denymine

  1468 http_access allow localhost

  1469 http_access deny all

  vi notwortime,先:set number,脚本需修改,如下:

  47 #Default:

  48 http_port 80

  405 #Default:

  406 cache_mem 64 MB

  601 #Default:

  602 cache_dir ufs /var/spool/squid 400 16 256

  ACCESS CONTROL

  在临近位置对应添加如下几行

  1422 acl mynet src 192.168.1.0/255.255.255.0

  1425

  1456 http_access allow manager localhost

  1457 http_access deny manager

  1458 http_access allow mynet (让本网段的机器上网)

  1470 http_access allow localhost

  1471 http_access deny all

step 4:

  在/etc/squid下创建allow文件,vi allow,脚本如下

  192.168.1.124

  192.168.1.123

  192.168.1.138(临时上网的,临时在此文件的后面添加其ip)

  注:每行只能有一个ip

  final:总结一下,就是利用cron的定时功能去定时置换squid的配置文件,新的配置文件对上网的权限进行设置。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-940660/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-940660/

你可能感兴趣的文章
保存您SQL执行计划
查看>>
filetable_SQL Server FILETABLE用例
查看>>
ssis组件_SSIS脚本组件概述
查看>>
sql 触发器嵌套条件_SQL Server中的嵌套触发器
查看>>
SQL Server中的数据库快照
查看>>
power bi 背景图_Power BI桌面饼图树
查看>>
sql组合索引和独立索引_SQL索引概述和策略
查看>>
SQL Server执行计划面试问题
查看>>
清理搜狗输入法_清理输入内容:避免安全性和可用性灾难
查看>>
索引sql server_SQL Server索引与统计顾问的困境或麻烦
查看>>
json 转对象函数_JSON_QUERY()函数从JSON数据提取对象
查看>>
将PowerShell连接到SQL Server –使用其他帐户
查看>>
使用云SQL Server数据库备份和还原操作
查看>>
SQL Server Management Studio(SSMS)中的自定义键盘快捷方式
查看>>
将SQL Server数据库备份到多个文件或从多个文件还原
查看>>
比较和同步两个SQL Server数据库之间的图像
查看>>
azure未连接_处理影响Azure成本的未使用和不必要的资源
查看>>
青蛙换位置excel_吃青蛙:如何在Excel中创建每日交付的sprint消耗图
查看>>
如何在SQL Server Reporting Services中使用表达式来创建有效的报告
查看>>
SQL Server中的报表–使用SQL Server数据工具将三个报表合并为一个报表
查看>>