设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
快捷导航
发布信息
搜索
搜索
首页
优惠促销
云服务器
独立服务器
站群服务器
母鸡服务器
服务器托管
全球云服务器
技术文档
联系
每日签到
本版
文章
帖子
用户
主机测评网
»
论坛
›
技术文档
›
其他教程
›
如何在Ubuntu 20.04上安装和配置Squid Proxy
返回列表
发新帖
如何在Ubuntu 20.04上安装和配置Squid Proxy
[复制链接]
|
主动推送
32
|
0
|
2024-9-11 18:10:53
|
显示全部楼层
|
阅读模式
Squid是一个全功能的缓存代理,支持HTTP、HTTPS、FTP等流行网络协议。它可以通过缓存重复请求来提高网络服务器的性能,过滤网络流量,并访问有地理限制的内容。
本教程解释了如何在Ubuntu 20.04上设置Squid代理,并配置Firefox和Google Chrome网络浏览器使用它。
在Ubuntu上安装Squid
squid包包含在Ubuntu 20.04的标准软件库中。要安装它,以sudo用户身份运行以下命令。
$ sudo apt update$ sudo apt install squid
一旦安装完成,Squid服务将自动启动。要验证它,请检查服务状态。
$ sudo systemctl status squid
输出结果将是这样的。
squid.service - Squid Web Proxy Server Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago Docs: man:squid(8) ...
配置Squid
可以通过编辑/etc/squid/squid.conf文件来配置squid服务。该配置文件包含注释,描述了每个配置选项的作用。你也可以将你的配置设置放在单独的文件中,这些文件可以通过 "include "指令包含在主配置文件中。
在做任何修改之前,建议备份原始配置文件。
$ sudo cp /etc/squid/squid.conf{,.orginal}
要开始配置你的squid实例,在你的文本编辑器中打开该文件。
$ sudo nano /etc/squid/squid.conf
默认情况下,squid被设置为在服务器的所有网络接口上监听端口3128。
如果你想改变端口并设置一个监听接口,找到以http_port开头的一行,并指定接口的IP地址和新端口。如果没有指定接口,Squid将在所有接口上监听。
/etc/squid/squid.conf
# Squid normally listens to port 3128 http_port IP_ADDR
ORT
在所有接口和默认端口上运行Squid对大多数用户来说应该是没有问题的。
Squid允许你使用访问控制列表(ACL)来控制客户如何访问网络资源。默认情况下,只允许从本地主机访问。
如果所有使用代理服务器的客户都有一个静态IP地址,那么限制访问代理服务器的最简单的办法就是创建一个ACL,其中包括允许的IP。否则,你可以将squid设置为使用认证。
不要在主配置文件中添加IP地址,而是创建一个新的专用文件,以容纳允许的IP。
/etc/squid/allowed_ips.txt
192.168.33.1 # All other allowed IPs
完成后,打开主配置文件,创建一个名为allowed_ips的新ACL(第一行高亮显示),并使用http_access指令(第二行高亮显示)允许访问该ACL。
/etc/squid/squid.conf
# ... acl allowed_ips src "/etc/squid/allowed_ips.txt" # ... #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all
http_access规则的顺序很重要。请确保你在http_access deny all之前加入这一行。
http_access指令的工作方式与防火墙规则类似。Squid从上到下读取规则,当一条规则匹配时,下面的规则不会被处理。
每当你对配置文件进行修改时,你需要重新启动Squid服务以使修改生效。
$ sudo systemctl restart squid
Squid认证
如果基于IP的访问限制对你的使用情况不起作用,你可以配置squid使用后端来验证用户。Squid支持Samba、LDAP和HTTP基本认证。
在本指南中,我们将使用basic auth。它是HTTP协议中内置的一种简单认证方法。
要生成一个加密的密码,请使用openssl工具。下面的命令将USERNAME
ASSWORD对附加到/etc/squid/htpasswd文件中。
printf "USERNAME
(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd
例如,要创建一个密码为 "
@ssvv0rT "的用户 "josh",你需要运行。
$ printf "josh
(openssl passwd -crypt 'P@ssvv0rd')\n" | sudo tee -a /etc/squid/htpasswd
josh
MxVjdyPchJl6
下一步是启用HTTP基本认证,并将包含用户凭证的文件纳入squid配置文件。
打开主配置,添加以下内容。
$ sudo nano /etc/squid/squid.conf
/etc/squid/squid.conf
# ... auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED # ... #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all
前三行是创建一个新的ACL,名为authenticated,最后一行是允许认证用户访问的。
重新启动Squid服务。
$ sudo systemctl restart squid
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
掌舵的鱼1987
131
主题
0
回帖
10
积分
新手上路
新手上路, 积分 10, 距离下一级还需 40 积分
新手上路, 积分 10, 距离下一级还需 40 积分
积分
10
加好友
发消息
回复楼主
返回列表
网络技术教程
软件使用教程
Windows教程
Centos教程
Ubuntu教程
Linux其他教程
综合教程
其他教程
其他文档
服务器商家推荐
华夏互联
蓝速云
米图云
全球云
文章
1
苹果电脑MAC系统登录Windows远程桌面
2
Debian拓展硬盘工具。cloud-utils-growpart、xfsprogs
3
安卓Android手机怎么使用V2rayNG?
4
WINDOWS系统电脑怎么使用WINXRAY?
5
notepad++.8.5.7编辑器,代码编辑器
6
DirectX修复工具增强版_V4.3.0.40864版本DLL修复工具C++安装
7
Visual C++运行库合集包完整版VisualCppRedist_AIO_x86_x64
8
ChromeSetup谷歌浏览器一键安装