|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 611|回復: 0
打印 上一主題 下一主題

linux互联网过滤

[複製鏈接]

46

主題

0

好友

417

積分

中學生

Rank: 3Rank: 3

  • TA的每日心情
    擦汗
    2023-8-13 14:30
  • 簽到天數: 430 天

    [LV.9]以壇為家II

    推廣值
    0
    貢獻值
    8
    金錢
    74
    威望
    417
    主題
    46
    樓主
    發表於 2012-4-6 20:46:33
    目前,很多学校都建起了校园网并连接上互联网,但互联网上的不良信息非常多,如何进行网站过滤,防止不健康网站对学生的影响呢?以下本着零成本、高效益的原则,谈谈在免费的Linux下如何实现互联网的过滤功能。

      设置代理服务器

      校园网通过Linux上网,在网关上利用Squid架设代理服务器。

      首先要安装好Linux,我用的是易装好用的RedHat Linux 7.2。在安装RedHat Linux 7.2时,Squid已同时安装好,我们只需简单的配置一下就能使用。

      RedHat Linux 7.2安装后默认是未运行Apache,故应先启用Squid,确保Squid代理服务器能正常工作。修改/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的访问;阻塞某些用户对正则表达式匹配的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即可。
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-9-21 13:55 , Processed in 0.021043 second(s), 26 queries , Gzip On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部