诺诺博客

  • 前言
  • 环境描述
  • 安装Squid代理
  • 配置Squid正向代理
  • 配置代理服务器
  •  限制IP访问
  • 规定时间内禁止联网
  • 禁止访问指定服务器
  • 禁止访问指定的域名
  •  主 页
  •  Linux
  •  微 软
  •  信 创
  •  虚 拟
  •  网 络
  •  生 活
  •  归 档
  •  友 链
  •  关 于

在Linux上安装和配置Squid代理服务器

  • 诺诺
  • 2024-11-28
  • 0

前言

Squid代理是一种开源的网络代理软件,广泛应用于Linux系统中。 Squid代理服务器支持很多缓存协议(ICP、HTCP、CARP、WCCP),并允许代理HTTP、HTTPS、FTP等流量。 Squid 易于扩展,您可以使用它来过滤内容或限制每个用户或站点的带宽,它支持用户身份验证(包括 Active Directory LDAP 身份验证),主要用于缓存和转发网络请求,以提高网络性能和安全性。Squid代理服务器支持多种代理模式,包括传统代理、透明代理和反向代理。

  1. 传统代理(正向代理) :这种模式下,客户端需要手动指定代理服务器的IP地址和端口号才能通过Squid代理服务器上网。这种方式适用于互联网环境,但对客户端配置要求较高。
  2. 透明代理:在这种模式下,客户端无需指定代理服务器的地址和端口,而是通过默认路由或防火墙策略将Web访问重定向给代理服务器处理。这种方式对客户端配置较为友好,用户几乎无感知地使用代理服务。
  3. 反向代理:反向代理通常用于将内部WEB服务器的请求转发到外部WEB服务器,从而实现加速和负载均衡。反向代理可以缓存请求资源,并在缓存命中时直接返回给客户端,否则从后端服务器获取并返回结果。

环境描述

Ubuntu 作为Squid代理服务器,配备两块网卡

  • 192.168.0.201/24 网关192.168.0.1 (外网)
  • 192.168.0.202/24 无网关 (内网)
在Linux上安装和配置Squid代理服务器-诺诺博客

Windows Server 作为 客户端,仅配置IP和掩码,默认无法上互联网

  • 192.168.0.250/24 无网关
在Linux上安装和配置Squid代理服务器-诺诺博客

安装Squid代理

使用包管理器在主机上安装 Squid 包。根据您的 Linux 版本,使用以下命令之一

Oracle、Rocky Linux、CentOS、Fedora 或 Red Hat Enterprise Linux

dnf install -y squid

SUSE Linux 企业服务器

zypper install squid -y

Kali、Ubuntu、Debian、UOS、Kylin

apt-get install squid -y

如果你想在 Squid 中实现用户身份验证,请再安装一个包

RHEL/CentOS/Fedora

dnf -y install httpd-tools

Kali/Ubuntu/Debian/UOS/Kylin

sudo apt install apache2-utils -y

使用systemd启动Squid并设置为开机启动,运行服务并检查其状态。

systemctl enable --now squid
systemctl status squid
在Linux上安装和配置Squid代理服务器-诺诺博客

配置Squid正向代理

主配置文件一般都在/etc/squid/squid.conf,需要先复制一份做备份,预防修改坏了,使用指令

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

然后再进行编辑sudo vi /etc/squid/squid.conf,我们找到配置IP地址的那行,默认是没有192.168.0.0/24的,根据实际情况添加一行,再这里我们也能找到默认端口号3128

acl localnet src 192.168.0.0/24

在Linux上安装和配置Squid代理服务器-诺诺博客

默认情况下,Squid 接受端口 TCP/3128 上的用户连接。您可以更改http_port中的端口号。我将squid监听端口改为63333

http_port 63333
在Linux上安装和配置Squid代理服务器-诺诺博客

确保防火墙允许通过Squid的端口。可以通过以下命令开放该63333端口

iptables -I INPUT -p tcp --dport 63333 -j ACCEPT

然后在编辑子配置文件sudo vi /etc/squid/conf.d/debian.conf,将http_access allow localnet取消注释

在Linux上安装和配置Squid代理服务器-诺诺博客

重启一下服务。

systemctl restart squid

配置代理服务器

将Windows Server客户端配置代理IP及端口,这里配置的也就是环境中用于内网的IP 192.168.0.202

在Linux上安装和配置Squid代理服务器-诺诺博客

设置好了保存,再访问网站,就已经可以正常联网了。

在Linux上安装和配置Squid代理服务器-诺诺博客

 限制IP访问

可以通过限制固定IP来上网,需要在配置文件 /etc/squid/squid.conf 添加

acl badhost src 192.168.0.250
在Linux上安装和配置Squid代理服务器-诺诺博客

或者仅允许一个子网的客户端进行访问

acl localnet src 192.168.0.0/24
在Linux上安装和配置Squid代理服务器-诺诺博客

规定时间内禁止联网

acl worktime time MTWHF 18:00-7:00
http_access deny worktime

禁止访问指定服务器

acl baddst dst 192.168.0.100
acl baddst dst 8.8.8.8

禁止访问指定的域名

http_access deny badhost baddomain

Squid还有很多功能,这里就不一一展示了,可以自行去官网查看。

© 2025 诺诺博客 蜀ICP备2024099071号-1 如有侵权请联系删除 | 网站地图 | 百度统计 | 又拍云CDN加速
为了获得更好的浏览效果 建议您使用IE8.0及以上版本浏览器登陆本站点 · 服务器托管于腾讯云
  • {{ item.name }}
  • {{ item.name }}