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_port 3128

正確方法:

http_port 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,該文件具有:

埃杜。

.ES

。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) 他說:

    AGAIN非常精通於一個稍微複雜的主題,我一直說“用戶級別:中級”,您應該了解有關“網絡”的一些概念。

    我虛心地認為應該添加將瀏覽器配置為使用“代理”的選項,但是由於該條目是“ 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.   ALBERT 他說:

    LINUX新聞:對Linux Mint的攻擊:感染安裝程序並破壞用戶憑據

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

    1.    阿茲佩 他說:

      我已經發布了,但是請不要在這裡向其他頁面發送垃圾郵件

  4.   ALBERT 他說:
  5.   埃爾南 他說:

    您好吉米,您如何做,以便魷魚不會為您搜索這些頁面? 如果您對透明選項發表評論,那會很好,因為它避免了為每台計算機配置代理的乏味工作

    1.    吉米·奧拉諾(Jimmy Olano) 他說:

      好問題,我已經在客戶網頁上的免費軟件中安裝了驗證碼:
      (http:// // www.ks7000.net.ve/2015/04/03/un-captcha-easy-and-simple-to-implement/
      -謙虛,它不是“垃圾郵件”或自我宣傳,的確如此-)
      而且我想當使用Squid時,不會重新加載這些圖像,因為我在它們上加上了相同的名稱-ea,我還可以生成隨機名稱,直到現在我還沒有想到這一點-通過使用相同的名稱,Squid返回了什麼它在“緩存”中。

      顯然,“代理”的主要功能是節省圖像的帶寬-網頁中最重的網頁-[i](假設這些圖像是靜態的,它們不會隨時間變化),這在99%的情況下是正確的。案例[/ i]。

      但是在CAPTCHA中,由於“沒有運行”,我們必須消除其先前的存儲,並始終返回新的映像。

      至於銀行,我知道西班牙最大的銀行是“ 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 barbital。 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的虛擬機外,但是它很短,我認為這說明了您要在此處配置的內容(使用空格禁用鏈接,刪除它們並瀏覽):

    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命令下面放置兩行? 還是在哪裡?

    再次感謝!! 問候!