当前位置:首页 > CN2资讯 > 正文内容

squid传统代理和透明代理squid代理

11分钟前CN2资讯

简介: 1.标准的代理缓冲服务器

一个标准的代理缓冲服务被用于缓存静态的网页如:html 文件和图片文件等到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web 站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP 地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web 服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。 2.透明代理缓冲服务器 透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP 和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP (80 端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web 服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux 操作系统来说,透明代理使用Iptables 或者Ipchains 实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP (Internet 服务器提供商)特别有用。

squid 服务 传统模式 设置代理地址 透明模式 无需设置代理(网关) 代理服务器软件: Squid Nginx

具体实验操作: squid 192.168.120.128

web 192.168.120.129

client 192.168.120.133

squid-3.5.23软件包网址:链接:https://pan.baidu.com/s/1MbswuQi7pmuNj6XAZmmiJg 密码:8xu6 -------------------------手工编译安装squid------------------------------------- [root@localhost ~]#mkdir /abc [root@localhost ~]#mount.cifs //192.168.100.1/rhel7 /abc [root@localhost ~]#cd /abc/Y2C [root@localhost Y2C]#tar zxvf squid-3.5.23.tar.gz -C /opt/ [root@localhost Y2C]#cd /opt/ [root@localhost opt]# yum install gcc gcc-c++ make -y ----------------------------配置------------------------------------------------- [root@localhost opt]# cd squid-3.5.23/ [root@localhost squid-3.5.23]# ./configure --prefix=/usr/local/squid
--sysconfdir=/etc
--enable-arp-acl
--enable-linux-netfilter
--enable-linux-tproxy
--enable-async-io=100
--enable-err-language="Simplify_Chinese"
--enable-underscore
--enable-poll
--enable-gnuregex

[root@localhost squid-3.5.23]# make && make install [root@localhost squid-3.5.23]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/ [root@localhost squid-3.5.23]# useradd -M -s /sbin/nologin squid [root@localhost squid-3.5.23]# chown -R squid.squid /usr/local/squid/var/

[root@localhost squid-3.5.23]# vim /etc/squid.conf #56行 http_access allow all #在http_access deny all上面插入 #61行 cache_effective_user squid #添加 指定程序用户 #62行 cache_effective_group squid #添加 指定账号基本组

[root@localhost squid-3.5.23]# squid -z #初始化缓存目录 [root@localhost squid-3.5.23]# squid #启动服务 [root@localhost squid-3.5.23]# netstat -ntap | grep 3128 #查看端口 tcp6 0 0 :::3128 :::* LISTEN 45271/(squid-1)

[root@localhost squid-3.5.23]# cd /etc/init.d/ [root@localhost init.d]# vim squid

#!/bin/bash #chkconfig: 2345 90 25 PID="/usr/local/squid/var/run/squid.pid" CONF="/etc/squid.conf" CMD="/usr/local/squid/sbin/squid"

case "$1" in start) netstat -natp | grep squid &> /dev/null if [ $? -eq 0 ] then echo "squid is running" else echo "正在启动 squid..." $CMD fi ;; stop) $CMD -k kill &> /dev/null rm -rf $PID &> /dev/null ;; status) [ -f $PID ] &> /dev/null if [ $? -eq 0 ] then netstat -natp | grep squid else echo "squid is not running" fi ;; restart) $0 stop &> /dev/null echo "正在关闭 squid..." $0 start &> /dev/null echo "正在启动 squid..." ;; reload) $CMD -k reconfigure ;; check) $CMD -k parse ;; *) echo "用法: $0{start|stop|status|reload|check|restart}" ;; esac

------------------------传统代理-------------------------------------------------

[root@localhost init.d]# chmod +x squid [root@localhost init.d]# chkconfig --add squid [root@localhost init.d]# chkconfig --level 35 squid on #开机自启动 [root@localhost init.d]# service squid stop #关闭 [root@localhost init.d]# service squid start #开启 [root@localhost init.d]# service squid check #检查语法

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

61 cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问比较频繁的WEB 对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4 62 reply_body_max_size 10 MB #允许用户下载的最大文件大小(默认为0,不进行限制) 63 maximum_object_size 4096 KB #允许保存到缓存空间的最大对象大小,以KB为单位,超过 大小限制的文件将不被缓存,而是直接转发给用户

[root@localhost init.d]# service squid restart 正在关闭 squid... 正在启动 squid... [root@localhost init.d]# iptables -F [root@localhost init.d]# setenforce 0 [root@localhost init.d]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

操作完成后,在客户机上访问192.168.120.128 在访问网站前,先设置代理 到web服务器上查看访问来源 客户机查看web的网页可以被squid服务器所代理

============================================================== ----------------------------------------在第二台上操作----------------------------------------------- [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0 [root@localhost ~]# yum install httpd -y [root@localhost ~]# systemctl start httpd

-------------------------------------------设置透明代理----------------------------------------------- 配置双网卡内网ens33 外网ens36 squid 192.168.100.1 内网 ens33 12.0.0.1 外网 ens36 web 12.0.0.12 client 192.168.100.50

#在web上操作: [root@localhost logs]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static IPADDR=12.0.0.12 NETMASK=255.255.255.0 GATEWAY=12.0.0.1

[root@localhost logs]# service network restart Restarting network (via systemctl): [ 确定 ]

#代理服务器上

[root@localhost logs]#cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]#vim ifcfg-ens33 IPADDR=192.168.100.1 NETMASK=255.255.255.0 [root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens37 [root@localhost network-scripts]#vim ifcfg-ens37

删除uidd BOOTPROTO=static NAME=ens37 DEVICE=ens37 IPADDR=12.0.0.1

[root@localhost network-scripts]#service network restart ----------------------------------代理服务器上------------------------------------------- [root@localhost network-scripts]#echo "1" > /proc/sys/net/ipv4/ip_forward [root@localhost network-scripts]#iptables -F [root@localhost network-scripts]#iptables -t nat -F [root@localhost network-scripts]#setenforce 0 [root@localhost network-scripts]#vim /etc/squid.conf

60 http_port 192.168.100.1:3128 transparent

[root@localhost network-scripts]# iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128 [root@localhost network-scripts]#iptables -t nat -I PREROUTING -i ens33 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128

[root@localhost network-scripts]#service squid reload

用客户机访问12.0.0.12 (关闭代理设置再访问) 访问后到web上

[root@localhost ~]# cd /etc/httpd/ [root@localhost httpd]# cd logs [root@localhost logs]# ls access_log error_log [root@localhost logs]# vim access_log

#squid的传统代理和透明代理就完成了,下一次再介绍squid的日志和反向代理#

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24185.html

    分享给朋友:

    “squid传统代理和透明代理squid代理” 的相关文章

    比搬瓦工便宜的CN2是什么意思呢?视频解析

    在互联网行业,CN2网络一直是高端服务器租赁的代名词。它以其低延迟、高带宽和稳定性,成为了众多企业及个人站长的首选。最近市场出现了一种现象:一些服务商声称提供“比搬瓦工便宜的CN2服务”,这让很多用户感到困惑。CN2网络真的能像传统印象中那样“物美价廉”吗?让我们先从CN2网络的基本概念说起。CN2...

    BT开心版:简化Linux服务器管理的最佳工具

    BT开心版是一个强大的Linux服务器管理工具,致力于简化网站的搭建、管理和维护过程。对于那些刚接触Linux操作系统的用户来说,BT开心版的出现无疑是一大福音。它的设计理念是让每个用户无论有多少技术背景,都能高效地管理自己的网页,不必深入学习Linux系统的复杂操作。 首先,我发现BT开心版的最大...

    如何在Vultr上添加适合的充值金额和选择合适的VPS方案

    Vultr概述 Vultr是一家在云服务领域颇有声誉的公司,它以提供高性能的虚拟专用服务器(VPS)而闻名。Vultr不仅在全球范围内拥有多个数据中心,还以其灵活的方案和易于扩展的功能,赢得了众多用户的青睐。在激烈的市场竞争中,Vultr凭借其合理的价格和优化的服务流程,使自己脱颖而出,成为许多个人...

    提升国际数据传输质量的9929线路分析与应用

    谈到9929线路,首先让我给大家介绍一下AS9929线路的基本情况。这条线路是中国联通为了满足国际市场的需求而推出的一种IP传输服务专线。它的起点在香港,通过海底光缆将中国与亚太及北美地区紧密连接。同时,这条线路还在欧洲和非洲设立了多个重要的网络节点(POP点),这就为跨国数据传输提供了坚实的基础。...

    VPS论坛:虚拟主机爱好者的交流与学习平台

    VPS论坛概述 VPS论坛是一个专为VPS主机爱好者提供交流与分享的平台。在这里,像我这样对VPS感兴趣的人们,可以参与关于虚拟专用服务器的各种讨论。VPS实际上属于一个相对小众的领域,因此知名的VPS论坛数量较少,但它们所承载的信息和交流却是丰富多彩的。这些论坛不仅是获取信息的重要来源,更是与其他...

    如何获取免费VPS服务无需信用卡:一站式指南

    在互联网时代,虚拟专用服务器(VPS)成为了很多开发者和企业的优选。VPS基本上是一个分隔的服务器环境,用户可以在其中安装操作系统和运行应用程序。它既拥有独立服务器的功能,又比共享主机更具经济性。对很多人来说,了解VPS的运行机制和它的适用场景是非常重要的。 免费VPS服务越来越受到关注。在预算有限...