Squid是一个应用层的高性能代理服务器软件,主要提供缓存加速、应用层过滤控制的功能,支持HTTP、FTP、gopher、SSL和WAIS等多种协议,加快使用内部网络的访问速度的同时, 还提供丰富的访问控制、认证和日志环境, 实用方便、易掌握,是企业网络管理的常用手段。而在联华世纪服务的广大客户群体中,经常有客户前来咨询关于搭建Squid代理服务器的问题,其中的问题不再赘述,今天,联华世纪(LINKCHINA)直接为大家展示搭建Squid代理服务器详细步骤。
搭建前准备工作:
(1)安装squid
yum install -y squid
(2)安装httpd(用于后面生成密码文件)
yum install -y httpd 或者 yum install httpd-tools -y
安装完成后会在/etc/squid目录下发现有squid.conf配置文件,所有squid的设定都是在这个文件里配置。
vim /etc/squid/squid.conf 进入查看和修改squid的设定。
http_port 3128 监听的端口号,可以按需修改
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 定义访问日志路径
配置用户认证:(建议添加)
(1)创建一个用户。
htpasswd -c /etc/squid/passwd yyds 创建一个密码文件名为passwd,账号名为yydst的密码文件,回车之后提示输入密码。
(2)验证密码文件。
/usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
输入 用户名 密码
提示OK说明成功,ERR是有问题,请检查一下之前步骤。
文件配置:
进入/etc/squid/squid.conf配置文件。
acl OverConnLimit maxconn 16 定义每个IP最大允许16个连接,防止攻击
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd 选择的认证方式为basic,定义认证程序路径和密码文件路径。
auth_param basic credentialsttl 24 hours 认证有效时间
acl auth_user proxy_auth REQUIRED 定义认证的用户
http_access deny OverConnLimit 超出之前设定的连接数则拒绝
http_access allow auth_user 允许认证的用户访问
auth_param basic realm Squid proxy-caching web server
auth_param basic casesensitive off 用户名不区分大小写,可改为ON区分大小写
保存好配置文件后,重启Squid服务。
systemctl restart squid.service
Squid服务命令:
systemctl start squid.service 启动
systemctl stop squid.service 停止
systemctl restart squid.service 重启
systemctl enable squid.service 设置开机自启
检查服务器的防火墙的端口:firewall-cmd --list-all
由于要用到3128端口,所以要打开,我这里是已经打开了。
打开防火墙指定端口
firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=3128/tcp --permanent
重启防火墙
firewall-cmd --reload
测试:
测试环境:Windows电脑
工具:自带的代理
代理前:
代理后:
以上是搭建Squid代理服务器的详细教程,如果大家还有什么问题不明白或者想进一步咨询的,欢迎大家邮箱联系或者致电联华世纪。
编辑:技术部何经理
联系方式:senpaku@linkchina.com.cn