linux 搭建squid代理服务器

实验环境:

一台linux搭建Web服务器,充当内网web服务器(同时充当内网客户端) 202.100.10.100

一台linux系统充当网关服务器,两个网卡,开启路由转发 192.168.133.131和202.100.10.1

一台linux搭建Web服务器,充当外网web服务器(同时充当外网客户端)) 192.168.133.131

实验步骤:

1.配置内网web服务器、网关服务器、外网Web服务器的IP地址,开启网关的路由转发,关闭网关的防火墙,测试内网web服务器与外网Web服务器的联通性,保证能互通。

2.安装内网Web服务器和外网Web服务器的web服务,启动服务,新建一个测试页面

3.测试内网客户端访问外网web服务器,外网客户端访问内网web服务器

4.内网客户端访问外网web服务器

  

5.外网客户端访问内网web服务器

  

防火墙SNAT和DNAT

1.内网客户端访问外网web服务器

  

2.在外网web服务器上查看日志

tail -f /var/log/httpd/access_log

  

3.在网关设置地址转换

iptables -t nat -A POSTROUTING -s 192.168.133.0/24 -o eth2 -j  SNAT --to-source 202.100.10.1

或者iptables -t nat -A POSTROUTING -s 192.168.133.0/24 -o eth2 -j MASQUERADE

  

4.再次在内网客户端访问外网web服务器,然后查看外网的web服务器可以看到,日志文件记录的IP的不是内网客户端的IP

  

DNAT:

1.在网关上设置,把内网web服务器映射到网关外网的接口上

iptables -t nat -A PREROUTING -i eth2 -d 202.100.10.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.133.131

2.访问网关外网的接口IP(实际上就是访问内网web服务器)

  

3.查看内网web服务器的日志文件

  

squid代理服务器

1.在配置网关服务器配置squid代理服务器,安装squid, yum install -y squid

1.1传统代理服务器

启动squid服务  service squid start

因为squid.conf配置文件,默认允许所有私网IP通过

1.2在内网客户端设置浏览器,加入代理,测试

  

  

在外网服务器查看日志文件,可以看到IP是代理服务器的IP

  

1.3关闭网关服务器的代理服务器,再次测试,下图说明客户端访问外网web服务器经过代理服务器

 

2.透明代理服务器

2.1在网关服务器上配置,设置透明代理并开启高速缓存, vim /etc/squid/squid.conf

http_port 192.168.133.130:3128 transparent     #192.168.133.130为内网接口IP

cache_dir ufs /var/spool/squid 100 16 256

iptables -t nat -A PREROUTING -i eth1 -s 192.168.133.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128     #-i接口是内网接口   -s 跟的是内网网段   -j 跟的是REDIRECT(重定向)

  

2.2重启squid服务,然后在内网客户端测试,取消之前测试中浏览器设置的代理,透明代理不需要设置在客户端设置任何东西

  

2.3在外网web服务器上查看日志

  

linux 搭建squid代理服务器的更多相关文章

  1. Linux 搭建 squid 代理服务器 三种模式

    CentOS 6.7 squid 代理服务器 一般有两张或以上网卡,一张链接公网,访问外网资源,一张位于局域网. 代理服务器可以提供文件缓存.复制和地址过滤等服务,充分利用有限的出口带宽,加快内部主机 ...

  2. 基于腾讯云搭建squid代理服务器

    本文主要介绍下在腾讯云上搭建squid代理服务器,用于访问国外网站或者为爬虫提供代理ip,以及简单介绍下如何基于腾讯云提供的SDK,批量开启或者销毁代理服务器实例. Squid是一个高性能的代理缓存服 ...

  3. Linux搭建Socks5代理服务器

    下面笔者将用SS5在亚马逊云服务器上的Linux搭建一台Socks5 Proxy Server,具体过程如下: 1.首先,编译安装SS5需要先安装一些依赖组件 yum -y install gcc g ...

  4. CentOS 7 搭建Squid代理服务器

    Squid安装 官方地址:http://www.squid-cache.org/ [root@DaMoWang ~]# -r6d8f397.tar.gz [root@DaMoWang ~]# -r6d ...

  5. 使用Squid搭建HTTPS代理服务器

    由于经常去的一些国外网站如Google.Blogspot.Wordpress被"出现了技术问题",访问不了,于是我在自己的DigitalOcean云主机上搭建了一个 Squid代理 ...

  6. 搭建Squid反向代理服务器

    好吧,更新个文章,有段时间没写技术博文了.今天就说说squid反向代理这个服务,当然,这是在Linux下配置完成的.说自己没偏见似乎不可能 了.大概是相对喜欢Linux而已.但我从不否认Windows ...

  7. Squid 搭建正向代理服务器

    Squid 是一款缓存代理服务器软件,广泛用于网站的负载均衡架构中,常见的缓存服务器还有varnish.ATS等. 正向代理服务器可满足内网仅有一台服务器可以上网,而要供内网所有机器上网的需求,也可以 ...

  8. linux搭建代理服务器+蚁剑配置客户端代理

    一:linux搭建代理服务器 0x00 介绍 关于搭建代理服务器的方法,我也是刚刚接触,从网上找了一些能够行得通的方法来给大家做个分享: 这里我用的是Tinyproxy作为代理服务软件.这个东西很小, ...

  9. CentOS 7安装squid代理服务器

    Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返 ...

随机推荐

  1. 上帝的归上帝,凯撒的归凯撒—— CODING 权限管理更新

    上帝的归上帝,凯撒的归凯撒 <马太福音>22 章 15-22 节,耶稣用这句话,说明了神权与政权之间的正确关系,奠定了神权与政权的基础,也划清了二者的界限.其实这两个问题如今也依旧出现在公 ...

  2. Retrofit的初次使用

    rxretrofitlibrary是一个已经写好的网络框架库,先以本地Module导入到自己的项目中. 1.它的初始化操作大多在自定义的application中完成,如: public class A ...

  3. 关于GITLAB若干权限问题

    访问权限 - Visibility Level 这个是在建立项目时就需要选定的,主要用于决定哪些人可以访问此项目,包含3种 Private - 私有,只有属于该项目成员才有原先查看 Internal ...

  4. spider 爬虫文件基本参数(3)

    一 代码 # -*- coding: utf-8 -*- import scrapy class ZhihuSpider(scrapy.Spider): # 爬虫名字,名字唯一,允许自定义 name ...

  5. SLA服务可用性怎么达到?

    SLA:服务等级协议(简称:SLA,全称:service level agreement).是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定.通常这个开销是驱动提供服 ...

  6. Luogu P5285 [十二省联考2019]骗分过样例

    Preface ZJOI一轮被麻将劝退的老年选手看到这题就两眼放光,省选也有乱搞题? 然后狂肝了3~4天终于打完了,期间还补了一堆姿势 由于我压缩技术比较菜,所以用的都是非打表算法,所以一共写了5K- ...

  7. spring framework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

  8. Project file is incomplete. Expected imports are missing 错误解决方案

    当你打开一个.net core的项目,Visual Studio 可能无法打开,提示如下错误: D:\workshop\Github\Ocelot\src\Ocelot\Ocelot.csproj : ...

  9. Linux下ps -ef和ps aux的区别

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...

  10. python获取set-cookies

    python获取set-cookies #!/usr/bin/python3.4 # -*- coding: utf-8 -*- import requests url = "https:/ ...