Linux下利用cron辅助管理squid方法
2010-03-20 08:35
417 查看
cron辅助管理squid
利用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,脚本如下
注:5至8行为后加入的
step 2:
注:所建目录,及其中的以.job为扩展名的文件是cron daemon要求的
step 3:
在/etc/squid下,以squid.conf文件为模板,创建及修改worktime.conf和notworktime
先:set number,脚本需修改,如下
vi notwortime,先:set number,脚本需修改,如下:
step 4:
在/etc/squid下创建allow文件,vi allow,脚本如下
注:每行只能有一个ip
利用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行为后加入的
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要求的
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
相关文章推荐
- linux+squid利用Layer7限制迅雷下载、QQ、MSN方法
- [ZT]linux+squid利用Layer7限制迅雷下载、QQ、MSN方法
- Linux 技巧:让进程在后台可靠运行的几种方法 用 cron 和 at 调度作业 使用 screen 管理你的远程会话
- cron辅助管理squid
- 利用Linux系统生成随机密码的10种方法
- linux利用外部邮箱发送邮件的方法
- Linux下Proftpd的安装配置与管理方法
- 利用 Linux 系统生成随机密码的10种方法 推荐
- Linux基础管理——软件包管理:rpm,yum高级使用方法(史上最全,没有之一)
- 不同系统平台之间(Linux与Linux、Linux与Unix)利用NFS实现文件共享方法
- linux 乱码 及解决方法 locale 可以利用iconv -l 来查看linux系统都支持哪种编码格式
- CentOS(Linux)下的apache服务器配置与管理方法分享
- Linux 基础操作(十五)————at延时任务、cron定时任务、临时文件管理
- 【操作系统】linux--系统管理--虚拟机里的linux挂载u盘的方法
- 12.4 linux任务计划cron chkconfig工具 systemd管理服务 unit介绍 target介绍
- 八周第一次课 2017.12.4 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、target介绍
- 一个Linux内核利用init_task进行进程管理的简单例子
- Linux下proftpd的安装配置与管理方法
- ---利用Linux修复Windows系统问题中最聪明的十招方法
- 利用Linux系统生成随机密码的10种方法