如何在 Ubuntu 18.04 和 16.04 上设置 Squid 代理服务器

2023-11-16

Squid 是类 Unix 操作系统中最流行的代理服务器。它还用于网页过滤。 Squid 还可用作 HTTP、HTTPS 和 FTP 协议的缓存代理服务器。

本文将帮助您在 Ubuntu 18.10、18.04 LTS、16.04 LTS 和 14.04 LTS 系统上设置 Squid 代理服务器。

第 1 步 – 安装软件包

Squid 包在默认的 yum 存储库中可用。在您的服务器上执行以下命令来安装 SQUID 代理服务器。


sudo apt update
sudo apt install squid
  

步骤 2 – 配置 Squid 端口

Squid 代理服务器的默认端口是3128。您可以根据要求更改此设置。要在不同端口上设置 Squid,请编辑鱿鱼配置文件并更改http_端口新端口的价值。

/etc/squid/squid.conf

 http_port 3128
  

进行更改后,让我们重新启动 Squid 服务以重新加载配置更改


sudo service squid restart
  

接下来的步骤将帮助您在 Ubuntu 系统上设置 Squid 代理服务器。仅使用代理服务器所需的这些设置。

步骤 3 – 允许所有流量

有时您需要允许代理服务器上的所有流量。在 Squid 服务器中打开 Squid 配置文件。评论一下http_access 拒绝所有行并添加http_access 允许所有进入这个文件。

/etc/squid/squid.conf

 http_access allow all
 #http_access deny all
  

第 4 步 – 使用 Squid 阻止特定网站

让我们从附加配置开始,例如使用鱿鱼代理服务器阻止任何网站。在允许所有规则之前添加以下规则以阻止特定网站。下面的示例将阻止 yahoo.com 和 www.rediff.com。

/etc/squid/squid.conf

acl blocksite1 dstdomain yahoo.com
acl blocksite2 dstdomain www.rediff.com
http_access deny blocksite1
http_access deny blocksite2
  

如果您有很长的域名列表,请创建一个文件/etc/squid/blockwebsites.lst并将域名每行一个,并在鱿鱼配置文件中添加以下规则。

/etc/squid/squid.conf

acl blocksitelist dstdomain "/etc/squid/blockwebsites.lst"
http_access deny blocksitelist
  

阻止网站.lst文件内容示例:


cat /etc/squid/blockwebsites.lst

yahoo.com
www.rediff.com
  

第 5 步 – 使用 Squid 阻止特定关键字

在允许所有规则之前添加以下规则以阻止特定网站。下面的示例将阻止所有具有关键字 yahoo 或 Gmail 的页面。

/etc/squid/squid.conf

acl blockkeyword1 url_regex yahoo
acl blockkeyword2 url_regex gmail
http_access deny blockkeyword1
http_access deny blockkeyword2
  

如果您有很长的关键字列表,请创建一个文件/etc/squid/blockkeywords.lst每行放置一个关键字,并在鱿鱼配置文件中添加以下规则。

/etc/squid/squid.conf

acl blockkeywordlist url_regex "/etc/squid/blockkeywords.lst"
http_access deny blockkeywordlist
  

blockkeywords.lst 文件内容示例:


cat /etc/squid/blockkeywords.lst

yahoo
gmail
facebook
  

恭喜你您已成功安装并配置 Squid 代理服务器。阅读下一篇文章配置 Squid 以进行基于 Mac 地址的过滤.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 和 16.04 上设置 Squid 代理服务器 的相关文章

随机推荐

  • 链接数据库 报错java.sql.SQLException: Unsupported character encoding ‘utf-8......

    项目启动报如下错误信息 java sql SQLException Unsupported character encoding utf 8 serverTimezone 分析 由 java sql SQLException 可知道很大概率
  • 大数据-linux免密登录

    操作 mini yum服务器 A root sizhan ssh keygen Generating public private rsa key pair Enter file in which to save the key root
  • JavaScript实现点击复制(JS访问剪贴板相关)

    一 具体代码 网页前端开发中有时会出现这样的场景 让用户点击某个按钮 然后就能直接复制对应的文本内容 让用户可以将文本内容粘贴到想要粘贴的地方 常用于分享功能模块中 如果想要实现这种效果就需要我们去访问用户的剪贴板 然后把想要复制的内容写入
  • logging模块详细使用

    啄木鸟社区里的Pythonic八荣八耻有一条 以打印日志为荣 以单步跟踪为耻 很多程序都有记录日志的需求 并且日志中包含的信息既有正常的程序访问日志 还可能有错误 警告等信息输出 python的logging模块提供了标准的日志接口 你可以
  • 公司取名字-免费查询参考(中英文2023年精选100个)公司名字集

    中文名称 1 星辰科技 2 卓越集团 3 璀璨科技 4 炫彩网络 5 融智科技 6 致远集团 7 飞跃科技 8 极致集团 9 灵动科技 10 豪迈集团 11 神州科技 12 创维集团 13 赛博科技 14 蓝海集团 15 云端科技 16 融
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-048(CVE-2017-9791)

    博主介绍 博主介绍 大家好 我是 PowerShell 很高兴认识大家 主攻领域 渗透领域 数据通信 通讯安全 web安全 面试分析 点赞 评论 收藏 养成习惯 一键三连 欢迎关注 一起学习 一起讨论 一起进步 文末有彩蛋 作者水平有限 欢
  • IDEA(2023)解决运行乱码问题

    作者介绍 一个有梦想 有理想 有目标的 且渴望能够学有所成的追梦人 学习格言 不读书的人 思想就会停止 狄德罗 个人主页 进入博主主页 专栏系列 无 欢迎小伙伴们访问到博主的文章内容 在浏览阅读过程发现需要纠正的地方 烦请指出 愿能与诸君一
  • 如何增加 Tomcat 上传文件大小限制

    今天在部署一个war文件 开发站点代码 时Tomcat 8 我遇到了以下有关 Apache Tomcat 服务器中上传限制大小的问题 所以我决定将 Tomcat 上传文件大小限制增加到高于默认值 默认上传限制设置为 50 MB Caused
  • Node.js 与 MySQL 示例

    Node js 是一种流行的 Web 应用程序编程语言 如 PHP 和 JAVA 此外 MySQL 是用于存储值的最流行的数据库 Node js 的 MySQL 数据库驱动程序可在 NPM 存储库下找到 在本教程中 您将学习如何使用 Nod
  • 如何在 Ubuntu 18.04 上安装 GIMP 2.10

    GIMP GNU 图像处理程序 是一个免费分发的用于处理图像的软件 我们可以轻松地优化图像 使用 GIMP 转换其类型 它为设计师提供了将图像转化为真正独特的创作的能力和灵活性 GIMP 是一个跨平台应用程序 可用于 Linux Windo
  • 如何在 EC2 实例上创建交换分区

    在 Amazon Elastic Compute Cloud EC2 实例上创建交换分区有助于提高系统的性能和稳定性 交换分区是硬盘驱动器上的一个空间 当物理内存 RAM 不足时 操作系统可以将其用作虚拟内存 在本文中 我们将解释如何在 E
  • 如何在 Ubuntu 20.04 上安装和配置 Ansible

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 Ansible 是 Chef 和 Puppet
  • 如何在 Bash Shell 中使用换行符 ( \n )

    问题 如何将换行打印为 n在 bash shell 中 如何使用 n在 shell 脚本中打印新行 Issues 在 bash shell 中回显换行符打印文字 n但不是新线 打印文字 n 在 bash 脚本中的嵌套打印新行中 Comman
  • 如何在 CentOS/RHEL 和 Fedora 上设置 VNC 服务器(Linux 远程桌面访问)

    VNC 虚拟网络计算 服务器支持 Linux 系统的远程桌面访问 类似于MSTSC在窗户中 一般来说Linux管理员不喜欢使用Windows访问 但有时我们需要访问Linux的远程桌面 在这种情况下 我们需要在 Linux 系统上安装 vn
  • 如何在 FirewallD 中打开特定端口

    防火墙是大多数现代 Linux 发行版使用的防火墙管理解决方案 在本教程中 您将学习如何在firewalld 中打开端口 本教程介绍如何在firewalld 中为公共 特定IP 或IP 范围打开端口 找到我们的上一篇文章关于Firewall
  • 在 Windows 上安装 Python 3.x 的综合指南

    Python 是一种广泛使用的通用编程语言 以其简单性 可读性和广泛的应用范围而闻名 无论您是开发 Web 应用程序 执行数据分析还是自动化任务 Python 都是一个绝佳的选择 截至 2023 年 7 月更新本文时 最新的 Python
  • 如何在一个 Cron 作业中运行多个命令

    Crontab 是一个用于在 Unix Linux 系统上定期运行计划任务的实用程序 它允许我们安排多个 cron 作业同时运行 我们可以安排任何 shell 命令或脚本在终端上执行 crontab 中的每个计划作业均由换行符分隔 我们还可
  • Linux 中的 tee 命令及示例

    tee 是 Linux 中的一项命令 它从标准输入读取并将输出写入标准输出和一个或多个文件 从而有效地复制输入 它通常用在 shell 脚本中 将命令输出发送到文件和控制台 Linux 中的 Tee 命令主要与其他命令结合使用 它读取输入并
  • 如何在 Debian 10/9 上安装 Mono

    Mono 项目由微软赞助 它是 Microsoft NET Framework 的开源跨平台实现 Mono 支持大多数具有 32 位和 64 位架构的现代操作系统 本教程帮助您逐步在 Debian 10 和 Debian 9 系统上安装 M
  • 如何在 Ubuntu 18.04 和 16.04 上设置 Squid 代理服务器

    Squid 是类 Unix 操作系统中最流行的代理服务器 它还用于网页过滤 Squid 还可用作 HTTP HTTPS 和 FTP 协议的缓存代理服务器 本文将帮助您在 Ubuntu 18 10 18 04 LTS 16 04 LTS 和