Squid代理服务器应用

缓存代理概述

▪ Web代理的工作机制

▪ 缓存网页对象,减少重复请求

▪ 代理的基本类型

▪ 传统代理:适用于Internet,需明确指定服务端(让机器里面某个程序上网)

▪ 透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理(让机器上网)

▪ 使用代理的好处

▪ 提高Web访问速度

▪ 隐藏客户机的真实IP地址

实验

打开一个虚拟机101

1.拖入安装包

squid-3.5.23.tar.gz

2.安装所需开发环境gcc

[root@localhost ~]# yum -y install gcc*

3.解压squid tar包

[root@localhost ~]# tar zxvf squid-3.5.23.tar.gz

4.进入目录

[root@localhost ~]# cd squid-3.5.23

5.配置

[root@localhost squid-3.5.23]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-gnuregex

[root@localhost squid-3.5.23]# make && make install

6.路径优化

[root@localhost squid-3.5.23]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/

7.cd

8.创建用户

[root@localhost ]# useradd -M -s /sbin/nologin squid

9.

[root@localhost ]# chown -R squid:squid /usr/local/squid/var

10.编辑配置文件

[root@localhost ]# vim /etc/squid.conf

修改:在28行添加 http_access allow all

在65行找 cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256 ##去掉注释符

在末尾添加 cache_effective_user squid   

cache_effective_group squid   

保存退出

11.检查配置文件的语法

[root@localhost ]# squid -k parse

12.初始化缓存目录

[root@localhost ]# squid -z

13.启动squid服务

[root@localhost ]#  squid

14.查看结果

[root@localhost ]# netstat -anpt | grep squid

端口号为3128为正确

设置传统代理

15.打开103 安装httpd

[root@localhost ~]# yum -y install httpd

16.关闭防火墙和se

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

17.开启http服务

[root@localhost ~]# systemctl start httpd

18.在101防火墙上添加允许策略 (如果不成功就执行开启防火墙命令)

[root@localhost ~]# firewall-cmd --add-service=http --permanent

[root@localhost ~]# firewall-cmd --add-port=3128/tcp --permanent

[root@localhost ~]# firewall-cmd --reload

19.打开window11

进入浏览器客户端

0

20.查看代理服务IP103

软件下载1:wireshark-win32_cn.zip

软件下载2:benet.rar

看到以上信息为成功

设置透明代理

1.在101里添加网卡并修改网络连接模式

0

0

将window11的网络连接模式改为

0

将103的网络连接模式改为

0

2.复制ens36

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36

[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens36 进入网卡设置将101的网卡配置改为

0

将103的网卡配置改为

0

3.进入配置文件

[root@localhost network-scripts]# vim /etc/squid.conf

添加为:http_port 192.168.10.101:3128 transparent

4.杀死进程并重启查端口号

[root@localhost network-scripts]# pkill -9 squid

[root@localhost network-scripts]# squid

[root@localhost network-scripts]# netstat -anpt | grep squid

tcp 0 0 192.168.10.101:3128 0.0.0.0:* LISTEN 46014/(squid-1)

端口号为3128即为正确

4.设置iptable重定向策略

[root@localhost ~]# firewall-cmd --remove-service=http --permanent

[root@localhost ~]# firewall-cmd --remove-port=3128/tcp --permanent

[root@localhost ~]# firewall-cmd --zone=external --change-interface=ens36

[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33

[root@localhost ~]# firewall-cmd --zone=internal --add-service=http 

[root@localhost ~]# firewall-cmd --zone=internal --add-port=3128/tcp

[root@localhost ~]# firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 80 -j REDIRECT --to-ports 3128

[root@localhost ~]# firewall-cmd --runtime-to-permanent

5.打开客户端window11关闭代理

打开网络-属性-网卡-默认网关改为101 浏览172.16.16.172

ACL访问控制

1.在101中打开配置文件修改并添加

[root@localhost ~]# vim /etc/squid.conf

0

0

2.杀死并重启squid

[root@localhost ~]# pkill -9 squid

[root@localhost ~]# squid

3.在window中访问172.16.16.172访问失败

4.配置文件中拒绝访问aaa的命令删掉

http_access deny aaa

5.编写脚本执行

[root@localhost ~]# vim aaa.sh

killall squid

sleep 1

killall squid

sleep 1

killall squid

sleep 1

squid

[root@localhost ~]# bash aaa.sh

squid: no process found

[root@localhost ~]# netstat -anpt | grep squid

tcp 0 0 192.168.10.101:3128 0.0.0.0:* LISTEN 46625/(squid-1)

6.在windows中访问成功

7.在opt下分别设置IP黑名单和域名黑名单

[root@localhost ~]# cd /opt/

[root@localhost opt]# ls

[root@localhost opt]# vim ipblock.list

172.16.16.172

[root@localhost opt]# vim dmblock.list

qq.com

8.打开squid配置文件添加

[root@localhost opt]# vim /etc/squid.conf

acl aaa src 192.168.0.0/16 # RFC1918 possible internal network //在下方添加

acl IPBLOCK dst "/opt/ipblock.list"

acl DMBLOCK dstdomain "/opt/dmblock.list"

http_access deny MYLAN IPBLOCK   

 http_access deny MYLAN DMBLOCK

9.执行aaa脚本

[root@localhost opt]# cd

[root@localhost ~]# bash aaa.sh

10.在windows中访问172.16.16.172和qq.com访问失败则为成功

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值