16_ 使用 Squid 部署代理缓存服务(RHEL7)—学习笔记

本文详细介绍了如何在RHEL7系统上部署Squid代理缓存服务,包括配置参数详解、端口修改、SELinux策略调整、访问控制策略设定及透明代理配置。通过具体步骤指导读者实现高效网络访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 Squid 部署代理缓存服务(RHEL7)—学习笔记

配置 Squid 服务程序

ping www.linuxprobe.com  # 检查访问外部网络

yum install squid

// 常用的 Squid 服务程序配置参数以及作用
http_port 3128 监听的端口号
cache_mem 64M 内存缓冲区的大小
cache_dir ufs /var/spool/squid 2000 16256硬盘缓冲区的大小
cache_effective_user squid 设置缓存的有效用户
cache_effective_group squid 设置缓存的有效用户组
dns_nameservers [IP 地址] 一般不设置,而是用服务器默认的 DNS 地址
cache_access_log /var/log/squid/access.log 访问日志文件的保存路径
cache_log /var/log/squid/cache.log 缓存日志文件的保存路径
visible_hostname linuxprobe.com 设置 Squid 服务器的名称

正向代理

systemctl restart squid
systemctl enable squid

# 须在浏览器中填写服务器的 IP 地址以及端口号信息

# Squid 服务程序默认使用 3128、 3401 与 4827 等端口号

vim /etc/squid/squid.conf
59 http_port 10000   # 原有的 3128 修改为 10000

systemctl restart squid
systemctl enable squid

semanage port -l | grep squid_port_t
semanage port -a -t squid_port_t -p tcp 10000
semanage port -l | grep squid_port_t

ACL 访问控制

# 1_ 只允许IP地址为192.168.10.20的客户端使用服务器上的Squid服务程序提供代理服务

vim /etc/squid/squid.conf
26 acl client src 192.168.10.20  # 定义了一个名为 client 的别名
31 http_access allow client
32 http_access deny all
systemctl restart squid
# 2_ 禁止所有客户端访问网站中包含linux关键词的网站

vim /etc/squid/squid.conf
26 acl deny_keyword url_regex -i linux  #定义了一个名为 deny_keyword 的别名
31 http_access deny deny_keyword
systemctl restart squid
# 3_ 禁止所有客户端访问某个特定的网站

vim /etc/squid/squid.conf
26 acl deny_url url_regex http://www.linuxcool.com
31 http_access deny deny_url
systemctl restart squid

# 4_ 禁止员工在企业网内部下载带有某些后缀的文件

vim /etc/squid/squid.conf
26 acl badfile urlpath_regex -i \.rar$ \.avi$
31 http_access deny badfile

systemctl restart squid

# 透明正向代理  “透明”二字指的是让用户在没有感知的情况下使用代理服务
# 要想让内网中的客户端主机能够访问外网,客户端主机首先要能获取到 DNS 地址解析服
# 务的数据,这样才能在互联网中找到对应网站的 IP 地址

iptables -F
#实现 DNS 地址解析服务 53 端口的数据转发功能,并且允许 Squid 服务器转发 IPv4 数据包
iptables -t nat -A POSTROUTING -p udp --dport 53 -o eno33554968 -j MASQUERADE
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p  # 让转发参数立即生效

vim /etc/squid/squid.conf
59 http_port 3128 transparent
62 cache_dir ufs /var/spool/squid 100 16 256  # 井号(#)注释符删除,设置缓存的保存路径
squid -k parse  # 检查主配置文件是否有错误
squid -z  # 透明代理技术进行初始化
systemctl restart squid

使用 iptables 防火墙管理命令把所有客户端主机

# 对网站 80 端口的请求转发至 Squid 服务器本地的 3128 端口上
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 –o eno33554968 -j SNAT --to 您的桥接网卡 IP 地址
service iptables save
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值