ubuntu使用squid搭建代理


  1. 安裝squid
//檢查是否安裝squid
which squid
//
apt update
sudo apt install squid
  1. 配置squid的配置文件squid.conf
//備份squid默認配置文件
cp /etc/squid/squid.conf squid.conf.bak
//修改squid.conf
vi squid.conf

因為我第一次安裝后,又把squid給卸載了,不知道改動了什么地方,再次安裝squid的時候,/etc下沒有自動生成squid.conf,所以又去根據squid的版本,又去squid官網找的默認配置,改為如下:

http_port 8128  #端口號
cache_mgr  xxx@gmail.com  #Squid 崩潰時郵件發送地址
# http_access deny all
cache_dir null /tmp
#配置用戶名密碼,避免被盜用,后面會生成passwords文件
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
  1. :wq保存,然后檢查配置文件語法是否正確
//檢查語法:
squid -k parse
//若不報錯,剛說明配置無誤

//第一次啟動前初始化緩存:
squid -z
//此命令創建了16個一級子目錄

我這里遇到兩個錯誤:
1.WARNING: Could not determine this machines public hostname. Please configure one or set ""visible_hostname"".
在squid.conf配置文件中添加:

visible_hostname squid.packet-pushers.net

2.Squid cache directory not been initialized
好像是squid的緩存目錄還沒有沒有初始化

//重啟squid,自動創建緩存目錄
sudo service squid restart
  1. 創建剛才配置文件中配置的密碼,使用htpasswd來創建passwords文件,htpasswd命令在軟件包apache2-utils中。
sudo apt install apache2-utils

//生成password文件 這里的路徑和squid.conf中配置的路徑一致
sudo htpasswd -c -d /etc/squid/passwords 自定義用戶名  

//然后輸入兩次至少8位的密碼,還要保證生成的passwords文件是可讀的
sudo chmod o+r /etc/squid/passwords

  1. 啟動服務
// 開機啟動
systemctl enable squid.service

sudo service squid start
//重啟服務
squid restart

//關閉服務
squid stop
  1. 查詢端口狀態
netstat -tnl

//查看3128端口是否開啟
netstat -tnl | grep 3128
  1. 查看squid訪問日志
tail -f /var/log/squid/access.log

注意:如果配置文件配置錯誤,修改后squid需要重新讀取配置文件,然后重啟squid

squid -k parse
squid -k reconfig

squid restart

參考博客
官方配置文件api
squid中文指南


免責聲明!

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



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