欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux 搭建squid代理服务器

程序员文章站 2022-07-25 22:08:36
linux 搭建squid代理服务器 实验环境: 一台linux搭建Web服务器,充当内网web服务器(同时充当内网客户端) 202.100.10.100 一台linux系统充当网关服务器,两个网卡,开启路由转发 192.168.133.131和202.100.10.1 一台linux搭建Web服务 ......

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服务器

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器

防火墙snat和dnat

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

  linux 搭建squid代理服务器

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

tail -f /var/log/httpd/access_log

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器

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服务器)

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器

squid代理服务器

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

1.1传统代理服务器

启动squid服务  service squid start

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

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

   linux 搭建squid代理服务器

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器

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

 linux 搭建squid代理服务器

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(重定向)

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器

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

  linux 搭建squid代理服务器