1、介绍
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
2、安装
ubuntu:sudo apt install squid,版本4.1
centos:sudo yum install squid,版本4.9
3、配置
1、安装squid后,服务自动启动,查询squid服务
systemctl status squid
2、配置文件位置
主配置文件/etc/squid/squid.conf,
自定义配置文件, /etc/squid/conf.d/debian.conf
3、配置文件squid.conf说明(修改配置文件,重启服务)
设置端口和引用自定义配置文件
include /etc/squid/conf.d/*
http_port 3128
开启用户认证
#定义squid密码文件与ncsa_auth文件位置
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
#认证进程的数量
auth_param basic children 15
#认证对话框显示提示信息
auth_param basic realm Squid proxy-caching web server
#认证有效期
auth_param basic credentialsttl 2 hours
#是否区分用户名大小,off为不区分
auth_param basic casesensitive off
#对定义的ncsa_users文件内的用户开启认证访问
acl ncsa_users proxy_auth REQUIRED
#允许ncsa_users文件内用户进行代理
http_access allow ncsa_users
#顺序匹配,最后添加拒绝所有未允许的规则。不添加会发现,未匹配到的规则会被放行
http_access deny all
注:其中/usr/lib/squid/basic_ncsa_auth文件位置查询方式
root@pioneer:~# dpkg -L squid|grep ncsa
/usr/lib/squid/basic_ncsa_auth
/usr/share/man/man8/basic_ncsa_auth.8.gz
用户密码文件/etc/squid/passwd创建方式
htpasswd 参数
-c 创建密码文件,文件存在则覆盖。添加多个用户时不要添加参数-c
-n 不更新密码文件,只将加密后的用户名密码显示在屏幕上;
-m 默认采用MD5算法对密码进行加密
-d 采用CRYPT算法对密码进行加密
-s 采用SHA算法对密码进行加密
-p 不对密码进行进行加密,使用普通文本格式的密码
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户
htpasswd命令使用,ubuntu需要安装sudo apt install apache2-utils,centos需要安装sudo yum install httpd-tools
#创建用户gpysir
root@pioneer:~# htpasswd /etc/squid/passwd gpysir
New password:
Re-type new password:
Adding password for user gpysir
4、演示
4.1、浏览器配置代理
以360浏览器为例
4.2、系统配置默认代理
临时生效,各类协议代理
export http_proxy=http://127.0.0.1:3128
export FTP_PROXY=http://127.0.0.1:3128
export ftp_proxy=http://127.0.0.1:3128
export all_proxy=socks://127.0.0.1:3128
export ALL_PROXY=socks://127.0.0.1:3128
export HTTPS_PROXY=http://127.0.0.1:3128
export https_proxy=http://127.0.0.1:3128
export HTTP_PROXY=http://127.0.0.1:3128
export no_proxy=localhost,127.0.0.1
取消临时代理,将=号后面内容置空,如
取消http代理:export http_proxy=
永久生效,编辑当前用户配置文件
vim ~/.bash_bashrc或者vim ~/profile
配置立即生效 输入命令
source ~/.bash_bashrc
后记内容
1、用authentication helpers添加身份验证
有如下几种认证方式 :
=> NCSA: Uses an NCSA-style username and password file.
=> LDAP: Uses the Lightweight Directory Access Protocol
=> MSNT: Uses a Windows NT authentication domain.
=> PAM: Uses the Linux Pluggable Authentication Modules scheme.
=> SMB: Uses a SMB server like Windows NT or Samba.
=> getpwam: Uses the old-fashioned Unix password file.
=> SASL: Uses SALS libraries.
=> NTLM, Negotiate and Digest authentication