怎么理解Suse代理SQUID

61次阅读
没有评论

共计 2399 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章将为大家详细讲解有关怎么理解 Suse 代理 SQUID,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

现在很多的用户都在应用 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

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

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

关于怎么理解 Suse 代理 SQUID 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计2399字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)