squid服務之配置透明代理

透明代理提供的服務功能與傳統代理時一致的,可是其「透明」的實現依賴於默認路由和防火牆的重定向策略,所以更適用於局域網主機服務,而不適合Internet中。vim

網絡環境以下:服務器

squid服務之配置透明代理

項目大概流程以下:網絡

  1. 在Linux網關上,構建squid爲客戶機訪問Internet提供代理服務。
  2. 在局域網全部的客戶機上,只需有正確的IP地址、默認網關和DNS,不須要手動指定代理服務器的地址、端口等信息(若指定了反而易出錯)。關於客戶機的DNS解析工做,最好仍是經過正常的DNS服務器來提供,不建議拋給代理服務器來處理。

開始配置透明代理服務器:tcp

squid服務的安裝及傳統代理的實施過程請參考博文:http://www.javashuo.com/article/p-qkkbbuph-gm.html ide

一、配置squid支持透明代理:網站

[root@localhost /]# vim /etc/squid.conf
                  ..................
http_port 192.168.1.1:3128 transparent        #只在其中一個IP地址上提供服務,並支持透明模式
cache_effective_user squid
cache_effective_group squid
                 ......................

[root@localhost ~]# systemctl restart squid
[root@localhost ~]# vim /etc/sysctl.conf
          ....................
net.ipv4.ip_forward = 1             #開啓路由轉發功能,實現本機中不一樣網段的地址轉發
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1

二、設置firewalld的重定向策略:
透明代理中的squid服務實際上時構建在Linux網關主機上的,所以只需設置正確的防火牆策略,就能夠將內網主機訪問Internet的數據包轉交給squid進行處理,這就須要用到了防火牆的IP假裝與端口轉發策略,其做用是實現本機端口的重定向,將訪問網站協議http、https的外發數據包轉交給本機的squid服務(3128端口)ui

[root@localhost ~]# systemctl start firewalld
[root@localhost ~]# firewall-cmd --zone=external --add-interface=ens33
The interface is under control of NetworkManager, setting zone to 'external'.
success
[root@localhost ~]# firewall-cmd --zone=internal --add-interface=ens37
The interface is under control of NetworkManager, setting zone to 'internal'.
success
[root@localhost ~]# firewall-cmd --zone=external --add-service=http
success
[root@localhost ~]# firewall-cmd --zone=external --add-service=https
success
[root@localhost ~]# firewall-cmd --zone=external --add-port=3128/tcp
success
[root@localhost ~]# firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 80 -j REDIRECT --to-ports 3128
success
[root@localhost ~]# firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 443 -j REDIRECT --to-ports 3128
success
[root@localhost ~]# firewall-cmd --runtime-to-permanent
success

三、客戶機驗證:
客戶機的網關需指向192.168.1.1的主機。
squid服務之配置透明代理spa

squid服務之配置透明代理

相關文章
相關標籤/搜索