NAT转换技术(SNAT、MASQUERADE、DNAT策略)及代理服务(squid服务)

NAT地址转换技术

一、NAT网络拓扑图

二、实验环境 

本次实验均是在 RHEL6.5 虚拟机上进行的。

  • WEB-内网(Client)IP地址:192.168.10.150 (VMnet1)
  • 网关                          eth1的IP地址:192.168.10.1(VMnet1)
  •                                  eth2的IP地址:202.100.10.1(VMnet8)
  • WEB-外网(Client)IP地址:202.100.10.10 (VMnet8)

三、实验目的

使用不同的策略实现内外网的相互访问

  • SNAT、MASQUERADE(地址伪装策略):解决内网访问互联网
  • DNAT:实现Internet中的客户机访问局域网内的web服务器

四、实验步骤

一)前期准备

分别配置好web内网(Client)、网关、web外网(Client)的IP,关闭防火墙和selinux服务,并测试内外网的连通性。

1、配置WEB内网(Client)

2、配置网关

2.1 配置网卡eth1,网络适配器为VMnet1

2.2 配置网卡eth2,网络适配器为VMnet8

2.3 开启网关的路由转发功能

3、配置WEB外网(Client)

4、测试内外网的连通性

二)SNAT策略

SNAT:局域网主机共享单个公网IP地址接入Internet

SNAT策略的原理:修改数据包的源IP地址

1、修改web内网上的http服务器的访问页面

2、在web内网客户机上访问http://202.100.10.10,访问失败

3、在外网http服务器上查看访问日志

4、在网关添加使用SNAT策略的防火墙规则

5、再次在web内网客户机上访问http://202.100.10.10,访问成功

6、在外网http服务器上查看访问日志

三)MASQUERADE(地址伪装)策略应用

在某些情况下,网关的外网IP地址可能并不是固定的,例如使用ADSL宽带接入时。那么在这种网络环境下,应该如何设置SNAT策略呢?针对这种需求,iptables提供了一个名为MASQUERADE(伪装)的数据包控制类型,MASQUERADE 相当于SNAT的一个特例,同样用来修改(伪装)数据包源IP地址,只不过它能够自动获取外网接口的IP地址,而无需使用 ' —to-source ' 指定固定的IP地址。

MASQUERADE是被专门设计用于那些动态获取IP地址的连接的,比如,拨号上网、DHCP连接等。如果你有固定的IP地址,还是用SNAT 策略吧。

1、在网关添加 MASQUERADE策略 的防火墙规则(在下面例子中,' -o ' 指定的仍是外网接口eth2)

2、在WEB-内网访问WEB-外网,访问成功,并在WEB-外网服务端查看httpd日志

3、查看防火墙策略

四)DNAT策略 — 实现公网访问私网  

1、在Internet中的客户机上访问202.100.10.1,访问失败。

2、在网关中使用DNAT策略发布内网服务器

3、启用内网服务器的http服务

4、再次在Internet中的客户机上访问202.100.10.1,访问成功。

5、在内网服务器上查看访问日志

6、查看防火墙规则

代理服务

代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。

提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。

代理服务分为正向代理和反向代理。正向代理是内网访问外网,分为传统代理(默认)和透明代理。传统代理需在客户端上设置浏览器;透明代理不需要设置浏览器,但需要在网关上写一条iptables 策略。反向代理是外网访问内网。

正向代理服务

一、传统代理

1、配置代理服务器

1.1 在网关(代理服务器)上安装squid服务

1.2 修改squid的配置文件

1.3 启用squid服务

2、在WEB-内网(Client)浏览器上配置代理服务

“火狐浏览器”—> “编辑”—>“首选项”—>“高级”—>“网络”—>“连接” 设置

3、在WEB-内网Client访问WEB-外网,访问成功。

4、在WEB-外网查看httpd访问日志

由httpd日志可以看出,此数据包由网关外网接口发出,故源IP为网关外网接口所对应的IP地址

5、关闭squid服务,再次在WEB-内网Client访问WEB-外网,访问失败。

注:访问失败的记录,不会写入WEB-外网的httpd日志中去。

二、透明代理

1、在网关上设置透明代理

2、在网关上设置防火墙规则

3、在WEB-内网Client上将浏览器的连接设置为“无代理”,访问WEB-外网,访问成功。

4、关闭squid服务,再次在WEB-内网Client上访问WEB-外网,访问失败。

猜你喜欢

转载自blog.csdn.net/weixin_43625577/article/details/89042742
今日推荐