Centos7 squid安裝與配置


裝squid

yum install -y squid

安裝httpd(用於后面生成密碼文件)

yum install -y httpd  或者 yum install httpd-tools -y

配置文件 /etc/squid/squid.conf

vim /etc/squid/squid.conf

修改/添加以下信息

http_port 3128
#  監聽端口號,可以按需修改
#  http_port 0.0.0.0:3128   #這樣寫會同時監聽ipv6和ipv4的端口

#以下內容一般加在文末
cache_mem 128 MB     #內存中的緩存大小
maximum_object_size 16 MB    #最大被緩存文件大小,這個配合下面的cache_dir使用,只作用於緩存到磁盤的文件。
cache_dir ufs /var/spool/squid 100 16 256
#緩存文件夾,默認是只在內存中進行緩存的。這里指定緩存大小為100M,第一層子目錄為16個,第二層為256。    
access_log /var/log/squid/access.log     #定義訪問日志路徑
visible_hostname www.test.com     #隨意填寫一個域名
cache_mgr airoot@qq.com        #隨意寫一個郵箱

  1、如果不需要帶用戶認證,只需啟用這條即可(安全性很差)

http_access allow all   

  2、帶用戶認證配置(這里通過ncsa認證模塊來為我們的squid添加認證)

htpasswd -c /etc/squid/passwd airoot       #創建一個密碼文件名為passwd,賬號名為airoot的密碼文件
# 回車之后提示輸入密碼,在此這里我設置的密碼為 321654
# 注意密碼不要超過8位 

  2.1 驗證密碼文件

/usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
# 輸入 用戶名 密碼
airoot 321654
# 提示OK說明成功,ERR是有問題,請檢查一下之前步驟
OK
# 測試完成,crtl + c 打斷

  2.2 配置文件 

#注釋以下內容:
# http_access deny !Safe_ports
# http_access deny CONNECT !SSL_ports
# http_access deny to_localhost
# http_access allow localnet
# http_access deny all

#在代碼后添加驗證和安全相關命令
acl OverConnLimit maxconn 16       #定義每個IP最大允許16個連接,防止攻擊

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd      #選擇的認證方式為basic,定義認證程序路徑和密碼文件路徑。
auth_param basic children 5         #認證程序的進程數
auth_param basic realm airoot's Squid Server        #客戶端在使用代理時,輸入密碼時彈出來的提示框中的描述文字
auth_param basic credentialsttl 5 hours     #認證有效時間
acl auth_user proxy_auth REQUIRED     #定義認證的用戶
http_access deny OverConnLimit       #超出之前設定的連接數則拒絕
http_access allow auth_user     #允許認證的用戶訪問
http_access deny all     #拒絕所有其它訪問


#題外話
# acl auth_user proxy_auth REQUIRED 等於 acl authenticated proxy_auth REQUIRED
# http_access allow auth_user 等於 http_access allow authenticated

初始化Squid

squid -z

啟動命令與開機自啟

# 啟動
systemctl start squid.service
# 停止
systemctl stop squid.service
# 重啟
systemctl restart squid.service

#設置開機自啟
systemctl enable squid.service         

 OpenVPN客戶端代理連接

http-proxy x.x.x.x 8080 stdin basic   #因為之前定義了basic驗證

 上面的的身份認證示例將會導致OpenVPN提示從標准輸入界面輸入一對用戶名/密碼,如果你希望將這些用戶憑據放入一個文件中來代替上述輸入操作,請使用一個文件名來替換語句中的stdin,該文件的第1行應該放置用戶名,第2行放置密碼。 

 

附帶/etc/squid/squid.conf完整配置文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM