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服务器上查看日志

  

最新文章

  1. 再谈如何使用Taglist?
  2. ajax提交form表单
  3. setTimeout()与setInterval()
  4. acm算法模板(3)
  5. Spring源码入门——XmlBeanDefinitionReader解析
  6. IDE开发<LER-Studio>(1)::UI设计
  7. 学习PHP时的一些总结(二)
  8. Lazarus解决含中文文件名或路径的使用问题
  9. JavaSE学习总结第10天_面向对象5
  10. s7-300 第二讲
  11. php中查询mysql如何在IN array中用
  12. js添加下拉列表的模糊搜寻
  13. JDK1.8中HashMap实现
  14. Json技术使用代码示例
  15. Spring Security的几个重要词
  16. [学习] 从 函数式编程 到 lambda演算 到 函数的本质 到 组合子逻辑
  17. 敏捷软件开发——第8章 SRP:单一职责原则
  18. Mac添加命令别名
  19. 使用AutoMapper实现Dto和Model的自由转换(中)
  20. leadJS初构建

热门文章

  1. 学习笔记—HTML基础标签
  2. salesforce初探
  3. 云计算CRM软件厂商,你青睐哪家?
  4. 事务及其特性ACID
  5. python 自学之路-Day Two
  6. winform 实现类似于TrackBar的自定义滑动条,功能更全
  7. 模式识别笔记3-支持向量机SVM
  8. WinServer配置MySQL主从同步
  9. Microsoft Power BI 学习笔记
  10. 我眼中的 Nginx(一):Nginx 和位运算