關於squid這個強大的代理軟件,已不須多言,本身也測試了一把,不過,在centos7.3安裝測試的過程,出現了問題, 在作透明代理的時候,用iptables是能夠成功的,而用firewall默認防火牆怎麼也不成功,但真正知道了firwall的原理後,其實firewall已經幫咱們作好了!請看linux
安裝centos
#yum install squid -y
禁用selinux
bash
#vi /etc/sysconfig/selinux SELINUX=disabled #setenforce 0 臨時關閉
打開路由轉發服務器
#vi /etc/sysctl.conf net.ipv4.ip_forward=1
配置squidide
#vi /etc/squid/squid.conf
主要修改下面幾個,其餘的功能,網上應該有一大批講解的測試
cache_dir ufs /var/log/squid 10240 16 256 ... http_access allow all //測試,容許全部訪問 http_access deny all http_port 3128 transparent //關鍵,必定要加上,作爲透明代理 ... 其餘你們看着修改
#squid -k parse 檢查配置文件 #squid -z 初始化 #systemctl start squid 啓動 #lsof -i :3128 查看端口是否啓用
關鍵,firewall防火牆配置ui
#firewall-cmd --zone=external --add-interface=eth0 --permanent //外網網卡添加到外網zone #firewall-cmd --zone=internal --add-interface=eth1 --permanent //內網網卡添加到內網zone #firewall-cmd --zone=external --add-service=squid --permanent //關鍵,添加squid服務 #firewall-cmd --zone=internal --add-service=squid --permanent //應該只要內網區域添加服務便可
#firewall-cmd --zone=external --list-all //列出外網區域信息,默認應該開啓了 masquerade:yes若是是no的話 執行以下語句添加 #firewall-cmd --zone=external --add-masquerade --permanent #systemctl restart firewalld //重啓防火牆
客戶端centos7
添加內網的ip,網關,設爲squid服務器的內網IP,DNS設爲可用的DNS便可spa
打開網頁,看是否可以用了?代理
其中有個要注意的,若是squid服務器端,防火牆不添加--add-service=squid 服務的話,雖然客戶端也能夠正常訪問網頁,但已經不通過squid來轉發了,到時,全部squid的限制功能都會失效。