阐述Suse代理SQUID

系统 Linux
现在很多的用户都在应用Suse,问题也随之出现,今天我那就谈谈Suse代理SQUID,SQUID的作用与优点在这就不说了.网上一搜一大堆.但我的经历可能却星星点点.Suse代理SQUID我还是比较了解的.

现在很多的用户都在应用Suse,问题也随之出现,今天我那就谈谈Suse代理SQUID,SQUID的作用与优点在这就不说了.网上一搜一大堆.但我的经历可能却星星点点.Suse代理SQUID我还是比较了解的.这篇文章就为大家简述一下Suse代理SQUID.先介绍一下公司的网络结构.

PC->SWITCH(傻瓜式)->路由器(H3C 18系列)->ISP.这个网络结构应该是现在大多数中小企业所采用的拓朴结构.公司前段时间要求封部分员工的QQ,这个已经基本实现.因为路由器与部分防火墙没有封域名的功能.公司领导要求封一些域名.如果在路由策略里面添加ACL,来拒绝访问域名的话,一是工作量太大,一个网站的IP可能要N多个,封的范围广了,把不该封的也封了,范围小了又有漏网之鱼.于是,在不改变局域网PC网络配置的前提下,添加一个代理服务器.于是选择了LINUX下的SQUID.安装就不用说了.直接YAST,然后调整一下启动级别,一般选择3,5就好了.

安装后,SQUID的配置文件默认在/etc/squid/squid.conf,打开一看.晕.4000多行,但其实真正需要配置的一共也不会超过20行.基本要求配置的如下:

1.http_port  3128  transparent  这个是配置代理服务器的监听端口,默认3128就好了.后面的transparent,代表以透明模式运行.如果你安装的2.6以下版本.那如果想配置成代理模式,就是多写几行.这里就不说了.既然装了,就装个高版本的,你也可以在端口号前面加个IP,比如http_port 172.20.0.1:3128 transparent

2.cache_mem 256 MB
这个是缓存内存的大小.当然,你可以将此屏蔽到.不过代理服务器的一个优势就是提高了局域网访问网页的速度.就是利用的缓存.所以建议打开些选项.

3.cache_dir ufs /var/cache/squid 1000 16 256
这个是缓存的路径与目录的大小,以及下面的目录个数.这东西比较深奥,我就是这么简单理解的.设置的大小我是根据硬盘空间的实际容量设置的.
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
emulate_httpd_log on
上面前两句是SQUID相关的日志,建议开启,这样有问题的时候可以方便查看.第三句说的是

access.log文件格式,它有2种格式:普通格式和原始格式。普通格式就如同大部分HTTP服务器(如Apache)的日志格式一样。它包含的信息少于Squid的原始格式。然而,假如运行Squid在代理人模式下,你可能想要普通日志文件格式。普通格式或许也对你现有的日志文件分析工具有用。

4. 下面这个是我要实现的功能的具体体现.
acl all src 0.0.0.0/0                        ####允许所有地址
acl allow_lan src 0.0.0.0/0
acl leixing urlpath_regex -i \.rmvb$ \.ram$ \.rm$ \.torrent$ \.wav$ \.avi$ \.wma$    ###定义一个leixing名字的ACL,设置一些文件的扩展名
http_access deny leixing       ###拒绝leixing ACL下载上面包含的扩展名的文件.呵呵.
acl denyurl url_regex  "/etc/squid/denyurl.txt"    ###我定义了一个denyurl.txt文件,里面含有拒绝的域名.这个文本文件的模式是.XXX.com,比如开心网.www.kaixin001.com  在里面就是.kaixin001.com,一个域名占一行.
acl denyip dstdom_regex "/etc/squid/denyip.txt"    ###定义名子为denyip的ACL.
http_access deny denyurl    ###对于上面定义的ACL,采取拒绝策略.
http_access deny denyip
http_access allow allow_lan

到现在为止,基本就可以正常运行了.向大家展示一下效果

代理现在是基本上设置好了.但还有一个关键的问题就是怎么放到现在运行正常的网络上.因为我的前提是不改变局域网用户的IP前提下.

于我就将此代理放到路由器与ISP之间.这就得改变一上路由器的出口IP,将路由器与代理服务器相连的网卡设置一个私有地址.在路由器上添加默认路由到代理服务器的内网卡把,在代理服务器上添加一条默认路由到ISP的网关.还有一个关键性的步骤,在代理服务器上毕竟设置一条回来的路由,不然的话,是不能上网的.本人为此郁闷好长时间.比如我局域网经过路由器的IP是60.60.60.1/192  你必须在代理服务器上设置一条目标地址是60.60.60.1/192,的默认网关是路由器的外网网卡,也就是与代理服务器相连的网卡的地址.

然后就是做一个iptables

添加一条策略就可以了.iptables -t nat -A PREROUTING -i  eht1 -p tcp tcp --dport 80 -j REDIRECT --to-port 3128

上面的eth1指的是代理服务器与路由器相连的网卡,也就是内网网卡.

我们可以通过/etc/init.d/squid   start/stop/reload  来启动,停止,重新加载配置文件.通篇文章多看完了,你是否学会了:Suse代理SQUID。

【编辑推荐】

  1. Open Suse Linux平台迁移好与坏
  2. 解决Suse中文编码问题知识
  3. Suse下无线网卡DWL与G122驱动模块
  4. 不要犹豫:Suse Linux Enterprise Server 10
  5. 四种情景详解:Suse9故障修复
责任编辑:小霞 来源: 驱动中国
相关推荐

2009-12-01 18:41:08

SUSE Linux

2009-12-02 18:15:49

Open SUSE

2009-12-02 18:38:23

Suse防火墙永久关闭

2011-03-15 15:47:25

Squidiptables

2009-12-01 11:01:39

交叉编译环境构建

2009-12-03 16:04:05

Suse Linux

2009-11-30 13:50:13

配置透明代理

2009-12-16 16:41:44

Linux代理服务器

2019-06-18 08:27:37

Squid代理服务器IP代理池

2012-09-18 09:55:28

2009-12-03 18:07:48

Squid代理服务器

2010-07-20 16:36:33

2011-02-21 09:24:05

2020-08-02 15:00:40

SquidSSH系统运维

2011-03-16 11:20:26

2010-11-15 14:46:04

linuxsquidsquidGuard

2014-07-24 10:17:25

CentOSSquid

2015-07-17 10:45:42

Squid服务器访问控制系统

2012-04-02 14:25:12

squid缓存

2011-04-20 16:59:31

点赞
收藏

51CTO技术栈公众号