教你如何在5分鐘輕鬆部署squid正向代理

       正向代理是一個位於客戶端和原始服務器(origin server)之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並指定目標(原始服務器),而後代理向原始服務器轉交請求並將得到的內容返回給客戶端,客戶端才能使用正向代理。vim

       正向代理的典型用途是爲在防火牆內的局域網客戶端提供訪問Internet的途徑。正向代理還可使用緩衝特性(由mod_cache提供)減小網絡使用率。正向代理容許客戶端經過它訪問任意網站而且隱藏客戶端自身,所以你必須採起安全措施以確保僅爲通過受權的客戶端提供服務。和反向代理不一樣之處在於,典型的正向代理是一種最終用戶知道並主動使用的代理方式。       瀏覽器

       借用知乎兩張圖來解釋正向代理:https://www.zhihu.com/question/24723688
緩存


微信圖片_20191203091314.jpg


微信圖片_20191203091322.jpg


做用安全

  • 訪問原來沒法訪問的資源,如google服務器

  • 作緩存,加速訪問資源微信

  • 對客戶端訪問受權,上網進行認證網絡

  • 代理能夠記錄用戶訪問記錄(上網行爲管理),對外隱藏用戶信息app


普通代理dom

普通代理:代替局域網內的全部主機訪問公網的網站服務,局域網內的主機須要在本身的瀏覽器中指定代理服務器的ip地址和監聽的端口號
安裝軟件包squidtcp

[root@ECS58979490c134 ~]# yum -y install squid

編輯主配置文件/etc/squid/squid.conf

[root@ECS58979490c134 ~]# vim  /etc/squid/squid.conf

http_port 3128       //squid默認監聽的端口號

cache_mem  8MB      //默認緩存容量8MB    

cache_dir  ufs  /var/spool/squid  100  16  256   //設置緩存目錄的大小,緩存文件的格式,大小100M,一級子目錄16個,每一個一級子目錄下有256個二級子目錄

access_log /var/log/squid/access.log  squid  //訪問日誌文件,默認開啓

visible_hostname   proxy.eflycloud.com  //默認用環回口的主機名做爲代理服務器的主機名。手動指定主機名時必須與物理接口綁定

maximum_object_size  //容許緩存數據的最大值。不設置時,不限制

reply_body_max_size   //容許經過代理服務器訪問的最大目標對象

http_access allow all    //默認拒絕全部主機
[root@ECS58979490c134 ~]# cat /etc/hosts127.0.0.1        localhost.localdomain localhost::1             localhost6.localdomain6 localhost6192.168.1.254   proxy.eflycloud.com proxy  //物理接口綁定主機名

啓動服務


[root@ECS58979490c134 ~]# service squid start
init_cache_dir /var/spool/squid... Starting squid: .[  OK  ]
[root@ECS58979490c134 ~]# netstat -anptu | grep :3128
Tcp  0  0 0.0.0.0:3128        0.0.0.0:*        LISTEN      10439/(squid)


客戶端瀏覽器中設置代理服務器

微信圖片_20191203102237.jpg


透明代理

透明代理:客戶端不須要在本機的瀏覽器裏指定代理服務器的IP地址和監聽的端口號,給客戶端的感受是直接與公網通信的。不過客戶端須要指定或者添加透明代理服務器爲網關。

配置透明代理服務器

[root@ECS58979490c134 ~]# vim /etc/squid/squid.conf
http_port  3128  transparent   //透明傳輸
[root@ECS58979490c134 ~]#service squid restart


寫防火牆規則,把訪問目標端口是80的請求轉到3128端口。若是不指定端口則是所有請求都會轉到3128端口


[root@ECS58979490c134 ~]# service iptables start     //開啓防火牆服務
[root@ECS58979490c134 ~]#setup[root@ECS58979490c134 ~]# iptables  -t  filter  -F   //清空表filter防火牆規則
[root@ECS58979490c134 ~]# iptables  -t  nat   -F   //清空表nat防火牆規則
[root@ECS58979490c134 ~]# iptables -t nat  -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128  //PREROUTING 在路由以前,-i 數據包從哪一個口進來,-s 源IP地址, –p 協議, –dport 目標端口, --to-ports 轉到哪一個端口
[root@ECS58979490c134 ~]# service iptables save    //永久生效


客戶端將網關指向代理服務器的內網接口的ip地址


[root@ECS58979490c164 ~]# route add default gw 192.168.1.254

睿江雲官網連接:https://www.eflycloud.com/home?from=RJ0035

相關文章
相關標籤/搜索