linux 搭建squid代理服务器

时间:2023-01-19 18:28:32

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