目录

  • 一、Squid软件及配置文件简介
    • 1、Squid软件
    • 2、Squid配置文件详解
  • 二、Squid三种工作方式搭建
    • 传统模式搭建流程:
    • 1、按照网络拓扑图搭建网络环境;
    • 2、web服务器端安装Apache;
    • 3、Squid开启路由转发;
    • 4、构建Squid服务器;
    • 5、客户端squid代理,测试;
    • 透明代理:
    • 1、按照网络拓扑图搭建网络环境;
    • 2、服务器端安装Apache;
    • 3、Squid开启路由转发;
    • 4、构建Squid服务器;
    • 5、客户端测试,
    • 6、下载限速。
    • 反向代理:
    • 1、按照网络拓扑图搭建网络环境;
    • 2、web服务器端安装Apache;
    • 3、Squid开启路由转发;
    • 4、代理服务器安装Squid,修改配置文件;
    • 5、测试

一、Squid软件及配置文件简介

1、Squid软件

软件包:squid-3.xxxx (经过C语言重构)
系统服务:squid
主程序:/usr/sbin/squid
主配置文件:/etc/squid/squid.conf(源码包和rpm包安装后并发量差异不大)
默认访问日志:/var/log/squid/access.log
默认工作方式:传统代理

[root@squid-server ~]# rpm -ql squid
/etc/squid/squid.conf           #配置文件
/etc/rc.d/init.d/squid          #启动脚本
/usr/sbin/squid                 #二进制命令
/usr/share/doc/squid-3.1.10     #手册
/var/log/squid                  #日志目录
/var/spool/squid                #缓存目录

2、Squid配置文件详解

http_port 3128
#默认监听端口:TCP 3128,可修改
access_log /var/log/squid/access.log squid
#访问日志及当前访问日志的属者
cache_mem 64 MB
#squid进程能使用的内存为64MB,注意不是缓存大小
cache_dir ufs /var/spool/squid 100 16 256
#缓存目录使用ufs文件系统,存放位置在/var/spool/squid,当前目录默认能使用100MB的空间,第一级目录允许的文件个数是16个,第二级目录允许的文件个数是256个。squid中有2张表来帮助我们加快查询缓存,一个叫hash tables(类似于目录),digest tables(类似于章节介绍)
visible_hostname proxy.benet.com
#当前可用的主机名
dns_testnames www.google.com www.163.com
#客户机要连接squid后上网,squid通过访问这两个网站探测自己的网络可用性
maximum_object_size 4096 KB
#最大缓存的静态资源对象的大小,超过这个大小也提供数据,只是不缓存
reply_body_max_size  10 MB
#单个访问请求文件超过10MB就不给客户机做反向代理,如工作时间禁止看视屏
http_access allow localnet
#允许本地网段使用
http_access deny all 
#拒绝所有

二、Squid三种工作方式搭建

传统模式搭建流程:

1、按照网络拓扑图搭建网络环境;

vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth1

echo “GATEWAY=192.168.45.12” >> /etc/sysconfig/network-scripts/ifcfg-eth0
#客户机和web服务器添加网关
service network restart
route -n

2、web服务器端安装Apache;

yum -y install httpd
service httpd start && chkconfig httpd on && echo “ceshi” >> /var/www/html/index.html && curl localhost
#启动Apache并测试

3、Squid开启路由转发;

vim /etc/sysctl.conf
sysctl -p

4、构建Squid服务器;

yum -y install squid
vim /etc/squid/squid.conf
cache_dir ufs /var/spool/squid 100 16 256
#取消注释
http_port 3128
#检查端口
visible_hostname www.vera.com
#末行添加主机名,不让它有启动提示,可以不加

service squid start

5、客户端squid代理,测试;

图形界面测试:
init 5
浏览器——编辑——首选项——高级——链接——设置——手动代理——网关内网IP——3128

客户端字符界面测试:
yum -y install elinks
#安装字符界面浏览器
vim /etc/profile
HTTP_PROXY=HTTP://192.168.45.12:3128
#指向squid代理与客户机在同一lan的ip
export HTTP_PROXY
#末行添加
source /etc/profile
#刷新配置文件
echo $HTTP_PROXY
#查看环境变量
elinks 192.168.88.13
#web服务器ip,建议多访问几次,让squid产生缓存

透明代理:

1、按照网络拓扑图搭建网络环境;

vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth1

echo “GATEWAY=192.168.45.12” >> /etc/sysconfig/network-scripts/ifcfg-eth0
#客户机添加网关
service network restart
route -n

2、服务器端安装Apache;

yum -y install httpd
service httpd start && chkconfig httpd on && echo “ceshi” >> /var/www/html/index.html && curl localhost
#启动Apache并测试

3、Squid开启路由转发;

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p

4、构建Squid服务器;

yum -y install squid
vim /etc/squid/squid.conf
http_port 192.168.45.12:3128 transparent
#原来的http_port 3128改为这个,表明为透明模式,指定代理主机ip和端口号
cache_dir ufs /var/spool/squid 100 16 256
#取消注释
visible_hostname www.vera.com
#任意位置添加主机名,不让它 有启动提示,可以不加

service squid start
service iptables start
iptables -F && iptables -L
#查看防火墙规则,清空已有的防火墙规则
iptables -t nat -A PREROUTING -i eth0 -s 192.168.45.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128
#数据来源是192.168.45.0/24,目标为80端口的,全部重定向(转发到)为3128端口squid
iptables -t nat -L
#查看关于nat的防火墙规则
service iptables save
#保存防火墙规则
chkconfig iptables on

5、客户端测试,

curl 192.168.88.12
#访问web服务器,建议多访问几次,让squid产生缓存
service httpd stop
#停止web服务
curl 192.168.88.12
#此时squid找不到web服务器,返回自己缓存的信息

6、下载限速。

service httpd start
dd if=/dev/zero of=1.txt bs=1M count=15
#在服务器端网页下写入1.txt文件
wget 192.168.88.13/1.txt
#此时squid没有做下载限制,会发现客户端可以直接下载
vim /etc/squid/squid.conf
reply_body_max_size 10 MB
#限制下载大小为10M,任意位置添加此选项,默认单位为字节,使用MB要加空格

/etc/init.d/squid reload

反向代理:

1、按照网络拓扑图搭建网络环境;

vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth1
echo “GATEWAY=192.168.88.11” >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo “GATEWAY=192.168.45.13” >> /etc/sysconfig/network-scripts/ifcfg-eth0
#客户机和服务器端添加网关到squid的两张网卡
service network restart
route -n

2、web服务器端安装Apache;

yum -y install httpd
service httpd start && chkconfig httpd on && echo “pag1” >> /var/www/html/index.html && curl localhost
service httpd start && chkconfig httpd on && echo “pag2” >> /var/www/html/index.html && curl localhost
#启动Apache并测试

3、Squid开启路由转发;

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p

4、代理服务器安装Squid,修改配置文件;

yum -y install squid
vim /etc/squid/squid.conf

http_port 192.168.88.11:80 vhost
#在原来的http_port 3128上修改,填写反向代理服务器对客户开放的访问ip
visible_hostname www.vera.com
#任意位置添加后取消重启报警
cache_dir ufs /var/spool/squid 100 16 256
#取消注释
cache_peer 192.168.45.11 parent 80 0 originserver round-robin
#末行添加后端主机,parent前面的ip代表上游web服务器,80代表当前web服务器的端口,0代表若周围若有其他squid服务器的话就写上它的端口,它会自己去寻找,originserver表示子节点,round-robin代表轮询算法,注意只支持RR轮询算法
cache_peer 192.168.45.12 parent 80 0 originserver round-robin

service squid start

5、测试

curl 192.168.88.11/index.html

Squid三种工作模式搭建及配置文件解析相关推荐

  1. linux文件编辑器的三种模式,Linux中文本编辑器三种工作模式切换及vi编辑器三种工作模式下命令详解...

    文本编辑器的作用 创建或修改文本文件 维护Linux系统中的各种配置文件 Linux中最常用的文本编辑器 Linux中最常用的文本编辑器 vi:类UNIX操作系统的默认文本编辑器 vim:vim时vi ...

  2. 终端服务器有多种运行模式,云终端的三种工作模式你都知道的吗

    原标题:云终端的三种工作模式你都知道的吗 不知道大家有没有发现这几年来我们办公的电脑不知不觉中有笨重的台式机逐渐变成了小巧的云终端在使用的,我们去医院看病时也发现他们的办公的台式机也变成了云终端,甚至 ...

  3. LVS负载均衡:三种工作模式、十种调度算法

    一.LVS简介 二.三种工作模式的解析       2.1 基于NAT的LVS模式负载均衡       2.2 基于TUN的LVS负载均衡       2.3 基于DR的LVS负载均衡 三.LVS负载 ...

  4. [转]LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

  5. Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解

    通过前面的学习我们知道,Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器. 我们首选的文本编辑器是 Vim(至于为什么,可查看<Vi和Vim的区 ...

  6. VMWare虚拟系统上网设置及VMWare虚拟机三种工作模式详解

    =========================================================== 很多网友安装了VMWare虚拟机,但是在虚拟机上网问题上却卡住了.要想虚拟机上网 ...

  7. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    转载:https://blog.csdn.net/weixin_40470303/article/details/80541639 一.LVS简介 LVS(Linux Virtual Server)即 ...

  8. raid0 raid1 raid5 三种工作模式的工作原理及特点

    简述raid0 raid1 raid5 三种工作模式的工作原理及特点 RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据还有一个大功能,多块盘放在一起可以有冗余(备份).RAID整合 ...

  9. 网络技术(十一)交换机三种工作模式 hybrid 、trunk、access的深入研究

    目录 一.前言 二.基础知识 2.2  spanning tree--生成树 2.2.1使用场景: 2.2.2环路会引起的问题 2.2.3STP的作用 2.2.4BPDU报文 2.2.5生成树算法的步 ...

最新文章

  1. 二分搜索 POJ 2456 Aggressive cows
  2. [转载]“java.sql.SQLException:指定了无效的 Oracle URL”
  3. 阿里云服务器如何创建快照备份数据
  4. python输入语句是什么意思_Python输入/输出语句
  5. keepalive配置mysql自动故障转移
  6. redis zset usage
  7. python 装饰器的讲解
  8. 【Debug探索团队公告】Debug探索团队,邀请您的加入
  9. 软件开发管理与质量控制
  10. Android 获取SN号
  11. dw33d最新固件openwrt_【矿渣们的救赎】の 小米路由器mini刷OpenWrt
  12. Windows timeout命令
  13. 关于 蓝天显卡 异形卡 的改inf文件上驱动说明
  14. 【Android -- 技术周刊】第 020 期
  15. ORA-01031:insufficient privileges 解决方法
  16. 个人开发者App Store收款
  17. html中怎样写渐变色代码,纯css简单几行代码实现颜色渐变效果 非常漂亮
  18. 浅谈 Java 中的枚举
  19. 深圳富士康有搞什么啊?又猝死了一个!
  20. linux 如何简单地隐藏文件及显示隐藏文件

热门文章

  1. 少女Q的量化交易之路 #week6 之二(金工101)
  2. 鹰谷靶点 | FDA批准首个乳腺癌CDK4/6抗耐药分子进入临床
  3. 家庭网络开启IPv6网络
  4. 2019年中国展览业发展前景展望
  5. C语言实现的简易计算器
  6. android6.0 微信支付,Android - 微信支付
  7. vector转换成数组
  8. Kafka系列(六)、Kafka开发套件kafka lenses 安装及使用(带WebUI)
  9. 命令行启动mysql拒绝访问
  10. c语言程序设计正方体,2015年第六届蓝桥杯C/C++程序设计本科B组决赛 完美正方形...