輕鬆實現 Linux系統下互連網過濾功能)

來源:互聯網
上載者:User
 

目前,很多學校都建起了校園網並串連上互連網,但互連網上的不良資訊非常多,如何進行網站過濾,防止不健康網站對學生的影響呢?以下本著零成本、高效益的原則,談談在免費的Linux下如何?互連網的過濾功能。

  設定Proxy 伺服器

  校園網通過Linux上網,在網關上利用Squid架設Proxy 伺服器。

  首先要安裝好Linux,我用的是易裝好用的RedHat Linux 7.2。在安裝RedHat Linux 7.2時,Squid已同時安裝好,我們只需簡單的配置一下就能使用。

  RedHat Linux 7.2安裝後預設是未運行Apache,故應先啟用Squid,確保SquidProxy 伺服器能正常工作。修改/etc/squid/squid.conf設定檔。

  http_port 3128 (定義Squid監聽HTTP用戶端請求的連接埠)

  cache_mem 10 MB (Squid可以使用的記憶體理想值,一般設為實體記憶體的1/3)

  cache_swap_low 95

  cache_swap_low 90

  maximum_object_size 4096 KB(大於該值對象將不被儲存)

  cache_dir ufs /var/spool/squid/cache 200 16 256(指定Squid用來儲存物件的交換空間大小及其目錄結構)

  acl all src 192.168.1.1/24(定義All 為192.168.1.1網段)

  http_acceaa allow all(192.168.1.1 網段的用戶端可使用Squid代理上網)

  cache_effective_user squid(使用的使用者和使用者組)

  cache_effective_group squid(其餘參數用預設值即可)

  [root@squid bin]# chmod 777 /var/spool/squid/cache(使/var/spool/squid/cache目錄為Noboay使用者,具有寫入權限)

  [root@squid bin]# squid -z(手工建立Squid的緩衝目錄/var/spool/squid/cache)

  [root@squid bin]# /etc/rc.d/init.d/squid start(啟動Squid,停止Squid用/etc/rc.d/init.d/squid stop)

  在用戶端進行測試,以Windows為例。運行IE,單擊“工具”,接著單擊“Internet選項”,再單擊“串連”選項卡,單擊“區域網路設定”;在“區域網路設定”視窗中,在“地址”處填上Squid伺服器的IP地址:192.168.1.16,在“連接埠”處填上“3128”,確定後退出。此時用戶端應能瀏覽Internet,說明Squid已正常運行。

  過濾功能的配置

  接下來進行的是網站過濾功能的配置。可以有兩種配置方法。

  方法一

  請到:
ftp://k12linux.mesd.k12.or.us/pub/squidguard/ 下載RPM版本的SquidGuard-1.2.0-3.i386.rpm。

  引用:

  squidGuard則是作為squid的輔助軟體,完成過濾、重新導向和存取控制的功能。它是一個自由軟體,功能強,便於安裝、易於配置、而且處理速度快。功能主要包括:根據web伺服器或URLs列表限制一些使用者的訪問;阻塞某些使用者對黑名單上的web伺服器和URLs的訪問;阻塞某些使用者對Regex匹配的URLs的訪問;在URL路徑加強了使用網域名稱訪問而禁止用IP訪問;重新導向阻塞的URLs到一個智能CGI的資訊頁;重新導向非授權使用者到一個註冊頁面;具有基於日期、每周、每天具體時間的訪問規則;對不同使用者組有不同的規則。但是不能過濾、檢查文檔中的文本以及HTML中的JavaScript或Vbscript指令碼語言。

  #rpm -ivh squidguard-1.2.0-3.i386.rpm

  (安裝後資料目錄Dbhome:/var/squidguard/blacklists;日誌目錄Logdir: /var/log/squidguard)

  按提示修改/etc/squid/squid.conf檔案中的有關配置行:

  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已正常運行。

  方法二

  請到squidguard.mesd.k12.or.us/squidguard.tar.gz下載TAR版本的SquidGuard.tar.gz,並存放到根目錄下。

  #cd / (進入根目錄)

  #tar vzxf squidguard.tar.gz

  (解壓縮檔案到/usr/local/squidguard 下,資料目錄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已正常運行。

  試瀏覽一些欲過濾網站,若能被重新導向到指定網頁,則說明過濾功能已起作用。

  在使用TAR版本的SquidGuard時能增減資料。進入到資料目錄:/usr/local/squidguard/db下的Porn檔案夾,建立一個Domains.diff檔案,內容格式是(加號“+”表示增加,減號“-”表示去除):

  +newsite1(把newsite1加入過濾名單,不能訪問)

  +newsite2(把newsite2加入過濾名單,不能訪問)

  -site3(把site3從過濾名單去掉,可以正常訪問)

  -site4(把site4從過濾名單去掉,可以正常訪問)

  然後執行:#/usr/local/bin/squidguard -c /etc/squid/squidguard.conf -u

  查看SquidGuard.log檔案,若有:

  db update done

  squidguard stopped(102233.823)

  表明資料更新成功!再重啟Squid即可。

此方法的優點

 

  此方法的優點是配置方便,對硬體要求低,一般退役下來的486、586完全能勝任,Proxy 伺服器可以長時間工作。且所有軟體都是免費的,過濾名單更新快,只需到www.squidGuard.org下載最新版本的過濾名單資料庫替換舊的即可,也可以手工增減過濾名單。

  Squid還可以設定上網時間段;可以定期檢查日誌,及時發現學生上網中存在的不良傾向。

  引用:

 


squidGuard的設定檔  /usr/local/squidGuard/squidGuard.conf檔案:  logdir /usr/local/squidGuard/logs #日誌目錄定義  dbhome /usr/local/squidGuard/db #db目錄定義  time testtime { #時間規則定義  weekly mtwhf 05:00 - 10:30  weekly as 08:00 - 19:00  date *-*-01 08:00 - 16:30  date 2001.10.01 - 2001.10.09  }  src admin { #源組定義  ip 192.168.100.18  }  src client{  ip 192.168.100.20 192.168.100.21 192.168.100.22  ip 192.168.200.0/24  }  dest porn { #目標組定義  domainlist porn/domains  urllist porn/urls  expressionlist porn/expressions  }  acl { #訪問規則定義  admin within testtime {  pass !porn all  } else {  pass all  }  client {  pass !in-addr !porn all  }  default {  pass none  redirect http://admin.foo.com    (#也可以重新導向到一個含有一些資訊的cgi頁面,如下:  http://admin.foo.com/cgi/blocked?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u)  }  }    # vi db/porn/domains    (域列表檔案:主要是阻塞一些定義的網站)    co.za    sex.com    (如上,可以阻塞如hack.co.za、sex.com、www.sex.com、whatever.sex.com, 但是不同於.*[^.]sex.com,不匹配ssex.com)    # vi db/porn/urls    (url列表檔案,主要是阻塞一些網站及其一些欄目)    qihui.com/sex    valen.sohu.com/album    (如上可阻塞http://qihui.com/sex、 http://qihui.com/sex/whatever、ftp://qihui.com/sex、 http://www.qihui.com/sex等)  # vi db/porn/expressions    (運算式列表檔案,主要是阻塞一些與運算式匹配的URL訪問)    (^|[/?+=/])(.*)(girl)(.*)([/?+=/]|$)    (上面的Regex可以阻塞URL中包括girl網站的訪問, 如:www.girlzine.com、girl.huabao.net、www.huayu.net/girl、www.universiti.com/girl等 )

 

  注意:squidGuard對設定檔的文法要求很嚴,如果設定檔文法有誤,squidGuard仍能運行,

但是squidGuard已進入應急模式,此時代理服務不具有任何阻塞作用,

所有通過該代理的訪問都可通過,可以查看logs/squidGuard的記錄檔,即可發現錯誤,例如:

  2001-12-20 17:08:44 [2430] parse error in configfile /usr/local/squidGuard/squidGuard.conf line 8
  2001-12-20 17:08:44 [2430] going into emergency mode

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.