歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux中怎麼設置透明代理

  用戶的浏覽器不需要任何代理設置就能使用我的Squid cache代理服務器上網?此時你就需要使用透明代理,那麼Linux中怎麼設置透明代理呢?今天學習啦小編與大家分享下Linux中設置透明代理的具體操作步驟,有需要的朋友不妨了解下。

  Linux中設置透明代理方法

  透明模式的特點就是對用戶是透明的(Transparent),即用戶意識不到防火牆的存在。要想實現透明模式,防火牆必須在沒有IP地址的情況下工作,不需要對其設置IP地址,用戶也不知道防火牆的IP地址。

  透明模式的防火牆就好象是一台網橋(非透明的防火牆好象一台路由器),網絡設備(包括主機、路由器、工作站等)和所有計算機的設置(包括IP地址和網關)無須改變,同時解析所有通過它的數據包,既增加了網絡的安全性,又降低了用戶管理的復雜程度。

Squid傳統代理、透明代理應用

  防火牆使用透明代理技術,這些代理服務對用戶也是透明的,用戶意識不到防火牆的存在,便可完成內外網絡的通訊。當內部用戶需要使用透明代理訪問外部資源時,用戶不需要進行設置,代理服務器會建立透明的通道,讓用戶直接與外界通信,這樣極大地方便了用戶的使用。

  一般使用代理服務器時,每個用戶需要在客戶端程序中指明要使用代理,自行設置Proxy參數(如在浏覽器中有專門的設置來指明HTTP或FTP等的代理)。而透明代理服務,用戶不需要任何設置就可以使用代理服務器,簡化了網絡的設置過程。

  透明代理與透明模式都可以簡化防火牆的設置,提高系統安全性。但兩者之間也有本質的區別:工作於透明模式的防火牆使用了透明代理的技術,但透明代理並不是透明模式的全部,防火牆在非透明模式中也可以使用透明代理。

  那麼下邊我們就通過示例讓大家明白透明代理、傳統代理及ACL控制的效果:

Squid傳統代理、透明代理應用

  實驗環境(略加修改,因為當測試網站在同一網段就沒有必要驗證了):

  地址規劃:

  Squid 代理:

  eth0:192.168.10.1

  eth1:173.16.16.173

  測試網站:173.16.16.2

  客戶機:192.168.10.10

  實驗描述:

  在squid主機上,構建squid為客戶機訪問各種網站提供代理服務;

  在客戶機上,指定squid作為web訪問代理,以隱藏自己的真實IP地址。

  實驗步驟:

  1:squid服務器的配置:

  因代理服務的主配置文件大多是注釋行,需簡化配置文件:

  過濾前先進行備份—數據至上:

  [root@squid ~]# mv /etc/squid/squid.conf /etc/squid/squid.conf.bak

Squid傳統代理、透明代理應用

  執行過濾操作:

  [root@squid ~]# grep -v "^#" /etc/squid/squid.conf.bak | grep -v "^$" > /etc/squid/squid.conf

  在主配置文件/etc/squid/squid.conf中,添加配置項

  http_port 3128 ###指定代理服務監聽的端口,默認為3128

  cache_mem 64 MB ###指定緩存所使用的內存空間的大小

  maximum_object_size 4096 KB ###保存到緩存空間的最大對象(文件)大小

  reply_body_max_size 10240000 allow all ###允許用戶下載的最大文件大小,其中all為默認的訪問控制列表名

  cache_dir ufs /var/spool/squid 100 16 256 ###指定緩存數據所存放的目錄,容量,子目錄個數;其中100為容量100M;16為一級子目錄;256為二級子目錄

  access_log/var/log/squid/access.log squid ###指定代理服務的日志文件位置及記錄格式(squid)

  visible_hostname localhost ###指定代理服務器本機的主機名

  dns_testname www.sohu.com ###執行DNS解析,確保squid服務器自身的DNS查詢功能正常,只要成功解析出一個域名,則不再測試後邊的其他域名

  http_access allow all ###放在http_access deny all之前

  2:在Squid服務器上配置防火牆策略,允許3128端口訪問外網的WEB服務器

  iptables -I(大寫i) INPUT -p tcp --dport 3128 -j ACCEPT

  3:初始化並啟動服務(2種方法)

  a:squid -z ###初始化緩存目錄

  squid -D ###啟動squid 服務

  b:service squid start ###初始化並啟動服務

  修改squid.conf配置文件後,需要重新加載方可生效。

  執行“ service squid reload ”或者“ squid -k reconfigure”重新加載。

Copyright © Linux教程網 All Rights Reserved