服务器环境:阿里云香港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}
说明
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还是不行。具体原因还不清楚。