代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
服务器
>
Linux
>
轻松实现Linux下的互联网过滤功能
时间:2020-10-18 14:08:14 | 栏目:
Linux
| 点击:次
目前,很多学校都建起了校园网并连接上互联网,但互联网上的不良信息非常多,如何进行网站过滤,防止不健康网站对学生的影响呢?以下本着零成本、高效益的原则,谈谈在免费的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。
#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/squidgua-
rd -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完全能胜任,代理服务器可以长时间工作。且所有软件都是免费的,过滤名单更新快,只需到www.squidGuard.org下载最新版本的过滤名单数据库替换旧的即可,也可以手工增减过滤名单。
Squid还可以设定上网时间段;可以定期检查日志,及时发现学生上网中存在的不良倾向。 (出处:赛迪网--中国电脑教育报)
您可能感兴趣的文章:
详解如何在 CentOS 7 中安装或升级最新的内核
wamp2.2e 64位 curl 开启不了的解决办法
Linux低电量自动关机的实现方法
Linux 逻辑卷管理(LVM)使用方法总结
linux查看用过的命令方法总结
相关文章
12-09
Linux下实现UTF-8和GB2312互相转换的方法
10-25
linux系统用户管理与grep正则表达式示例教程
11-16
Centos系统中彻底删除Mysql数据库步骤
12-04
阿里云ECS实例设置用户root密码和远程连接的方法
11-01
Linux使用Cron+AT实现在某个确定的时间段内随机执行命令
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长