裝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完整配置文件