代理服务器不同于VPN,通常是在应用层完成的。基本原理是通过缓存来实现对应网站的访问并隐藏客户端IP,在商业范围应用广泛。
升级安装包
1 2 3 |
yum -y install epel-release yum -y update yum clean all |
安装Squid并启动服务、设置开机自启动
1 2 3 4 5 |
yum -y install squid systemctl start squid systemctl enable squid #查看帮助文件 squid -h |
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#配置文件/etc/squid/squid.conf #设置密码 yum -y install httpd-tools touch /etc/squid/passwd && chown squid /etc/squid/passwd #创建用户密码 htpasswd /etc/squid/passwd yourusername #在配置文件的acl代码块下添加 auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users #添加 http_access allow all #或注释掉 http_access deny all #其它 #查看访问日志 tail -f /var/log/squid/access.log #如仅指定IP可通过类似如下配置 acl localnet src 110.220.330.0/24 #设置禁止访问的站点 acl blocked_sites dstdomain "/etc/squid/blocked_sites" http_access deny blocked_sites #进行配置后请记得重启服务 systemctl restart squid |
配置完成后即可通过your.ip.address:3128:user:password来使用代理了
如果配置正常但无法访问,请通过systemctl stop firewalld来关闭防火墙或开放相应端口:
1 2 3 4 5 |
firewall-cmd --zone=public --add-port=3128/tcp --permanent firewall-cmd --reload #其它:查看和删除 firewall-cmd --zone= public --query-port=3128/tcp firewall-cmd --zone= public --remove-port=3128/tcp --permanent |
其它问题
-bash: netstat: command not found
CentOS 7中使用netstat可能需要执行如下安装
1 |
yum install net-tools |
如何测试?
首先您当然可以通过Chrome浏览器或系统自身的http web代理配置来直接进行测试,网络上也有很多工具可以进行测试,如http://testmyproxies.com/
参考链接:
How to Install and Configure Squid Proxy on CentOS 7
CentOS 7安装squid代理服务器