cron輔助squid(轉)
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通用輔助生成: 使用任意輔助模型加速解碼模型
- 常用輔助類
- 搜狐輔助材料
- 如何新增輔助線(幾何問題)如何畫輔助線
- Angular路由——輔助路由Angular路由
- Laravel 輔助函式Laravel函式
- estools 輔助反混淆 JavascriptJavaScript
- 四邊形輔助線做法
- Android 輔助功能 -搶紅包Android
- 圖形輔助,理解遞迴遞迴
- 五,搭建環境:輔助功能
- 英特爾 Gaudi 加速輔助生成
- Laravel自定義輔助函式Laravel函式
- 1. 輔助函式 dd()函式
- 五種可以輔助數字化轉型落地的思維模式模式
- squid 代理轉發內網伺服器UI內網伺服器
- squidUI
- Android 輔助功能 -搶紅包(二)Android
- Android 輔助功能 -搶紅包(三)Android
- 開發常用的輔助函式函式
- 聊聊併發(三)——同步輔助類
- T-SQL——數字輔助表SQL
- 建立Laravel自定義Helper輔助方法Laravel
- CAD(計算機輔助設計)計算機
- wegame輔助功能用不了怎麼解決 wegamelolcfdnf輔助設定無效怎麼辦GAM
- yiigo - 簡單易用的 Golang 輔助庫Golang
- Laravel 輔助函式 dd 加強篇Laravel函式
- canvas的超強輔助 -- fabric.jsCanvasJS
- C# RESTful API 訪問輔助類C#RESTAPI
- 更快的輔助生成: 動態推測
- AI輔助需求規格描述評審AI
- SwiftUI Release 引入的輔助焦點管理SwiftUI
- 使用Github Action來輔助專案管理Github專案管理
- Smooze for Mac滑鼠增強輔助軟體Mac
- iPhone XS怎麼開啟輔助觸控小白點?蘋果iPhone螢幕輔助觸控使用教程iPhone蘋果
- Android開發 - 掌握ConstraintLayout(七)輔助線(Guideline)AndroidAIGUIIDE
- PoCBox – 漏洞測試驗證輔助平臺
- Android 輔助許可權與懸浮窗Android
- React Native JSON解析和輔助函式(2)React NativeJSON函式