CentOS 7 安装Squid配置HTTP代理

发布时间:2024-02-07
网络代理已经存在了很长一段时间,并已被全球数百万用户使用。它们具有广泛的用途,最受欢迎的是在线匿名,但还有其他方法可以利用网络代理。以下是一些想法:
在线匿名提高在线安全性改善加载时间阻止恶意流量记录您的在线活动规避区域限制在某些情况下可以减少带宽使用proxy server如何工作
代理服务器是用作客户端和客户端可以从中请求资源的其他服务器之间的中介的计算机。一个简单的例子是当客户端发出在线请求(例如想要打开网页)时,他首先连接到代理服务器。
然后代理服务器检查其本地磁盘缓存,如果可以在那里找到数据,它将把数据返回给客户端,如果没有缓存,它将使用代理ip地址代表客户端发出请求(不同于客户端)然后将数据返回给客户端。代理服务器将尝试缓存新数据,并将其用于将来对同一服务器发出的请求。
什么是squid代理
squid是一个web代理,用于我的各种组织。它通常用作缓存代理,可缩短响应时间并减少带宽使用。
出于本文的目的,我将在linode centos 7 vps上安装squid并将其用作http代理服务器。
如何在centos 7上安装squid
在我们开始之前,您应该知道squid没有任何最低要求,但ram使用量可能会有所不同,具体取决于通过代理服务器浏览internet的客户端。
squid包含在基本存储库中,因此安装简单明了。但是,在安装之前,请确保您的软件包是最新的。
# yum -y update继续安装squid,使用以下命令在系统启动时启动并启用它。
# yum -y install squid# systemctl start squid# systemctl enable squid此时,您的squid web代理应该已经运行,您可以使用以下方式验证服务的状态。
# systemctl status squid样本输出● squid.service - squid caching proxy loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) active: active (running) since thu 2018-09-20 10:07:23 utc; 5min ago main pid: 2005 (squid) cgroup: /system.slice/squid.service ├─2005 /usr/sbin/squid -f /etc/squid/squid.conf ├─2007 (squid-1) -f /etc/squid/squid.conf └─2008 (logfile-daemon) /var/log/squid/access.logsep 20 10:07:23 howtoing systemd[1]: starting squid caching proxy...sep 20 10:07:23 howtoing squid[2005]: squid parent: will start 1 kidssep 20 10:07:23 howtoing squid[2005]: squid parent: (squid-1) process 2007 startedsep 20 10:07:23 howtoing systemd[1]: started squid caching proxy.以下是您应该注意的一些重要文件位置:
squid配置文件:/etc/squid/squid.confsquid访问日志:/var/log/squid/access.logsquid缓存日志:/var/log/squid/cache.log最小的squid.conf配置文件(没有注释)如下所示:
acl localnet src 10.0.0.0/8 # rfc1918 possible internal networkacl localnet src 172.16.0.0/12 # rfc1918 possible internal networkacl localnet src 192.168.0.0/16 # rfc1918 possible internal networkacl localnet src fc00::/7 # rfc 4193 local private network rangeacl localnet src fe80::/10 # rfc 4291 link-local (directly plugged) machinesacl ssl_ports port 443acl safe_ports port 80 # httpacl safe_ports port 21 # ftpacl safe_ports port 443 # httpsacl safe_ports port 70 # gopheracl safe_ports port 210 # waisacl safe_ports port 1025-65535 # unregistered portsacl safe_ports port 280 # http-mgmtacl safe_ports port 488 # gss-httpacl safe_ports port 591 # filemakeracl safe_ports port 777 # multiling httpacl connect method connecthttp_access deny !safe_portshttp_access deny connect !ssl_portshttp_access allow localhost managerhttp_access deny managerhttp_access allow localnethttp_access allow localhosthttp_access deny allhttp_port 3128coredump_dir /var/spool/squidrefresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern -i (/cgi-bin/|\\?) 0 0% 0refresh_pattern . 0 20% 4320将squid配置为http代理在这里,我们将向您展示如何仅使用客户端ip地址进行身份验证,将squid配置为http代理。
添加squid acl如果您希望允许ip地址通过新的代理服务器访问web,则需要在配置文件中添加新的acl(访问控制列表)行。
# vim /etc/squid/squid.conf你应该添加的行是:
acl localnet src xx.xx.xx.xx其中xx.xx.xx.xx是您要添加的实际客户端ip地址。该行应添加到定义acl的文件的开头。在acl旁边添加注释是一个很好的做法,它将描述谁使用此ip地址。
请务必注意,如果squid位于本地网络之外,则应添加客户端的公共ip地址。
您需要重新启动squid,以便新的更改生效。
# systemctl restart squid打开squid代理端口正如您在配置文件中看到的那样,只允许某些端口进行连接。您可以通过编辑配置文件来添加更多内容。
acl safe_ports port xxx其中xxx是您要加载的实际端口。同样,最好在旁边留下评论,以描述将要使用的端口。
要使更改生效,您需要再次重新启动squid。
# systemctl restart squidsquid代理客户端身份验证在使用代理之前,您很可能希望用户进行身份验证。为此,您可以启用基本的http身份验证。配置简单快捷。
首先,您需要安装httpd-tools。
# yum -y install httpd-tools现在让我们创建一个文件,稍后将存储用于身份验证的用户名。squid使用用户“squid”运行,因此该文件应归该用户所有。
# touch /etc/squid/passwd# chown squid: /etc/squid/passwd现在我们将创建一个名为“proxyclient”的新用户并设置其密码。
# htpasswd /etc/squid/passwd proxyclientnew password:re-type new password:adding password for user proxyclient现在配置autnetication打开配置文件。
# vim /etc/squid/squid.conf在端口acl之后添加以下行:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_param basic children 5auth_param basic realm squid basic authenticationauth_param basic credentialsttl 2 hoursacl auth_users proxy_auth requiredhttp_access allow auth_users保存文件并重新启动squid以使新更改生效:
# systemctl restart squid在squid代理上阻止网站最后,我们将创建一个最后的acl,以帮助我们阻止不需要的网站。首先创建将存储列入黑名单的网站的文件。
# touch /etc/squid/blacklisted_sites.acl您可以添加一些要阻止的域。例如:
.badsite1.com.badsite2.com程序点告诉squid阻止对该站点的所有引用,包括www.badsite1,subsite.badsite1.com等。
现在打开squid的配置文件。
# vim /etc/squid/squid.conf在端口acl之后添加以下两行:
acl bad_urls dstdomain \/etc/squid/blacklisted_sites.acl\http_access deny bad_urls现在保存文件并重启squid:
# systemctl restart squid一旦配置正确,现在您可以配置本地客户端浏览器或操作系统的网络设置以使用您的squid http代理。
结论在本教程中,您学习了如何自己安装,保护和配置squid http代理服务器。通过您刚刚获得的信息,您现在可以通过squid为传入和传出流量添加一些基本过滤功能。
如果你想加倍努力,你甚至可以配置squid在工作时间阻止一些网站,以防止分心。如果您有任何问题或意见,请在下面的评论部分发布。
上一个:白菜炖豆腐汤怎么做 制作白菜炖豆腐汤的方法
下一个:上海画册设计公司一般都用什么样的风格进行设计?

皮肤保养的正确步骤与方法 关于皮肤保养的正确步骤与方法
防腐钢管的防腐工艺
公司法定代表人是高管吗
全麦芋泥麻薯软欧的做法 怎么做全麦芋泥麻薯软欧
烤箱版的烤牛肉怎么做 懒人版烤牛肉做法分享
诺基亚1010手机怎么样,诺机亚手机怎么样
推动机械行业不断向前发展的核心驱动装置
全自动氧指数测定仪(触摸屏)
公司股东转让其他股东同意又不签字怎么办
渎职罪涉及300万税金怎么判