本文简单记录下代理软件Squid的安装和配置过程,方便以后查阅。
关键词: LINUX Squid 安装 账号 密码
1. 安装:
- yum install -y squid [Centos6,其他Linux平台用相应的安装方法]
2. 修改端口:
- vi /etc/squid/squid.conf
- 默认端口http_port是3128,可以修改为其他端口。
3. 配置允许认证用户登录
默认情况下,Squid在局域网中不需要认证直接可以访问;没有配置认证用户的情况下,外网是不能访问的(Squid返回403错误)。认证用户的配置如下(在squid.conf中添加下列内容):
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd #设置认证程序位置和密码路径
auth_param basic children 5 #设置认证程序的进程数
auth_param basic credentialsttl 2 hours #设置认证的有效时间
acl auth_user proxy_auth REQUIRED #设置认证用户需要密码
http_access allow auth_user #设置允许认证的用户进行访问
**注:**
1)上面这段必须放在http_access deny all的前面。
2) /usr/lib64/squid/ncsa_auth,也可以是/usr/lib64/squid/basic_ncsa_auth,跟系统的版本有关,如果找不到,可以:
find / -name "*ncsa*"。
4. 添加认证用户和密码:
- 执行命令 htpasswd -c /etc/squid/passwd yourusername,其中/etc/squid/passwd是第3步中配置的密码文件路径,yourusername是认证用户的账号。
- 根据提示:输入两次密码。
5. 开放端口:在外网访问需要到iptables中开放代理的端口
- 一般在/etc/sysconfig/iptables中添加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT #放到commit的前面
- 重启iptables : service iptables restart
注意:如果没有是centos7, 开端口请用firewalld。
特别关注:如果用阿里云之类的服务器,一般的端口不可用,可以考虑用8080作端口。否则,在本地或内网可以访问,到外网就不可以访问了。
6. 启动Squid
- /etc/init.d/squid start
注:相关的启动命令还有systemctl start squid或者service suqid start
7. 访问测试:
wget -e "http_proxy=http://yourusername:xxxxxxxxx@www.fuqingchuan:3128/" http://www.baidu.com/