輕松實(shí)現(xiàn) Linux系統(tǒng)下互聯(lián)網(wǎng)過濾功能 |
發(fā)布時(shí)間: 2012/8/26 17:49:01 |
目前,很多學(xué)校都建起了校園網(wǎng)并連接上互聯(lián)網(wǎng),但互聯(lián)網(wǎng)上的不良信息非常多,如何進(jìn)行網(wǎng)站過濾,防止不健康網(wǎng)站對(duì)學(xué)生的影響呢?以下本著零成本、高效益的原則,談?wù)勗诿赓M(fèi)的Linux下如何實(shí)現(xiàn)互聯(lián)網(wǎng)的過濾功能。 設(shè)置代理服務(wù)器 校園網(wǎng)通過Linux上網(wǎng),在網(wǎng)關(guān)上利用Squid架設(shè)代理服務(wù)器。 首先要安裝好Linux,我用的是易裝好用的RedHat Linux 7.2。在安裝RedHat Linux 7.2時(shí),Squid已同時(shí)安裝好,我們只需簡(jiǎn)單的配置一下就能使用。 RedHat Linux 7.2安裝后默認(rèn)是未運(yùn)行Apache,故應(yīng)先啟用Squid,確保Squid代理服務(wù)器能正常工作。修改/etc/squid/squid.conf配置文件。 http_port 3128 (定義Squid監(jiān)聽HTTP客戶端請(qǐng)求的端口) cache_mem 10 MB (Squid可以使用的內(nèi)存理想值,一般設(shè)為物理內(nèi)存的1/3) cache_swap_low 95 cache_swap_low 90 maximum_object_size 4096 KB(大于該值對(duì)象將不被存儲(chǔ)) cache_dir ufs /var/spool/squid/cache 200 16 256(指定Squid用來存儲(chǔ)對(duì)象的交換空間大小及其目錄結(jié)構(gòu)) acl all src 192.168.1.1/24(定義All 為192.168.1.1網(wǎng)段) http_acceaa allow all(192.168.1.1 網(wǎng)段的客戶端可使用Squid代理上網(wǎng)) cache_effective_user squid(使用的用戶和用戶組) cache_effective_group squid(其余參數(shù)用默認(rèn)值即可) [root@squid bin]# chmod 777 /var/spool/squid/cache(使/var/spool/squid/cache目錄為Noboay用戶,具有寫權(quán)限) [root@squid bin]# squid -z(手工建立Squid的緩存目錄/var/spool/squid/cache) [root@squid bin]# /etc/rc.d/init.d/squid start(啟動(dòng)Squid,停止Squid用/etc/rc.d/init.d/squid stop) 在客戶端進(jìn)行測(cè)試,以Windows為例。運(yùn)行IE,單擊“工具”,接著單擊“Internet選項(xiàng)”,再單擊“連接”選項(xiàng)卡,單擊“局域網(wǎng)設(shè)置”;在“局域網(wǎng)設(shè)置”窗口中,在“地址”處填上Squid服務(wù)器的IP地址:192.168.1.16,在“端口”處填上“3128”,確定后退出。此時(shí)客戶端應(yīng)能瀏覽Internet,說明Squid已正常運(yùn)行。 過濾功能的配置 接下來進(jìn)行的是網(wǎng)站過濾功能的配置?梢杂袃煞N配置方法。 方法一 請(qǐng)到: 引用: squidGuard則是作為squid的輔助軟件,完成過濾、重定向和訪問控制的功能。它是一個(gè)自由軟件,功能強(qiáng),便于安裝、易于配置、而且處理速度快。功能主要包括:根據(jù)web服務(wù)器或URLs列表限制一些用戶的訪問;阻塞某些用戶對(duì)黑名單上的web服務(wù)器和URLs的訪問;阻塞某些用戶對(duì)正則表達(dá)式匹配的URLs的訪問;在URL路徑加強(qiáng)了使用域名訪問而禁止用IP訪問;重定向阻塞的URLs到一個(gè)智能CGI的信息頁;重定向非授權(quán)用戶到一個(gè)注冊(cè)頁面;具有基于日期、每周、每天具體時(shí)間的訪問規(guī)則;對(duì)不同用戶組有不同的規(guī)則。但是不能過濾、檢查文檔中的文本以及HTML中的JavaScript或Vbscript腳本語言。 #rpm -ivh squidguard-1.2.0-3.i386.rpm (安裝后數(shù)據(jù)目錄Dbhome:/var/squidguard/blacklists;日志目錄Logdir: /var/log/squidguard) 按提示修改/etc/squid/squid.conf文件中的有關(guān)配置行: redirect_program /usr/sbin/squidguard -c /etc/squid/squidguard.conf redirect_child 5 重啟Squid,查看/var/log/squidguard/squidguard.log,看最后一行:2002-06-23 16:13:18[2237] squidguard ready for requests則表明Squidguard已正常運(yùn)行。 方法二 請(qǐng)到squidguard.mesd.k12.or.us/squidguard.tar.gz下載TAR版本的SquidGuard.tar.gz,并存放到根目錄下。 #cd / (進(jìn)入根目錄) #tar vzxf squidguard.tar.gz (解壓縮文件到/usr/local/squidguard 下,數(shù)據(jù)目錄Dbhome:/usr/local/squidguard/db;日志目錄Logdir:/usr/local/squidguard/log) 修改/etc/squid/squidguard.conf配置文件: redirect_program: /usr/local/bin/squidguard -c /etc/squid/squidguard.conf 重啟Squid,查看/usr/local/squid guard/log/squidguard.log確保SquidGuard已正常運(yùn)行。 試瀏覽一些欲過濾網(wǎng)站,若能被重定向到指定網(wǎng)頁,則說明過濾功能已起作用。 在使用TAR版本的SquidGuard時(shí)能增減數(shù)據(jù)。進(jìn)入到數(shù)據(jù)目錄:/usr/local/squidguard/db下的Porn文件夾,新建一個(gè)Domains.diff文件,內(nèi)容格式是(加號(hào)“+”表示增加,減號(hào)“-”表示去除): +newsite1(把newsite1加入過濾名單,不能訪問) +newsite2(把newsite2加入過濾名單,不能訪問) -site3(把site3從過濾名單去掉,可以正常訪問) -site4(把site4從過濾名單去掉,可以正常訪問) 然后執(zhí)行:#/usr/local/bin/squidguard -c /etc/squid/squidguard.conf -u 查看SquidGuard.log文件,若有: db update done squidguard stopped(102233.823) 表明數(shù)據(jù)更新成功!再重啟Squid即可。
此方法的優(yōu)點(diǎn)是配置方便,對(duì)硬件要求低,一般退役下來的486、586完全能勝任,代理服務(wù)器可以長(zhǎng)時(shí)間工作。且所有軟件都是免費(fèi)的,過濾名單更新快,只需到www.squidGuard.org下載最新版本的過濾名單數(shù)據(jù)庫(kù)替換舊的即可,也可以手工增減過濾名單。 Squid還可以設(shè)定上網(wǎng)時(shí)間段;可以定期檢查日志,及時(shí)發(fā)現(xiàn)學(xué)生上網(wǎng)中存在的不良傾向。 引用:
注意:squidGuard對(duì)配置文件的語法要求很嚴(yán),如果配置文件語法有誤,squidGuard仍能運(yùn)行, 但是squidGuard已進(jìn)入應(yīng)急模式,此時(shí)代理服務(wù)不具有任何阻塞作用, 所有通過該代理的訪問都可通過,可以查看logs/squidGuard的日志文件,即可發(fā)現(xiàn)錯(cuò)誤,例如: 2001-12-20 17:08:44 [2430] parse error in configfile /usr/local/squidGuard/squidGuard.conf line 8 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |