Squid代理服务器 传统代理 透明代理 配置 访问控制

Squid代理服务器

结构:
在这里插入图片描述
工作机制
在这里插入图片描述
代理概述
在这里插入图片描述
实验说明
在这里插入图片描述


#### Centos03 web 删除系统自带的源
[root@centos03 ~]# rm -rf /etc/yum.repos.d/CentOS-*

挂载

[root@centos03 ~]# mount /dev/cdrom /mnt/

安装http

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

启动服务

[root@centos03 ~]# systemctl start httpd

设置为开机自动启动

[root@centos03 ~]# systemctl enable httpd

查看服务进程

[root@centos03 ~]# systemctl start httpd

在这里插入图片描述
设置主页面

[root@centos03 ~]# echo "www.benet.com" > /var/www/html/index.html
centos02 squid

创建管理squid账户

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

切换光盘为Linux.iso
在这里插入图片描述
挂载光盘

[root@centos02 ~]# mount /dev/cdrom /mnt/

解压软件包

[root@centos02 ~]# tar zxvf /mnt/squid-3.4.6.tar.gz -C /usr/src/

进入解压位置

[root@centos02 ~]# cd /usr/src/squid-3.4.6/

配置

[root@centos02 squid-3.4.6]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240 --enable-default-err-languge=Simplify_Chinese --disable-poll --enable-epoll --enable-gunregx

编译安装

[root@centos02~]# make && make install

设置所属 改为squid用户

[root@centos02 squid-3.4.6]# chown -R squid:squid /usr/local/squid/

优化squid命令

[root@centos02 squid-3.4.6]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/

检查suqid配置文件是否有错误

[root@centos02 ~]# squid -k parse

初始化缓存目录

[root@centos02 ~]# squid -z

启动squid服务 如果启动不起来多启动几遍

[root@centos02 ~]# squid

创建储存日志文件

[root@centos02 ~]# touch /usr/local/squid/var/logs/cache.log

查看服务进程
在这里插入图片描述
备份主配置文件

[root@centos02 ~]# cp /etc/squid.conf /etc/squid.conf.bak
centos03

开启监听日志

[root@centos03 ~]# tail -f /var/log/httpd/access_log
centos01 客户机

删除系统自带的源

[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*

挂载

[root@centos01 ~]# mount /dev/cdrom /mnt/

安装elinks

[root@centos01 ~]# yum -y install elinks
[root@centos01 ~]#elinks http://192.168.100.30

查看100.30
在这里插入图片描述

centos02

编辑主配置文件

[root@centos02 ~]# vim /etc/squid.conf
54 http_access allow all //允许所有人使用squid
60 http_port 3128     //默认监听端口3128
61 cache_effective_user squid //管理squid用户
62 cache_effective_group squid //管理squid 组
63 reply_body_max_size 10MB //限制用户通过代理下载文件10MB

检查squid配置文件是否有错误

[root@centos02 ~]# squid -k parse

启动squid服务器

[root@centos02 ~]# squid

centos01
q退出

[root@centos01 ~]# vim /etc/profile
HTTP_PROXY=http://192.168.100.20:3128
HTTPS_PROXY=http://192.168.100.20:3128
FTP_PROXY=http://192.168.100.20:3128
NO_PROXY=192.168.100.10,192.168.100.50
export HTTP_PROXY HTTPS_PROXY FTP_PROXY

执行这个配置文件

[root@centos01 ~]# source /etc/profile

访问服务器

[root@centos01 ~]# elinks http://192.168.100.30
centos03

查看访问记录
在这里插入图片描述

windows客户端如何实现?

将win7的网卡设置为仅主机模式(vmnet01)
在这里插入图片描述
控制面板》》》网络和Internet》》》网络连接》》》本地连接》》》右键属性》》》Internet协议版本4
在这里插入图片描述
打开浏览器
在这里插入图片描述
重启浏览器
输入:http://192.168.100.30/
在这里插入图片描述
然后查看centos03的访问记录
在这里插入图片描述
本次设置的文件传输大小最大为10MB 我们来测试一下
首先在centos03(服务器)生成一个11MB和1MB的文件
在这里插入图片描述
win7测试
在网页中输入:http://192.168.100.30/1.iso
在这里插入图片描述
完全可以
再测试一下11MB的2.iso
在这里插入图片描述
被拦截

配置透明代理

先给centos02拍一张快照 备注为squid传统代理

透明代理结构图 与传统代理的区别是 内网外网区分 不像传统代理都在同一个网段下
在这里插入图片描述
设置centos02网卡 添加网网卡vmnet3
在这里插入图片描述

centos03

将网卡切换为vmnet3
将网卡配置文件IP地址设置为:192.168.200.10
增加网关:192.168.200.254

[root@centos03~]# vim/etc/sysconfig/network-scripts/ifcf-ens32

在这里插入图片描述
重新启动网卡
[root@centos03~]# systemctl restart network

centos02

查看网卡

在这里插入图片描述
给这个网卡复制个配置文件

[root@centos02 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34

在这里插入图片描述
重启网卡服务

[root@centos02 ~]# systemctl restart network

可以ping通
在这里插入图片描述

centos02

开启代理服务器的路由功能

[root@centos02 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

查看配置文件有没有报错

[root@centos02 ~]# sysctl -p

关闭squid服务

[root@centos02 ~]# killall squid

查看关闭是否成功:没有关闭成功多试几次

[root@centos02 ~]# netstat -anptu | grep squid
centos01

配置网关
[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
在这里插入图片描述
重新启动网卡

win7设置网关

在这里插入图片描述
浏览器设置:因为是透明代理 就可以把√消掉
在这里插入图片描述

centos03

开始监控web

[root@centos03 ~]# tail -f /var/log/httpd/access_log

win7开始测试
访问192.168.200.10
在这里插入图片描述
查看 centos03的日志
在这里插入图片描述
日志为100.50 说明没有走代理

centos02

配置透明代理

[root@centos02 ~]# vim /etc/squid.conf
60 http_port 3128 transparent //开启代理功能

在这里插入图片描述
查看配置文件是否正确

[root@centos02 ~]# squid -k parse

在这里插入图片描述
创建缓存目录

[root@centos02 ~]# squid -z

启动服务

[root@centos02 ~]# squid

查看服务是否启动成功

[root@centos02 ~]# netstat -anput | grep squid

在这里插入图片描述

centos02

安装防火墙
删除系统自带的源
[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-*
卸载
[root@centos02 ~]# umount /mnt/
切换光盘
在这里插入图片描述
挂载光盘

[root@centos02 ~]# mount /dev/cdrom /mnt/

安装iptables防火墙

[root@centos02 ~]# yum -y install iptables-services

清空防火墙所有规则
[root@centos02 ~]# iptables -F
查看所有规则
[root@centos02 ~]# iptables -L
保存防火墙规则
[root@centos02 ~]# iptables-save
将网站映射到3128端口

[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
win7 测试

清空浏览器缓存
在这里插入图片描述
访问192.168.200.10
在这里插入图片描述
查看centos03的日志记录
在这里插入图片描述
访问者的ip为192.168.200.254 说明代理成功

centos02

将网站映射到3128端口

[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s192.168.100.0/24 -p tcp --dport 21 -j REDIRECT --to 3128
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128

squid的访问控制

限制特定网络通过squid访问目标

centos02

将centos02恢复到之前设置的squid传统代理

centos03

将centos03的网卡设置为vmnet1仅主机模式
编辑网卡配置文件
在这里插入图片描述
在这里插入图片描述
重启网卡服务
在这里插入图片描述

centos02

编辑squid配置文件

[root@centos02 ~]# vim /etc/squid.conf
26 acl network src 192.168.100.10/24

在这里插入图片描述
删除注释
在这里插入图片描述
删除空行
在这里插入图片描述
在26行写入

26 http_access deny network

在这里插入图片描述
18行将24改为32
在这里插入图片描述
保存退出

检查配置文件是否有问题

[root@centos02 ~]# squid -k parse

在这里插入图片描述
关闭squid服务

[root@centos02 ~]# killall squid

在这里插入图片描述
初始化缓存

[root@centos02 ~]# squid -z

启动服务

[root@centos02 ~]# squid

在这里插入图片描述

centos01

访问100.30

[root@centos01 ~]# elinks http:192.168.100.30
centos03

开启日志文件监听

[root@centos03 ~]# tail -f /var/log/httpd/access_log
centos02

编辑squid配置文件

18 acl network src 192.168.100.0/24

在这里插入图片描述

杀死3128进程

[root@centos02 ~]# killall squid

初始化缓存

[root@centos02 ~]# squid -z

开启进程and监听

[root@centos02 ~]# squid
win7

设置 打开
在这里插入图片描述

win7测试

打开浏览器访问192.168.100.30
在这里插入图片描述
访问 成功
查看centos03的监听日志
在这里插入图片描述
ok 它不是100.50

允许多个局域网段在在工作时间上网
在这里插入图片描述
通过黑名单限制目标网络
在这里插入图片描述

centos02

编辑文件

[root@centos02 ~]# vim /etc/ipblock.list
192.168.100.50

在这里插入图片描述
编辑squid配置文件

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

在这里插入图片描述
在这里插入图片描述
关闭squid服务

[root@centos02 ~]# killall squid

在这里插入图片描述
初始化缓存

[root@centos02 ~]# squid -z

启动服务

[root@centos02 ~]# squid

在这里插入图片描述

win7测试
访问192.168.100.30
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值