Squid代理服务器,传统代理,透明代理

一、Squid代理服务器概念

1、Squid是基于Unix的代理服务器(proxy server),它缓存比起点源点更接近请求者的互联网内容。Squid支持缓存多种不同的网络对象,包括那些通过HTTP和FTP访问的人。缓存频繁要求网页、媒体文件和其它加速回答时间并减少带宽堵塞的内容。
2、Squid代理服务器(Squid proxy server)一般和原始文件一起安装在单独服务器而不是网络服务器上。Squid通过追踪网络中的对象运用起作用。Squid最初担当中介,仅仅是把客户要求传递到服务器并存储要求对象的拷贝。如果同一个客户或同一批客户在要求还在Squid缓存(cache)时要求相同的对象,Squid就可以立刻服务,加速下载并保存带宽。
3、squid是一种用来缓存Internet数据的软件。接受来自人们需要下载的目标(object)的请求并适当的处理这些请求。也就是说,如果一个人想下载一web界面,他请求squid为他取得这个页面。squid随之连接到远程服务器并向这个页面发出请求。然后,squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时, squid可以简单的从磁盘中读到它,那样数据会立即传输到客户机子
上。

二、Squid代理的作用

通过缓存的方式为用户提供Web访问加速,减少带宽资源占用
对用户的Web访问进行过滤控制
隐蔽内部网络,加强安全

三、Squid的工作流程

当代理服务器中有客户端需要的数据时:
客户端向代理服务器发送数据请求;
代理服务器检查自己的数据缓存;
代理服务器在缓存中找到了用户想要的数据,取出数据;
代理服务器将从缓存中取得的数据返回给客户端。

当代理服务器中没有客户端需要的数据时:
客户端向代理服务器发送数据请求;
代理服务器检查自己的数据缓存;
代理服务器在缓存中没有找到用户想要的数据;
代理服务器向Internet 上的远端服务器发送数据请求;
远端服务器响应,返回相应的数据;
代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

四、Squid主要组成部分

服务名squid
主程序/usr/sbin/squid
配置目录/etc/squid
主配置文件/etc/squid/squid.conf
监听tcp端口号3128
默认访问日志文件/var/log/squid/access.log

1、传统代理
1、挂载光盘解压squid

在这里插入图片描述

2、配置squid

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

3、编译安装suqid

[root@centos02 squid-3.4.6]# make && make install

4、优化squid

[root@centos02 ~]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/
[root@centos02 ~]# touch /usr/local/squid/var/logs/cache.log
创建用户
[root@centos02 ~]# useradd -M -s /sbin/nologin squid
[root@centos02 ~]# chown -R squid:squid /usr/local/squid/

5、修改主配置文件

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

在这里插入图片描述

6、配置客户端代理

[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
export HTTP_PROXY HTTPS_PROXY FTP_PROXY

在这里插入图片描述

8、安装 启动httpd

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

​ [root@centos03 ~]# systemctl start httpd

9、安装elinks测试连接

[root@centos01 ~]# yum -y install elinks

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

在这里插入图片描述

2、透明代理

1、在传统代理配置文件上添加【transparent】开启路由功能
[root@centos02 ~]# vim /etc/squid.conf

在这里插入图片描述

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

在这里插入图片描述

2、设置虚拟机网络
​ 将squid服务添加一块网卡,并修改为VMnet3
在这里插入图片描述

添加ens34网卡
​ [root@centos02 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34


在这里插入图片描述

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

​ 将web虚拟机网卡改为VMnet3
在这里插入图片描述

​ 修改web网络ip

​ [rootCcentos3 ~]# vim etc/susconf ignetwork-scripts/ifcfg-ems32

在这里插入图片描述

重启网卡

​ [rootCcentos3 ~]# systemctl restart network
​在这里插入图片描述

3、安装iptables防火墙

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

[root@centos02~]# iptables -F清空所有防火墙规则
[root@centos02~]# iptables -L查看防火墙规则
[root@centos03~]# iptables-save保存防火墙规则

将网站映射到3128端口

[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s 192.168.100.0/24 -p tcp --d
port 80 -j REDIRECT --to 3128
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s 192.168.100.0/24 -p tcp --d
port 21 -j REDIRECT --to 3128
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s 192.168.100.0/24 -p tcp --d
port 443 -j REDIRECT --to 3128

在这里插入图片描述
保存防火墙规则

[root@centos02 ~]# iptables-save

4、重启服务

[root@centos02 ~]# killall squid

[root@centos02 ~]# squid -k parse
[root@centos02 ~]# squid -z 
[root@centos02 ~]# squid
[root@centos02 ~]# netstat -anptu | grep 3128

在这里插入图片描述
5、测试
​ 在web服务器查看日志

​ [root@centos03 ~]# tail -f /var/log/httpd/access_log
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

游戏结束!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值