Squid简介:分步设置

鱿鱼徽标和晚礼服

Squid是另一个应用程序级别的过滤器 可以补充iptables。 Squid是一个缓存的Web代理服务器,它非常流行且免费,并且是跨平台的。 尽管可以将其用于改善Internet连接的性能,但也可以将其用于安全目的。 自从90年代该项目开始以来,Squid一直非常先进,现在我们向您展示它,以便您知道如何使用它。

为您的安装,您可以访问 项目官方网站 并选择适用于您的操作系统或发行版的二进制软件包。 如果要通过编译从源代码包中安装它,也请 你有那个选择。 可用的tarball是tar.gz,tar.bz2和tar.xz。 如果您不知道如何安装,则可以转到我们在此博客中编辑的有关以下内容的文章: 如何从Linux安装任何软件包。 眼睛! 如果您有Debian或衍生产品,并且看到它已与sudo“ apt-get install squid”一起安装,则可能会出现错误,因为必须将“ squid”替换为“ squid3”才能生效...

现在我们直接进行动作说明 一些使用鱿鱼的例子 保护我们的设备。 在我想解释一下Squid基于ACL的基础上,即基于访问控制列表或访问控制列表的列表,即详细列出了在这种情况下控制网络流的权限并实现类似于iptables的过滤器的列表,但是在应用程序级别。

通常,安装后,会包含一个配置文件,该文件位于 /etc/squid3/squid.conf 就是这个,我们必须使用诸如nano或gedit之类的编辑器进行编辑。 在其中我们可以生成我们的过滤规则,尽管有选项cache_dir,cache_mem和http_port,但我们会将后者用于我们的安全规则。 另一个细节是,该文件指定了Squid服务使用的默认端口,默认端口是3128(请参见行或指令“ http_port 3128”并删除#来激活它)。 如果需要,可以将其更改为另一个端口,例如8080...。还有另一件事是配置主机名,查找注释“ TAG:Visible_hostname”,您将看到一行“ visible_hostname”,必须在其中放置主机名。

要知道您的主机名,您可以在终端中输入:

hostname

出现的名称会将其添加到不应以#开头的行中,这样它就不会被忽略为注释。 也就是说,它看起来像这样:

visible_hostname主机名_have_you_出现

如果您看到配置文件,将会看到它的注释, 如果要覆盖已创建的规则,则可以以#开头 然后将其转换为注释,Squid将其忽略,然后将其重新投入使用,请删除#,仅此而已。 实际上,通过删除#可以使用许多创建和注释的规则。 因此,您不必删除和重写规则。 好吧,要添加特定的规则或过滤器,它必须具有ACL和指示操作的指令。

顺便说一句,当您删除#以激活规则时, 确保您在行首不要留空格。 例如:

错误的方法:

http_端口 3128

正确方法:

http_端口 3128

你没听到什么吗好吧,别担心 一个例子 您会看到更好的一切。 想象一下:

ACL阻止url_regex作为Facebook
http_access拒绝阻止

这条规则是什么意思 是名称为“ blocking”的acl将禁止访问包含“ facebook”的URL(因此,如果我们尝试输入Facebook,它将跳过浏览器中的错误)。 如果您使用“允许”而不是“拒绝”,那么您将允许访问而不是禁止它。 您也可以使用! 例如,要排除在外,假设您要允许访问list1而不是list2:

http_access allow lista1 !lista2

另一个示例可能是创建允许的文件/ etc / squid3 / ips 并在其中保存我们要允许访问的IP列表。 例如,假设允许的ips的内容为:

192.168.30.1

190.169.3.250

192.168.1.26

然后我们创建ACL 允许访问这些IP:

acl nuevaregla src "/etc/squid3/ipspermitidas"

一个非常实际的例子想象一下,您的计算机供18岁以下的儿童使用,并且您想限制对某些成人内容网站的访问。 第一件事是创建一个名为/ etc / squid3 / list的文件,其内容为:

成年人

色情

性别

波林加

现在在  squid.conf文件 我们遵循以下规则:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

正如你看到的 我们已经使用允许 原则上是允许的,但是如果您看,我们已经添加了! 因此,否认将等同于:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

您还可以创建列表,不仅可以完成域名或IP的列表, 你也可以把域名 并例如限制对.xxx,.gov等域的访问。 让我们来看一个基于先前规则的示例。 我们创建一个文件/ etc / squid3 / domains,该文件具有:

埃杜。

。是

。ORG

现在我们的规则,以拒绝访问我们创建的禁止站点列表,但允许访问具有这些域的URL:

acl denegados url_regex "/etc/squid3/lista" 
acl permitidos dstdomain "/etc/squid3/dominios"

http_access allow !denegados dominios

扩大:

抱歉,当我看到这些评论时,我意识到 我缺少主要的东西。 我仅举一些例子来说明如何使用它,而我忘了说要启动Squid服务器:

sudo service squid3 start

在“ /etc/init.d/squid start”启动之前,但是现在您必须使用我为您准备的另一行。 就像配置文件不再位于/etc/squid/squid.conf中,而是位于/etc/squid3/squid.conf中一样。 好的,一旦创建了过滤策略并启动它,我们还必须配置浏览器,例如,如果您使用Mozilla Firefox或衍生版本,则可以转到配置菜单(您知道三个栏),然后转到“首选项”,“高级”,然后在“网络”选项卡中,单击“连接”部分中的“配置”。 在那里,我们选择“手动代理配置”,然后放置我们的IP和Squid正在使用的端口(在本例中为3128)。还要选择“对所有内容使用同一代理”,然后退出并保存更改。

不要忘了发表您的评论,疑惑或任何想要的东西。尽管它是Squid之上的教程,但我希望它能对您有所帮助。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   萨科

    谢谢!,乐于助人。

  2.   吉米·奥拉诺(Jimmy Olano)

    同样,对于有些复杂的主题,我非常精简,我一直说“用户级别:中级”,您应该了解有关“网络”的一些概念。

    我虚心地认为应该添加将浏览器配置为使用“代理”的选项,但是由于该条目是“ Squid的简介”,我们将非常了解下一个吗? 交付(最后,冒着使我烦恼的危险,请记住不要“代理”您在家庭或公司中使用的银行网页和/或金融机构)。

    1.    艾萨克·PE

      嗨,谢谢你的评论。 是的,IPTABLES和Squid太厚了,无法撰写一篇深入解释它们的文章,因此您必须限制自己编写日常示例...

      但是您是完全正确的,我现在添加了它以配置代理,我已经计划好了并且忘记了。 我的错。

      问候和谢谢!

      1.    吉米·奥拉诺(Jimmy Olano)

        乌夫夫(Uffff)“树干”很抱歉,没有意识到主要问题:
        开始服务:-(没有那个“没有你的姨妈”-原谅我的口头讲话-非常成功的扩展!8-)

        {通过修改“ / sbin / init”使其在每次启动时都固定:
        http:// www。 ubuntu-es.org/node/ 13012#.Vsr_SUJVIWw}

        {另一种更简单的方法是使用“ update-rc.d”:
        https:// parbaedlo。 wordpress.com/201 3/03/07 /设置服务的开始和停止服务-linux-update-rc-d /}

        我在链接中添加了空格,将其删除,然后您将导航;-)

        MUCHAS GRACIAS POR SUATENCIÓN。

  3.   伟业

    LINUX新闻:对Linux Mint的攻击:感染安装程序并破坏用户凭据

    http://www.muylinux.com/2016/02/21/ataque-a-linux-mint

    1.    阿兹佩

      我已经张贴了它,但是请不要在这里向其他页面发送垃圾邮件

  4.   伟业
  5.   埃尔南

    吉米,您好,您如何做才能使鱿鱼不会为您搜索这些页面? 如果您对透明选项进行评论,那将是很好的选择,这避免了为每台计算机配置代理的乏味

    1.    吉米·奥拉诺(Jimmy Olano)

      好问题,我已经在客户网页上的免费软件中安装了验证码:
      (http:// // www.ks7000.net.ve/2015/04/03/un-captcha-easy-and-simple-to-implement/
      -谦虚,它不是“垃圾邮件”或自我宣传,的确如此-)
      而且我想当使用Squid时,不会重新加载这些图像,因为我在它们上加上了相同的名称-ea,我也可以生成随机名称,直到现在我还没有想到这一点-通过使用相同的名称,Squid返回了什么它在“缓存”中。

      显然,“代理”的主要功能是使用图像节省带宽-Web页面中最重的页面-[i]假设这些图像是静态的,它们不会随时间变化,这在99%的情况下是正确的[/ 一世]。

      但是在验证码中,由于“没有运行”,我们必须消除其先前的存储,并始终返回新的映像。

      至于银行,我知道西班牙最大的银行是“ Caixa”,因为我们将创建一个Example规则:

      acl caixa 目标域.lacaixa.es

      其中:
      acl->用于创建规则的命令(请阅读艾萨克先生的文章,以上段落)。

      caixa->规则名称。

      dtsdomain->“ type”选项表示我们所引用的域,重要的是开头的点( http://ww w.visolve。 com / squid / squid24s1 / access_controls.php)

      域->我想我们可以添加所需的域,并用空格分隔; 说到空间,我已将其插入指示的Web链接中,将其删除,您将进行导航(英文页面)

      希望这里介绍的知识对您有用,感谢 LinuxAdictos!

    2.    吉米·奥拉诺(Jimmy Olano)

      好吧,为了回答Squid AGAIN中的透明度问题,我坚持认为您必须具有中级知识,并且出于教学上的原因,我将尽可能总结以下我认为对这一主题很好的文章(英文):

      http:// ww w.deckle.co。 英国/ squid-users-guide /transparent-caching-proxy.html

      注释:
      -我在链接中添加了空格,以避免我回复(我与团队完全没有任何关系)。 Linux Adictos,因此我无权执行上述操作)。
      -关于透明度,我不知道! (我说,他们没有教我)。
      -帮助你们,我也帮助自己,这很酷! ?

      好了,这么说吧,让我们开始做生意:

      我只是建议艾萨克先生扩大配置装有代理的浏览器的工作,他很客气(哇,这个人在哪里找到时间做很多事情?)。

      在此方案下,Squid的使用是可选的:我们局域网的每个用户都将负责他们的工作,但是您可以打赌,“坚决反对纸比塞塔”是可以安装一些“ bash脚本”的。通过SSH连接到运行GNU / Linux的各种计算机。

      先决条件:我们的Squid服务器正在按照Isaac先生在本文中的指导工作,如果我们已经对其进行了测试并对其进行了“工作量”并且其性能良好,那么我们可以继续进行下去。

      根据透明方案:

      首先-我们的Squid必须是我们的“ eth0”或“ wlan0”中的默认路由“网关”-您还记得中级知识吗?配置此类服务的服务器:
      http:// zh.wikipe dia.org/wiki/ Dynamic_Host_Configuration_Protocol)。

      如果发生故障,我们必须计划配置将所有流量直接重定向到调制解调器,如果Squid(运行该计算机的计算机)的工作负载超载了,并使用调制解调器键入“ bridge”,以便他们走到外面,这是通过制作一个在上述事件中触发并配置我们的DHCP服务器的“脚本”来实现的,该DHCP服务器应安装在与Squid不同的计算机上。

      注意:我们的配备Squid的计算机将始终依赖于来自DHCP BUT的IP地址,与此同时,它会对上述DHCP服务器进行“控制”。 如果您想使用电源的固定IP地址,则可以,但是当您添加更多计算机或更换某些计算机时,您将不得不重新配置,这不是个主意(请愉快地阅读:
      ht tps:// pheno巴比妥。 wordpress.com/2012/07/23/the-12-reasons-by-谁是系统管理员的懒惰是一个好的管理员/)
      另一个注意事项(请参阅第二点):我们的调制解调器和/或路由器设备必须停用DHCP功能,并且它们由我们的DCHP服务器控制(-我向您保证,其中还会出现另一个条目,向我们展示如何安装)说服务-)

      第二-我们必须过滤流向Squid服务器的流量,如果我们有几个分散的路由器覆盖无线网络区域“ wifi”,则它仍然是局域网,但规模中等。 从本质上讲,如果我们有不同的设备或什至子网,则它与第一个要点相同,我们也必须配置它们,因此请注意在大公司工作的那些人。

      第三-在托管Squid的GNU / Linux中,我们必须重定向端口并配置“防火墙”(请阅读上一篇IPTables
      http://www.linuxadictos.com/introduccion-a-iptables-configura-un-firewall-en-linux.html )

      iptables -t nat -A PREROUTING -p TCP –dport 80 -j REDIRECT –to-port 3128

      并发送给IPFW:

      / sbin / ipfw将3 fwd 127.0.0.1,3128 tcp从任意添加到任意80

      不用说,我们不能在该端口80上运行Apache或Ngix服务器-网页的默认端口-常见的含义是不使用Squid依赖于«cache»-的磁盘空间在计算机上增加更多负载。

      第四。-我们必须配置我们的Squid服务器,并通过使用您最喜欢的nano或编辑器修改“ /etc/squid/squid.conf”来告诉它以这种模式工作:

      http_port 3128透明

      我们还必须在“ /etc/sysctl.conf”中启用数据包转发:

      net.ipv4.ip_forward = 1
      net.ipv6.conf.all.forwarding = 1

      如果我们有IPv6,则这最后一行是很好的,以后再配置一次。

      最后,按照上述Isaac先生的建议重新启动Squid服务,然后重新启动网络服务:

      /etc/init.d/procps.sh重新启动

      以同样的方式对勘误的信仰(或我的一些废话)以同样的方式让我知道,欢迎您提出批评和意见;
      先生。 ISAAC是主持人,他将在这场“战斗”中拥有最后的发言权。

  6.   吉米·奥拉诺(Jimmy Olano)

    在这段简短的视频中,我们可以看到如何配置Mozilla以使用代理服务器,除了它使用带有ReactOS的虚拟机外,但是它很短,我认为它会ILLUSTRAtes您要在此处配置的内容(使用空格禁用链接,删除它们并浏览):

    ht tps:// www。 YouTube。 com / watch?v = st47K5t7s-Q

  7.   老师

    我刚刚开始关注您的广播电台,我已经两天了..而且内容非常好..
    来自墨西哥的问候..(我是一名老师,我的一粒沙要使用开放源代码)

  8.   白羊座

    我希望您能为我提供帮助,我想授予用户查看Facebook的特权,其他用户已经配置了限制,以及如何在特定时间启用互联网用户,我想向我提供建议,谢谢

  9.   贝尔基斯

    阿里,他们向我解释的是,您想要的机器没有限制,它必须被排除在外,但是在此之前,我对这个问题还没有经验。

  10.   胜利者

    晚安,对不起,也许我的问题有点基本,但是,嘿,我已经安装了乌贼并在centos 5.4上进行了配置,安装了wine和ultrasurf,我打算做的是与乌贼共享来自ultrasurf的互联网,我也这样做在具有FreeProxy和ultrasurf的Windows计算机XP上,我可以毫无问题地共享它,但是我不知道如何在Linux中进行操作

  11.   丹尼尔·安德拉达(Daniel Andrada)

    我咨询了您,我有一个像您一样的配置,在这种情况下,我将端口80重定向到运行鱿鱼的端口8080。 问题是某些用户将配置保留在他们的计算机上,他们取消并通过端口80进行访问,尽管不是所有服务。 这与iptables。 您是否知道问题出在哪里?

  12.  

    非常有用,而且解释清楚。 谢谢!

    我有一个问题,当我想创建一个ACL时,该在哪里做,即在配置文件的哪一行? 如您在帖子中所显示的,我是否应该立即在http_access命令下面放置两行? 还是在哪里?

    再次感谢!! 问候!