linux搭建squid代理服务器的完整步骤

前言

本文主要给大家介绍了关于 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服务器上查看日志

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • Linux定时删除日志的简单实现方法

    导语 linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情. 项目中会生成各种各样的日志,随着时间的推移,日志也是越来越多.超过一定时间的日志就没有了参考的价值,也会占用空间,所以一般的项目都会删除日志.本篇文章的需求是删除 7 天之前的日志,大致分为两步,一是删除日志的命令,二是设置定时任务. 删除指定时间的日志 首先是查找所有 7 天前的日志,使用 find 查找的时候加上 -mt

  • Linux下Docker CE使用从包中安装的方式详解

    使用从包中安装的方式,在Linux上安装Docker CE 1.查看Linux系统信息nuame -a 我的是Debian, amd64 2.查看Linux 系统发行版的名称 lsb_release -cs 我的是stretch 3.进入到下载包页面https://download.docker.com/linux/ 第一步获取的Debian,点击进入debian>dists 进入了这个连接地址 https://download.docker.com/linux/debian/dists/ 第二

  • Linux Docker安装wordpress的方法详解教程

    安装mysql服务 下载mysql镜像: docker pull mysql 创建mysql容器并后台运行,指定数据库密码是123456.-e指定环境变量. docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -d mysql 使用官方的wordpress wordpress镜像daocloud.io: docker pull daocloud.io/daocloud/dao-wordpress:latest 拉取镜像前请先登录: d

  • Linux下Docker安装和使用教程

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器. 开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal.OpenStack集群和其他的基础应用平台. Docker的源代码全部是用Go语言写的. 一.基础环境 1.角色.ip.版本.内核 serverA 10.1.10.236 3.16.0-4-amd64 8.1 docket docket 1.6.2 二.安装docter 1.添加源 echo "d

  • 在Linux上安装和使用Docker的方法

    容器现在风靡于 IT 界 -- 这很好理解.容器是轻量级的,包含应用运行所需所有东西(代码.库.运行时环境.系统设置,以及依赖关系)的独立的包.每个容器都部署于它自己的 CPU.内存.块 I/O,以及网络资源上,所有这些都不依赖于某个内核和操作系统.这也是容器与虚拟机之间最大的不同:相比之下,虚拟机是一个运行于宿主机操作系统上的完整的操作系统平台,而容器不是. 容器允许你以一种前所未有的方式扩展交付能力(不管内部还是外部的).例如,你可以快速部署多个 NGINX 实例(甚至可以应用于多个不同的阶

  • Docker创建Mysql容器的简单步骤

    前言 前面我们已经安装好了Docker,也简单了解了Docker.下面就来给大家介绍下Docker创建Mysql容器的简单步骤,话不多说了,来一起看看详细的介绍吧 步骤如下 1.启动docker服务 [root@docker ~]# systemctl start docker 2.查看docker里面的镜像 [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos/mysql-57-centos7 la

  • linux中alarm函数的实例讲解

    linux alarm函数简介 上代码: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <signal.h> int main(int argc, char *argv[]) { alarm(5); sleep(20); printf("end!\n"); return 0; } 运行5秒后,内核向进程发出SIGALRM信息,进程被终止,所以上述程序

  • linux上安装Docker(非常简单的安装方法)

    最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗! Docker的三大核心概念:镜像.容器.仓库 镜像:类似虚拟机的镜像.用俗话说就是安装文件. 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动.开始.停止.删除.而这些容器都是相互隔离.互不可见的. 仓库:类似代码仓库,是Docker集中存放镜像文件的场所. 简单介绍一下在CentOS上安装Docker. 前置条件: 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值

  • linux如何利用crontab添加定时任务详解

    前言 linux 系统是由 crond这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的. crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 我们可以看下crond这个系统服务的状态: 从这里可以看出来crond服务是自启动(enabled),且正在运行的(active) 另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控

  • Linux下Docker安装配置教程

    在Linux上安装Docker,具体几个步骤: 环境:windows7 虚拟机:Oracle VMVirtualBox Linux: ubuntukylin-14.04.1-amd64.iso JDK:1.7 一.环境准备 step1:安装虚拟机 step2:修改宿主机BIOS配置,详细步骤见文章:http://www.jb51.net/article/96239.htm step3:在虚拟机上安装ubuntu系统.内存设置为4G,硬盘设置为100G,其余均按默认,一直点选下一步.直到系统安装成

随机推荐