系統(tǒng)運(yùn)維
內(nèi)容要點(diǎn):
一、squid 中 acl 的使用
二、日志分析
三、反向代理
一、squid 中 acl 的使用
(1)acl 訪問(wèn)控制方式:
1、根據(jù)源地址、目標(biāo)url、文件類型等定義列表
acl 列表名稱 列表類型 列表內(nèi)容…
2、針對(duì)已定義的 acl列表進(jìn)行限制
http_access allow 或 deny 列表名稱…
(2)acl 規(guī)則優(yōu)先級(jí):
當(dāng)一個(gè)用戶訪問(wèn)代理服務(wù)器時(shí),squid 會(huì)順序匹配 squid中定義的所有規(guī)則列表,一旦匹配成功,立即停止匹配。當(dāng)所有規(guī)則都不匹配時(shí),squid 會(huì)使用與最后一條相反的規(guī)則。
(3)常用的 acl 列表類型:
src?->源地址dst?->目標(biāo)地址port?->目標(biāo)地址dstdomain?->目標(biāo)域time?->訪問(wèn)時(shí)間maxconn?->最大并發(fā)連接ur_?regex?->目標(biāo)url地址urlpath_regex?->整個(gè)目標(biāo)url路徑
(4)操作演示:
注:,要先做好代理功能,并且 squid代理服務(wù)器要開(kāi)放 3128端口,每次改好配置文件,都需要重啟服務(wù)。
角色ip地址web服務(wù)器192.168.220.136squid代理服務(wù)器192.168.220.131客戶機(jī)192.168.220.128
修改 /etc/squid.conf 文件
添加以下代碼:
1、基于ip地址限制:
acl?hostlocal?src?192.168.220.128/32?//hostlocal表示是名稱?http_access?deny?hostlocal?//拒絕訪問(wèn)
2、基于時(shí)間限制:
acl?work?time?wthmfas?11:00-12:00//時(shí)間設(shè)置在?11:00-12:00http_access?deny?work?//拒絕訪問(wèn)
3、基于目標(biāo)地址(就是web服務(wù)器地址)
可以將拒絕的目標(biāo)地址添加到一個(gè)文件中
1、?mkdir?/etc/squid//先創(chuàng)建一個(gè)目錄vim?dest.list將拒絕的ip地址添加到文件中192.168.220.111192.168.220.123192.168.220.1362、做規(guī)則vim?/etc/squid.conf?acl?destion?dst?/etc/squid/dest.listhttp_access?deny?destion
二、日志分析
第一步:安裝 sarg 工具
sarg(squid analysis report generator),是一款squid 日志分析工具,采用html 格式,詳細(xì)列出每一位用戶訪問(wèn)internet 的站點(diǎn)信息、時(shí)間占用信息、排名、連接次數(shù)、訪問(wèn)量等。
(1)安裝圖像處理工具:
yum?install?-y?gd?gd-devel?pcre
(2)創(chuàng)建一個(gè)文件:
mkdir?/usr/local/sarg
tar?zxvf?sarg-2.3.7.tar.gz?-c?/opt/解壓到/opt/目錄下
(3)編譯
./configure?--prefix=/usr/local/sarg?\\\\--sysconfdir=/etc/sarg?\\\\--enable-extraprotection//額外安全防護(hù)
(4)安裝
make?&&?make?install
(5)修改主配置文件 /etc/sarg/sarg.conf
vim?/etc/sarg/sarg.conf開(kāi)啟以下功能(稍作修改即可):access_log?/usr/local/squid/var/logs/access.log?//指定訪問(wèn)日志文件title?squid?user?access?reports//網(wǎng)頁(yè)標(biāo)題output_dir?/var/www/html/squid-reports//報(bào)告輸出目錄user_ip?no?//使用用戶名顯示exclude_hosts?/usr/local/sarg/noreport?//不計(jì)入排序的站點(diǎn)列表文件topuser_sort_field?connect?reverse?//top排序中有連接次數(shù)、訪問(wèn)字節(jié)、降序排列user_sort_field?reverse?//用戶訪問(wèn)記錄、連接次數(shù)、訪問(wèn)字節(jié)按降序排序overwrite_report?no?//同名日志是否覆蓋mail_utility?mail.postfix?//發(fā)送郵件報(bào)告命令charset?utf-8//使用字符集weekdays?0-6?//top排行的星期周期www_document_root?/varwww/html?//網(wǎng)頁(yè)根目錄
(6)添加不計(jì)入站點(diǎn)文件,添加的域名將不被顯示在排序中
touch?/usr/local/sarg/noreport
ln?-s?/usr/local/sarg/bin/sarg?/usr/local/bin///方便管理,可以創(chuàng)建一個(gè)軟連接
開(kāi)啟:
第二步:安裝 apache
?yum?install?httpd?-y
第三步:客戶機(jī)上測(cè)試
瀏覽器上訪問(wèn): http://192.168.220.131/squid-reports
通過(guò)這個(gè)工具,我們可以看到詳細(xì)的訪問(wèn)情況。
同時(shí),也可以使用周期性計(jì)劃任務(wù)執(zhí)行每天生成報(bào)告:
sarg?-l?/usr/local/squid/var/logs/access.log?-o?/var/www/html/squid-reports/?-z?-d?$(date?-d?1?day?ago? %d/%m/%y)-$(date? %d/%m/%y)
三、反向代理
反向代理工作原理:
反向代理服務(wù)器位于本地web服務(wù)器和internet之間。
當(dāng)用戶瀏覽器發(fā)出一個(gè)http請(qǐng)求時(shí),通過(guò)域名解析將請(qǐng)求定向到反向代理服務(wù)器(如果要實(shí)現(xiàn)多個(gè)web服務(wù)器的反向代理,需要將多個(gè)web服務(wù)器的域名都指向反向代理服務(wù)器)。由反向代理服務(wù)器處理器請(qǐng)求。反向代理一般只緩存可緩沖的數(shù)據(jù)(比如html網(wǎng)頁(yè)和圖片等),而一些cgi腳本程序或者asp之類的程序不緩存。它根據(jù)從web服務(wù)器返回的http頭標(biāo)記來(lái)緩沖靜態(tài)頁(yè)面。
角色ip地址web服務(wù)器1192.168.220.136squid代理服務(wù)器192.168.220.131客戶機(jī)192.168.220.128web服務(wù)器2192.168.220.137
1、配置 squid 代理服務(wù)器:
修改 /etc/squidconf 文件
vim?/etc/squid.confhttp_port?192.168.220.131:80?accel?vhost?vportcache_peer?192.168.220.136?parent?80?0?no-query?originserver?round-robin?max_conn=30?weight=1?name=web1cache_peer?192.168.220.137?parent?80?0?no-query?originserver?round-robin?max_conn=30?weight=1?name=web2cache_peer_domain?web1?web2?www.yun.com
service?squid?restart?//重啟squidsystemctl?stop?httpd.service//關(guān)閉apache服務(wù)
2、在兩臺(tái) web服務(wù)器上做一個(gè)測(cè)試網(wǎng)頁(yè):
3、客戶機(jī)做一下域名解析:
修改一下,代理服務(wù)器端口:
4、瀏覽器訪問(wèn) http://www.yun.com/