420 likes | 608 Views
NAT 原理与基本应用. ISSUE 4.0. 前 言. NAT 技术实现了私网与公网的互访,为私网提供了安全保障,也给公网带来了安全隐患。. 学习指南. 开篇会介绍一些和 NAT 相关的基本概念 重点理解 NAT 的入口和出口转换流程. 参考资料. RFC 3022 Traditional IP Network Address Translator (Traditional NAT) RFC2993 Architectural Implications of NAT RFC 2663
E N D
NAT原理与基本应用 ISSUE 4.0
前 言 • NAT技术实现了私网与公网的互访,为私网提供了安全保障,也给公网带来了安全隐患。
学习指南 • 开篇会介绍一些和NAT相关的基本概念 • 重点理解NAT的入口和出口转换流程
参考资料 • RFC 3022 • Traditional IP Network Address Translator (Traditional NAT) • RFC2993 • Architectural Implications of NAT • RFC 2663 • IP Network Address Translator (NAT) Terminology and Considerations • RFC 3027 • Protocol Complications with the IP Network Address Translator
目 标 • 学习完此课程,您将会: • NAT基本概念 • NAT工作原理
内容介绍 第1章 NAT基本概念 第2章 NAT工作原理
NAT基本概念 • NAT(Network Address Translator) • 网络地址转换,即改变IP报文中的源或目的地址的一种处理方式; • 使一个局域网中的多台主机使用少数的合法地址访问外部资源,也可以按照要求设定内部的WWW、FTP、TELNET的服务提供给外部网络使用; • 有效的隐藏了内部局域网的主机IP地址,起到了安全保护的作用。
NAT基本概念 • 公有地址和私有地址 • 私有地址是指内部网络(局域网内部)的主机地址,而公有地址是局域网的外部地址(在因特网上的全球唯一的IP地址)。因特网地址分配组织规定以下的三个网络地址保留用做私有地址: • 10.0.0.0 - 10.255.255.255 • 172.16.0.0 - 172.31.255.255 • 192.168.0.0 - 192.168.255.255
NAT基本概念 • 地址池 • 地址池是由一些外部地址(全球唯一的IP地址)组合而成的,我们称这样的一个地址集合为地址池。在内部网络的数据包通过地址转换达到外部网络时,将会选择地址池中的某个地址作为转换后的源地址,这样可以有效利用用户的外部地址,提高内部网络访问外部网络的能力。
NAT基本概念 • 访问控制列表 • 访问列表是由ACCESS-LIST命令生成的,它依据IP数据包报头以及它承载的上层协议数据包头的格式定义了一定的规则,可以表示允许或者是禁止具有某些特征(包头数据可以描述的)的数据包,地址转换按照这样的规则判定哪些包是被允许转换或者是禁止转换,这样可以禁止一些内部的主机访问外部网络,提高一些网络的安全性问题。有关的详细概念可以参考防火墙中的有关内容。
NAT基本概念 • 转换关联 • 转换关联就是将一个地址池和一个访问列表关联起来,这种关联指定了“具有某些特征的IP报文”是使用“这样的地址池中的地址”,而另一些可能是使用另外一个地址池中的地址。在地址转换时,是根据这样的对应进行地址转换的。当一个内部网络的数据包文发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换的关联找到于之相对应的地址池,我们就可以把源地址转换成这个地址池中的某一个地址,完成地址转换。
NAT基本概念 • 内部服务器映射表 • 内部服务器映射表是由NAT SERVER命令配置的,允许用户依照自己的需要提供内部服务。在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址。
内容介绍 第1章 NAT基本概念 第2章 NAT工作原理
NAT的基本工作原理 • NAT在系统中的位置
NAT的基本工作原理 • NAT基本工作原理(以出口NAT为例) • 在IP层的出口处调用NAT
NAT的基本工作原理 • 在IP层的入口出调用NAT
NAT的基本工作原理 • 透明的地址分配 • 静态的地址分配指一个特定的主机使用固定的地址访问外部的网络。 • 动态的地址分配是指NAT在一些地址中挑选一个地址,做为内部网络的主机访问外部网络的IP地址。无论是那种,地址的分配应该对用户来说是透明的。
NAT的基本工作原理 • NAT的基本工作方式: • NAT-一对一的地址转换 • PAT-多对一的地址转换 • NPAT-多对多的地址转换
NAT的基本工作原理 • NAT方式
NAT的基本工作原理 • NAT方式 • 在出方向上转换IP报文头中的源IP地址,而不对端口进行转换。 • 在私有网络地址和外部网络地址之间建立一对一映射,实现比较简单 • 只转换IP报文头中的IP地址,所以适用于所有IP报文转换
NAT的基本工作原理 • PAT方式 • (10.0.0.10: 1001 - 200.0.0.66: 23) ------> • (100.100.100.100:12964 - 200.0.0.66: 23) • (200.0.0.66: 23 - 100.100.100.100:12964) ------> • (200.0.0.66: 23 - 2.0.0.10: 1001)
NAT的基本工作原理 • PAT方式 • PAT(Port Address Translation)方式的地址转换利用了TCP/UDP协议的端口号,进行地址转换。 • PAT方式的地址转换是采用了“地址+端口”的映射方式,因此可以使内部局域网的许多主机共享一个IP地址访问Internet。在私有网络地址和外部网络地址之间建立多对一映射。 • 不同的内部网地址,转换时采用相同的公网地址,并依靠不同的端口号来区分每一个内部网主机。
NAT的基本工作原理 • NPAT方式 • ( 10.0.0.10: 1001 - 200.0.0.66: 23) ------> • (100.100.100.100:12964 - 200.0.0.66: 23) • (192.168.1.1:2001 - 200.0.0.67: 25) • (200.0.0.66: 23 - 100.100.100.100:12964) ------> • (200.0.0.66: 23 - 2.0.0.10: 1001) • (200.0.0.67: 25 - 192.168.1.1:2001)
NAT的基本工作原理 • NPAT方式 • NPAT(Nat & Port Address Translation)方式的地址转换也是利用了TCP/UDP协议的端口号,进行地址转换。 • 私网地址和公网地址之间建立了多对多的映射关系。 • NPAT方式也是采用“地址+端口”的映射关系,因此可以使内部局域网的多个主机共享多个IP地址访问Internet。
NAT的基本工作原理 • 内部服务器 • 内部服务器是一种反相的地址转换。 • 地址转换屏蔽了内部网络中的主机,而内部服务器可以提供外部网络访问内部网络的服务。可以配置WWW、FTP、Telnet等服务。 • 内部服务器映射表是由NAT SERVER命令配置的,在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址。
NAT的基本工作原理 • 内部服务器
NAT的基本工作原理 • 利用ACL控制地址转换
NAT的基本工作原理 • 支持特殊协议(ALG应用程序网关) • 地址转换改变了IP数据包头的IP地址信息,如果数据报文的载荷中含有地址信息,地址转换就需要特殊处理,除了改变IP包头的地址信息以外还需要改变数据报文中载荷中的地址信息。比较典型的应用是FTP • 目前VRP NAT平台支持FTP、Radius、L2tp、PPTP、CMC几种特殊的协议。以及后来支持的H.323、SMTP、DNS等。
NAT的基本工作原理 • 以FTP ALG为例: • 在TCP的应用FTP中,包含两种连接:控制连接(会话)、数据连接(传输)。 • 其中控制连接是用大家都熟悉的21端口的TCP连接。数据连接却是由客户端“发起”的,它通过控制连接“通知”服务器它已经初始化完的端口,FTP服务器通过20端口(默认情况)将数据传送到客户端。
NAT的基本工作原理 • 以FTP ALG为例(续): • 在通知服务器的时候,会用到“PORT命令”,其中在这次TCP连接的数据中是这样的:“PORT 10,110,1,2,13,23\A\D”(表示:端口=13<<8 + 23,地址=10.110.1.2),于是服务器就可以知道客户端的数据连接的地址和端口了。在地址转换的过程中,对于PORT命令,我们除了改变IP地址以及端口信息,同时必须改变相应TCP中的数据,这样才可以保证使FTP服务器端可以把数据发送到正确的客户端。这样,有可能会使TCP数据包的长度发生变化,所以对于PORT命令还需要对TCP数据头中的序号(SEQUENCE NUMBER)进行调整。
NAT的基本工作原理 • NAT地址转换的DNS运用 • DNS服务器处于私网中 • DNS服务器处于公网中
NAT的基本工作原理 • DNS和内部服务器使用私网地址 • 由于内部www服务器和DNS服务器都在一个私网内,这样,当内部DNS进行为内部服务器进行域名到IP地址的转换时,会得到一个内部网的IP地址,然后DNS将这个内部地址返回给外部要访问的内部服务器的主机。而这个地址由于是私网地址,所以外部网访问不到。
NAT的基本工作原理 • DNS在公网上,内部主机无法使用域名访问内部服务器 • 当内部pc通过域名访问时,会到外部的DNS上请求IP地址,由于DNS是在外部,所以它会返回一个公网的地址或找不到地址。这样导致内部PC通过域名访问时,得到是个外部的地址或者得不到地址,导致内部用户不能正常访问内部服务器。 Qusetion:有什么好的方法可以解决DNS问题?
NAT的基本工作原理 • 以太网口支持地址池 • 在以太网环境中,如果地址池中的地址与接口的地址在不同的网段上,那么可以通过添加路由的方式来解决。而如果在同一个网段上,则对方不会缺省的将报文发送到此设备上,因为对方发现这是一个同网段的地址,会发送ARP请求,如果得不到响应,将认为这个地址不存在,当然报文将无法到达本端。因此需要对以太网接口做特殊处理,使得当地址池中的地址和接口的地址在同一个网段也可以支持。
NAT的基本工作原理 • 以太网口支持地址池(续) • 如果一个ARP请求报请求的地址不是以太网接口的IP地址,ARP模块将这个ARP请求丢弃,现在NAT模块提供一个函数,根据地址、接口判断这个地址是否是在这个接口上的一个地址池中的地址。如果是,告诉ARP对这个IP地址发送ARP应答,MAC地址就是这个以太网接口的MAC地址。
NAT的基本工作原理 • 支持多个方向上负载分担应用
NAT基本工作原理 • 地址转换的优点: • 地址转换可以使内部网络用户方便的访问Internet。 • 地址转换可以使内部局域网的许多主机共享一个IP地址上网。 • 地址转换可以屏蔽内部网络的用户,提高内部网络的安全性。 • 地址转换同样可以提供给外部网络WWW、FTP、Telnet服务。
NAT基本工作原理 • 地址转换的缺点: • 地址转换对于报文内容中含有有用的地址信息的情况很难处理。 • 地址转换不能处理IP报头加密的情况。 • 地址转换由于隐藏了内部主机地址,有时候会使网络调试变得复杂。 • 影响报文转发的效率。 • 无法确定源地址。 • 因为同样的内部地址在不同时刻的外部地址是不一样的,所以如果从内部网络攻击外部网络,将造成定位攻击源的困难。
NAT基本工作原理 • NAT地址转换的改进 • 为满足公安部以及一些企事业单位的需求,对NAT流(FLOW)信息进行日志记录,通过日志信息了解NAT转换前的地址信息。 • 用户日志只在NAT的出方向进行日志记录,根据报文的源IP地址、转换后的源IP地址、目的IP地址、源端口、转换后的源端口、目的端口、协议号等7元组来标识一条流,并生成该NAT流的日志记录。 • 根据这些日志信息进行分析查询,可以方便地追踪一些非法活动以及不正当的操作等,提高网络设备的可用性和安全性
问题 • NAT转换流程是怎样的? • 静态NAT与动态NAT如何实现? • 如何部署NAT? • NAT有哪些需要改进的地方?
总结 • NAT基本概念 • NAT转发流程 • NAT的优势和局限 总结