HCIA-Security_V4.0 | 05_防火墙网络地址转换技术(NAT)

1 NAT(Network Address Translation)概述

产生背景

公有地址与私有地址的区别:

  • 公有地址:由专门的机构管理、分配,可以在 Internet 上直接通信的 IP 地址;
  • 私有地址:组织和个人可以任意使用,无法在 Internet 上直接通信,只能在内网使用的 IP 地址。

A、B、C 类地址中各预留了一些地址专门作为私有 IP 地址:

  • A 类:10.0.0.0 ~ 10.255.255.255
  • B 类:172.16.0.0 ~ 172.31.255.255
  • C 类:192.168.0.0 ~ 192.168.255.255

防火墙 NAT 的实现 - NAT 策略

  • NAT 策略由转换后的地址(地址池地址或出接口地址)、匹配条件和动作三部分组成。
  • 地址池类型包括源地址池目的地址池。根据 NAT 转换方式的不同,可以选择不同类型的地址池或者出接口方式;
  • 匹配条件包括源/目的地址、源/目的安全区域、出接口、服务和时间段等。根据不同的需求配置不同的匹配条件,对匹配上条件的流量进行 NAT 转换;
  • 动作包括源地址转换或者目的地址转换。无论源地址转换或者目的地址转换,都可以对匹配上条件的流量进行选择 NAT 转换或者不转换两种方式。
  • 多条 NAT 策略从上到下进行一次匹配。
  • 优先级:双向 NAT 策略 = 目的 NAT 策略 > 源 NAT 策略。新增的策略和被修改 NAT 动作的策略都会被调整到同类 NAT 策略的最后面,但匹配顺序可根据需要调整。

NAT 分类与优缺点

分类:

  • 源 NAT(Source NAT):适用于用户通过私网地址访问 Internet 的场景;
  • 目的 NAT(Destination NAT):适用于用户通过公网地址访问私网服务器的场景;
  • 双向 NAT(Bidirectional NAT):适用于通信双方访问对方的时候目的地址都不是真实的地址,而是 NAT 转换后的地址的场景。

优点:

  • 可以使一个局域网中的多台主机使用少数的合法地址访问外部的资源,也可以设定内部的 FTP、Telnet 等服务提供给外部网络使用,解决了 IP 地址日益短缺的问题;
  • 对于内外网络用户,感觉不到 IP 地址转换的过程,整个过程对于用户来说是透明的;
  • 对内网用户提供隐私保护,外网用户不能直接获得内网用户的 IP 地址、服务等信息,具有一定的安全性;
  • 通过配置多个相同的内部服务器的方式可以减小单个服务器在大流量时承担的压力,实现服务器负载均衡。

缺点:

  • 由于需要对数据报文进行 IP 地址的转换,涉及 IP 地址的数据报文的报头不能被加密。在应用协议中,如果报文中有地址或端口需要转换,则报文不能被加密;
  • 网络监管变得更加困难;
  • 限制某些具体应用。

处理流程

有些应用层协议在数据中携带 IP 地址信息,对它们作 NAT 时还要修改上层数据中的 IP 地址信息。

2 源 NAT 技术

概述

企业或家庭所使用的网络为私有网络,使用的是私有地址;
运营商维护的网络为公共网络,使用的是公有地址。
私有地址不能在公网中通信

解决方案:多个用户共享少量公网地址访问 Internet 的时候,可以使用源 NAT 技术实现。

  • 源 NAT 技术只对报文的源地址进行转换;
  • 源 NAT 技术可分为 NAT No-PATNPATEasy IP三元组 NAT 等。

配置 NAT 地址池时,可以在地址池中只配置一个 IP 地址。

2.1 NAT No-PAT(No-Port Address Translation,非端口地址转换)原理

一种只转换地址,不转换端口,实现私网地址与公网地址一对一的地址转换方式。

无法提高公有地址利用率。

适用于上网用户较少且公网地址数与同时上网的用户数量相同的场景。

公网地址由防火墙从配置的公网地址池中选择一个未使用的进行映射。配置了 No-PAT 参数的 NAT 功能,内网 IP 与外网 IP 进行一对一映射而不进行端口转换。外网用户可以向内网用户的任意端口主动发起连接。设备会为有实际流量的数据流建立 Server-map 表,用于存放内网 IP 地址与外网 IP 地址的映射关系。

2.2 NAPT(Network Address and Port Translation,网络地址端口转换)原理

一种同时转换地址和端口,实现多个私网地址共用一个或多个公网地址的地址转换方式。

有效提高公有地址利用率

适用于公网地址数量少,需要上网的私网用户数量大的场景。

不同私有地址(不同的私有地址,不同的源端口)映射到同一个公有地址(相同的公有地址,不同的源端口)。

源 NAT 的两种转换方式的区别

2.3 Easy IP

实现原理与 NAPT 相同,但没有地址池的概念,使用出接口的公网 IP 地址作为 NAT 转后的地址。

适用于不具备固定公网 IP 地址的场景。例如:拨号上网(PPPoE),即在以太网链路上运行 PPP 协议。

2.4 三元组 NAT

转换时同时转换地址和端口,实现多个私网地址共用一个或多个公网地址。

允许 Internet 上的用户主动访问私网用户,如文件共享、语音通信和视频传输等。

  • 当 Host A 访问 Host B 时,防火墙的处理流程如下:
    • 防火墙收到 Host A 发送的报文后,根据目的 IP 地址判断报文需要在 Trust 区域和 Untrust 区域之间流动,通过域间安全策略检查后继而查找域间 NAT 策略,发现需要对报文进行地址转换。
    • 防火墙从 NAT 地址池中选择一个公网 IP 地址,替换报文的源 IP 地址为 1.1.1.10,替换报文的端口号 2296,并建立会话表和 Server-map 表,然后将报文发送至 Host B。
    • 防火墙收到 Host B 响应 Host A 的报文后,通过查找会话表匹配到之前建立的表项,将报文的目的 IP 地址替换为 192.168.1.2,端口号替换为 6363,然后将报文发送至 Host A。
  • 防火墙上生成的 Server-map 表中存放 Host 的私网 IP 地址与公网 IP 地址的映射关系。
    • 正向 Server-map 表项保证内部 PC 转换后的地址和端口不变;
    • 反向 Server-map表项允许外部设备可以主动访问内部 PC。【!!!】这表似乎有点问题?

举例

需求描述

  • 某公司在网络边界处部署了防火墙作为安全网关。为了使私网中 10.1.1.0/24 网段的用户可以正常访问 Internet,需要在防火墙上配置源 NAT 策略;
  • 除公网接口 IP 地址之外,公司还向运营商申请了 6 个 IP 地址(1.1.1.10 ~ 1.1.1.15)作为私网地址转换后的公网地址。

配置思路

  • 配置接口 IP 地址和安全区域,完成网络基本参数配置;
  • 配置安全策略,允许私网指定网段与 Internet 进行报文交互;
  • 配置 NAT 地址池,配置时开启允许端口转换,以实现公网地址复用
  • 配置源 NAT 策略,实现私网指定网段访问 Internet 时自动进行源地址转换
  • 在防火墙上配置缺省路由,使私网与运营商路由器流量可以正常互通。

配置命令

将防火墙接口加入相应的安全区域。

配置安全策略,允许私网指定网段与 Internet 进行报文交互。

配置 NAT 地址池,配置时开启允许端口地址转换,实现公网地址复用。

配置源 NAT 策略,实现私网指定网段访问 Internet 时自动进行源地址转换。

  • 在防火墙上配置缺省路由,使私网流量可以正常转发至运营商的路由器。
  • 在私网主机上配置缺省网关,使私网主机访问 Internet 时,将流量发往防火墙。

3 目的 NAT 技术

概述

目的 NAT 技术将报文中的目的地址端口进行转换。通过目的 NAT 技术将公网 IP 转换成私网 IP 地址,使公网用户可以利用公网地址访问内部 Server

  • 当外网用户访问内部 Server 的报文到达防火墙时,防火墙将报文的目的 IP 地址由公网地址转换为私网地址。
  • 当回程报文返回至防火墙时,防火墙再将报文的源地址由私网地址转换为公网地址。

根据转换后的目的地址是否固定,目的 NAT 分为静态目的 NAT 和动态目的 NAT。

3.1 静态目的 NAT

转换前后的地址存在一种固定的映射关系,这种映射关系一旦建立,就会保持稳定,除非管理员手动修改。

当 Host 访问 Server 时,防火墙的处理过程如下:

  1. 防火墙收到 Internet 上用户访问 1.1.1.10(Server 对外发布的公网 IP 地址)的报文的首包后,将匹配 NAT 策略的报文的目的地址进行转换。
  2. 防火墙选择一个私网 IP 地址,替换报文的目的地址,同时可以选择使用新的端口替换目的端口号或者端口号保持不变。公网地址与私网地址一对一进行映射,防火墙从地址池中依次取出私网 IP 地址,替换报文的目的地址。
  3. 报文通过安全策略后,防火墙建立会话表,然后将报文发送至内网服务器。
  4. 防火墙收到 Server 响应 Host 的报文后,通过查找会话表匹配到步骤 3 中建立的表项,用原 Host 报文的目的地址(1.1.1.10)替换 Server 的 IP 地址(192.168.1.2),然后将报文发送至 Host。
  5. 后续 Host 继续发送给 Server 的报文,防火墙都会直接根据会话表项的记录对其进行转换。

3.2 动态目的 NAT

转换前后的地址不存在一种固定的映射关系。

当 Host 访问 Server 时,防火墙的处理过程如下:

  1. 防火墙收到 Host 发送的报文后,将匹配 NAT 策略的报文进行目的地址转换,从地址池中随机选择一个地址作为转换后的地址,将报文的目的 IP 地址由 172.16.16.2 转换为 192.168.1.2;
  2. 防火墙通过域间安全策略检测后建立会话表,然后将报文发送至 Server;
  3. 防火墙收到 Server 响应 Host 的报文后,通过查找会话表匹配到相应的表项,将报文的源地址替换为 172.16.16.2,然后将报文发送至 Host。

举例

需求描述

  • 某公司在网络边界处部署了防火墙作为安全网关。为了使私网 Web 服务器能够对外提供服务,需要在防火墙上配置目的 NAT;
  • 除了公网接口的 IP 地址外,公司还向运营商申请了 IP 地址(1.1.10.10)作为内网服务器对外提供服务的地址。网络环境如图所示,其中 Router 是运营商提供的接入网关。

配置思路

  • 配置接口 IP 地址和安全区域,完成网络基本参数配置;
  • 配置安全策略,允许外部网络用户访问内部服务器;
  • 通过目的 NAT,使得外网用户能够访问内部服务器时,防火墙将流量能够送给内网的服务器;
  • 在防火墙和 Router 上配置缺省路由,使内网服务器与运营商路由器流量可以正常互通。

配置命令

将防火墙接口加入相应的安全区域。

配置安全策略,允许外部网络用户访问内部服务器。

配置目的 NAT 地址池,配置时开启允许端口地址转换,实现公网地址复用。

配置目的 NAT 策略,使得外网用户能够访问内部服务器时,防火墙将流量能够送给内网的服务器。

4 双向 NAT 技术

转换过程中同时转换报文的源/目的 IP 地址。是源 NAT 和目的 NAT 的组合。

主要应用场景:

  • 外网用户访问内部服务器;
  • 私网用户访问内部服务器。

当外部网络中的用户访问内部服务器时,使用该双向 NAT 功能同时转换该报文的源和目的地址可以避免在内部服务器上设置网关,简化配置。

当 Host 访问 Server 时,防火墙的处理过程:

  1. 防火墙对匹配双向 NAT 处理的策略的报文进行地址转换;
  2. 防火墙从目的 NAT 地址池中选择一个私网 IP 地址替换报文的目的 IP 地址,同时使用新的端口号替换报文的目的端口号
  3. 判断是否满足安全策略的要求,通过安全策略后从源 NAT 地址池中选择一个私网 IP 地址替换报文的源 IP 地址,同时使用新的端口号替换报文的源端口号,并建立会话表,然后将报文发送至 Intranet;
  4. 防火墙收到 Server 响应 Host 的报文后,通过查找会话表匹配到建立的表项,将报文的源地址和目的地址替换为原先的 IP 地址,将报文源和目的端口号替换为原始的端口号,然后将报文发送至 Internet。

5 NAT ALG 与 NAT Server

5.1 NAT ALG(Application Level Gateway,应用级网关)

5.1.1 概述

NAT ALG 特定的应用协议的转换代理,可以完成应用层数据中携带的 IP 地址及端口号的转换。

和 ASPF 的区别:

  • ASPF 功能的主要目的是通过对应用层协议的报文分析,为其开放相应的包过滤规则,在非 NAT 场景下;
  • NAT ALG 的主要目的是为其开放相应的 NAT 规则,在 NAT 场景下;
  • 由于两者通常是结合使用的,所以使用同一条命令就可以将两者同时开启。

5.1.2 实现原理

【!!!】最后一步 FTP Server 向 Host 发起数据连接时的目的端口可能为 1084。

5.2 NAT Server

5.2.1 概述

也称静态映射。

在使用 NAT Server 功能时,外网的用户向内部服务器主动发起访问请求,该用户的 IP 地址和端口号都是不确定的,唯一可以确定的是内部服务器的 IP 地址和所提供服务的端口号。所以在配置 NAT Server 成功后,设备会自动生成 Server-map 表项,用于存放 Global 地址与 Inside 地址的映射关系。设备根据这种映射关系对报文的地址进行转换并转发。

另外,防火墙在进行地址映射的过程中还可以选择是否允许端口转换,是否允许服务器采用公网地址上网,以满足不同场景的需求。

5.2.2 举例

需求描述

某公司在网络边界处部署了防火墙作为安全网关。为了使 FTP 服务器能够对外提供服务,需要在防火墙上配置 NAT Server 功能。

除了公网接口的 IP 地址外,公司还向运营商申请了一个 IP 地址(1.1.1.10)作为内网服务器对外提供服务的地址。网络环境如图所示,其中 Router 是运营商提供的接入网关。

配置思路

  • 配置接口 IP 地址和安全区域,完成网络基本参数配置;
  • 配置安全策略,允许外部网络用户访问内部服务器;
  • 通过配置 NAT Server,分别映射 FTP 服务器;
  • 通过开启 FTP 协议的 NAT ALG 功能,完成应用层数据中携带的地址及端口号信息的转换;
  • 在防火墙和 Router 上配置缺省路由,使内网服务器与运营商路由器流量可以正常互通。

配置命令

将防火墙接口加入相应的安全区域。

配置安全策略,允许外部网络用户访问内部服务器。

配置 NAT Server 功能。

开启 FTP 协议的 NAT ALG 功能。

配置缺省路由,使内网服务器对外提供的服务流量可以正常转发至运营商的路由器。

黑洞路由(RTBH,远程触发黑洞路由):通过内部网关协议域,将恶意或不需要的流量重定向至“黑洞”(一个空接口,如 null0),用于抵御 DDoS。

  • 当 NAT Server 的 global 地址与公网接口地址不在同一网段时,必须配置黑洞路由;
  • 当 NAT Server 的 global 地址与公网接口地址在同一网段时,建议配置黑洞路由;
  • 当 NAT Server 的 global 地址与公网接口地址一致时,不会产生路由环路,不需要配置黑洞路由。

6 参考

拓展各 NAT 使用限制部分。
华为防火墙配置(防火墙NAT)-1风天云月-华为云

posted @ 2024-09-20 12:32  Guanz  阅读(35)  评论(0编辑  收藏  举报