服务器环境:阿里云香港ECS CentOS release 6.8 (Final)

本地环境:MacOS 10.12.6 (16G1510)

配置过程参考:使用Squid搭建CentOS7代理服务器上网

Squid介绍

Squid是Linux自带的代理软件,与其它代理软件如Apache、Socks等相比,下载安装简单,配置灵活,支持缓存和多种协议。 

安装

yum install squid -y
yum install httpd-tools -y

生成密码文件

mkdir /etc/squid3/
#xiaodong 是用户名
htpasswd -cd /etc/squid3/passwords xiaodong
#提示输入密码,比如输入123456

测试密码文件

/usr/lib64/squid/ncsa_auth /etc/squid3/passwords
#输入用户名 密码
xiaodong  123456
#提示ok说明成功
ok
#ctrl+c退出

配置squid.conf文件

vi /etc/squid/squid.conf
#在最后添加
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

#这里是端口号,可以按需修改
#http_port 3128 这样写会同时监听ipv6和ipv4的端口,推荐适应下面的配置方法。
http_port 0.0.0.0:3128

日志

#squid的日志位于/var/log/squid/目录下。
cd /var/log/squid/

 排查问题,就靠日志文件了。参考:Squid日志TCP命中率字段详解

启动

#启动start(停止stop) 
systemctl start squid.service
#配置开机自启动
systemctl enable squid.service

可能会提示:-bash: systemctl: command not found

那么可以改用:

service squid start
service squid stop
#或者
/etc/init.d/squid start
/etc/init.d/squid status
/etc/init.d/squid probe
/etc/init.d/squid reload
#查看用法
/etc/init.d/squid
Usage: /etc/init.d/squid {start|stop|status|reload|force-reload|restart|condrestart|try-restart|probe}

说明


squid官方文档

Client端配置
Linux客户端

全局代理

vi /etc/profile
#在最后加入
export http_proxy="http://xiaodong:123456@proxy_ip:port"
export http_proxy="http://xiaodong:123456@proxy_ip:port"

yum代理

编辑/etc/yum.conf,在最后加入:

# Proxy
proxy=http://username:password@proxy_ip:port/

Windows客户端

windows客户端通过全局代理上网,建议采用Proxifier软件。Proxifier是一款功能非常强大的socks5客户端。配置方法如下:

配置代理服务器
打开代理工具,选择菜单栏的配置文件,选择代理服务器,在弹出的代理服务器对话框中选择添加按钮。 

Mac客户端

可以通过Chrome浏览器》设置》高级》打开代理设置

也可以通过系统偏好设置》选择网络》高级

开放端口

sudo /sbin/iptables -I INPUT 1 -p TCP --dport 8889:8889 -j ACCEPT

添加安全组规则

找到ECS实例,进入实例控制台,找到安全组配置

禁止缓存

有些网站是禁止缓存的,所以要禁止Squid的缓存功能才能通过Squid代理

修改Squid的配置文件,添加:

acl NCACHE method GET
no_cache deny NCACHE

小结

注意验证文件是:/usr/lib64/squid/ncsa_auth,不是/usr/lib64/squid/basic_ncsa_auth

访问国内网站可以,但是特别的慢,访问google还是不行。具体原因还不清楚。


本文转载:CSDN博客