05网络协议配置 第2章配置NAT Internet面临的两个关键问题是|P地址空间的缺乏和路由的度量。网络地址翻译(NAT) 是一种允许一个组织的|P网络从外部看上去使用不同的P地址空间而不是它实际使用的 地址空间的特性。这样,通过将这些地址转换到全局可路由的地址空间,NAT允许一个 具有非全局可路由地址的组织连接到 Internet。NAT也允许一个更好的重编码策略,为组 织机构更改服务提供商或自动编码到C|DR块。NAT也在RFC1631中讲述。 21NAT概述 2.1.1NAT应用 NAT的应用主要有以下几种: 需要连接到 Interne网上,但是并非所有主机都有唯一的全局|P地址。NAT使得 使用非注册的P地址的私有P互联网络能够连接到互联网上。NAT一般在单连接 域(即内部网络)上和公共网络(即 internet)的边界路由器上配置。在发送报文到外 部网络之前,NAT将内部本地地址转换到全局唯一的P地址 必须改变内部地址。可以通过使用NAT完成地址的转换,而无须改变它们,因为 那将费时太多。 要实现基本的TCP传输负载均衡。可以通过使用TCP负载分布特性将单个全局|P 地址映射到多个本地|P地址。 作为连接问题的解决方案,只有在单连接的域中相对少的主机同时与域外通信时 NAT有实用价值。此时,只有在需要和外部通信时,内部少量主机的|P才被转换 成全局唯一的P地址。当不再使用时这些地址又可以被重新使用 212NAT的优点 NAT的一个明显的优点是,在不需要改变主机或路由器的情况下可以进行配置。如上所 述,如果在单连接域中的大量主机与域外通信,NAT可能是不实用的。并且,某些使用 嵌入式|P地址的应用,也不适用于NAT设备来进行翻译。这些应用可能不会透明地工作 或者完全(不经翻译的)通过一个NAT设备。NAT也隐藏主机的标识,这可能是一个优 点,也可能是一个缺点 配置了NAT的 router将至少有一个内部接口和一个外部接口。在一个典型的环境中,NAT 配置于单连接域和骨干域之间的出口 router。当一个报文离开该域时,NAT将本地有效 源地址转换到全局唯一地址。当报文进入到该域时,NAT将这个全局唯一目的地址转换 到本地地址。如果存在多个出口点,每一个NAT必须有相同的转换表。如果地址用完了 软件不能分配一个地址,那么它就丢弃该报文,并发出一个主机不可达的CMP报文。 配置了NAT的路由器不应该向外公布本地网络。然而,NAT从外部收到的路由信息可以 像通常那样在单域中公告
05-网络协议配置 第2章 配置 NAT Internet 面临的两个关键问题是 IP 地址空间的缺乏和路由的度量。网络地址翻译(NAT) 是一种允许一个组织的IP网络从外部看上去使用不同的IP地址空间而不是它实际使用的 地址空间的特性。这样,通过将这些地址转换到全局可路由的地址空间,NAT 允许一个 具有非全局可路由地址的组织连接到 Internet。NAT 也允许一个更好的重编码策略,为组 织机构更改服务提供商或自动编码到 CIDR 块。NAT 也在 RFC 1631 中讲述。 2.1 NAT概述 2.1.1 NAT 应用 NAT 的应用主要有以下几种: z 需要连接到 Internet 网上,但是并非所有主机都有唯一的全局 IP 地址。NAT 使得 使用非注册的 IP 地址的私有 IP 互联网络能够连接到互联网上。NAT 一般在单连接 域 (即内部网络)上和公共网络(即 Internet) 的边界路由器上配置。在发送报文到外 部网络之前,NAT 将内部本地地址转换到全局唯一的 IP 地址。 z 必须改变内部地址。可以通过使用 NAT 完成地址的转换,而无须改变它们,因为 那将费时太多。 z 要实现基本的 TCP 传输负载均衡。可以通过使用 TCP 负载分布特性将单个全局 IP 地址映射到多个本地 IP 地址。 z 作为连接问题的解决方案,只有在单连接的域中相对少的主机同时与域外通信时, NAT 有实用价值。此时,只有在需要和外部通信时,内部少量主机的 IP 才被转换 成全局唯一的 IP 地址。当不再使用时这些地址又可以被重新使用。 2.1.2 NAT 的优点 NAT 的一个明显的优点是,在不需要改变主机或路由器的情况下可以进行配置。如上所 述,如果在单连接域中的大量主机与域外通信,NAT 可能是不实用的。并且,某些使用 嵌入式 IP 地址的应用,也不适用于 NAT 设备来进行翻译。这些应用可能不会透明地工作 或者完全(不经翻译的)通过一个 NAT 设备。NAT 也隐藏主机的标识,这可能是一个优 点,也可能是一个缺点。 配置了 NAT 的 router 将至少有一个内部接口和一个外部接口。在一个典型的环境中,NAT 配置于单连接域和骨干域之间的出口 router。当一个报文离开该域时,NAT 将本地有效 源地址转换到全局唯一地址。当报文进入到该域时,NAT 将这个全局唯一目的地址转换 到本地地址。如果存在多个出口点,每一个 NAT 必须有相同的转换表。如果地址用完了, 软件不能分配一个地址,那么它就丢弃该报文,并发出一个主机不可达的 ICMP 报文。 配置了 NAT 的路由器不应该向外公布本地网络。然而,NAT 从外部收到的路由信息可以 像通常那样在单域中公告。 - 8 -
05网络协议配置 21.3NAT术语 如前所述,术语 inside是指某一组织机构所拥有的和必须进行转换的那些网络。在这个 域中,主机将会有一个地址空间中的地址,而在域外,配置NAT时,它们会在另一个地 址空间中拥有地址。第一个地址空间指的是局部地址空间,而第二个地址空间是全局地 址空间 类似地, outside是指单连接网络所连接的那些网络,一般不在一个组织的控制内。就像 在后面将要讨论的那样,外部网络中的主机地址也可以/需要翻译为某个地址并且可能有 局部地址和全局地址。 总之,NAT使用以下定义 内部局部地址——在内部网络上一个主机分配到的|P地址。这个地址可能不是网络信息 中心(NC或服务提供商所分配的合法P地址 内部全局地址一一个合法的|P地址(由NC或服务供应商分配),向外部网络描述一个 或多个本地P地址。 外部局部地址——出现在内部网络的一个外部主机的|P地址。不一定是合法地址,它可 以在内部网络中从可路由的地址空间进行分配 外部全局地址—一主机的拥有者在外部网络上分配给主机的IP地址。该地址可以从全局 可路由地址或网络空间进行分配。 214NAT规则匹配顺序 NAT在翻译报文时,首先要匹配已配置的NAT规则。NAT的规则主要有三大类型:内部 源地址映射、外部源地址映射和内部目的地址映射,每一个大类型下又有子类型。下面 以内部源地址映射为例,介绍NAT匹配规则子类型的顺序如下 (1)静态TCP心UDP端口映射规则。 (2)静态单个地址映射规则。 (3)静态网段映射规则。 (4)动态POOL地址映射规则 (5)PAT映射规则。 对于同一大类型下的相同子类的规则,对于三大规则类型之间,则按添加的先后顺序匹 配。在 show running时,NAT规则的显示顺序和实际匹配的顺序一样 22NAT配置任务表 在配置任何NAT翻译之前,必须知道内部局部地址范围和内部全局地址范围。下一节将 显示如何使用NAT执行以下可选任务
05-网络协议配置 2.1.3 NAT 术语 如前所述,术语 inside 是指某一组织机构所拥有的和必须进行转换的那些网络。在这个 域中,主机将会有一个地址空间中的地址,而在域外,配置 NAT 时,它们会在另一个地 址空间中拥有地址。第一个地址空间指的是局部地址空间,而第二个地址空间是全局地 址空间。 类似地,outside 是指单连接网络所连接的那些网络,一般不在一个组织的控制内。就像 在后面将要讨论的那样,外部网络中的主机地址也可以/需要翻译为某个地址并且可能有 局部地址和全局地址。 总之,NAT 使用以下定义: 内部局部地址——在内部网络上一个主机分配到的 IP 地址。这个地址可能不是网络信息 中心(NIC)或服务提供商所分配的合法 IP 地址。 内部全局地址——一个合法的 IP 地址(由 NIC 或服务供应商分配),向外部网络描述一个 或多个本地 IP 地址。 外部局部地址——出现在内部网络的一个外部主机的 IP 地址。不一定是合法地址,它可 以在内部网络中从可路由的地址空间进行分配。 外部全局地址——主机的拥有者在外部网络上分配给主机的 IP 地址。该地址可以从全局 可路由地址或网络空间进行分配。 2.1.4 NAT 规则匹配顺序 NAT 在翻译报文时,首先要匹配已配置的 NAT 规则。NAT 的规则主要有三大类型:内部 源地址映射、外部源地址映射和内部目的地址映射,每一个大类型下又有子类型。下面 以内部源地址映射为例,介绍 NAT 匹配规则子类型的顺序如下: (1) 静态 TCP/UDP 端口映射规则 。 (2) 静态单个地址映射规则 。 (3) 静态网段映射规则 。 (4) 动态 POOL 地址映射规则。 (5) PAT 映射规则。 对于同一大类型下的相同子类的规则,对于三大规则类型之间,则按添加的先后顺序匹 配。在 show running 时,NAT 规则的显示顺序和实际匹配的顺序一样。 2.2 NAT配置任务表 在配置任何 NAT 翻译之前,必须知道内部局部地址范围和内部全局地址范围。下一节将 显示如何使用 NAT 执行以下可选任务: - 9 -
05网络协议配置 翻译内部源地址 内部全局地址的重载 翻译重叠地址 提供TCP负载均衡 改变翻译超时及限制连接数目 监视和维护NAT 22.1翻译内部源地址 与网络外部通信时,使用这个特性将自己的|P地址翻译到全局唯一的|P地址。可按以下 方式配置静态或动态内部源地址翻译 静态翻译在内部本地地址和内部全局地址之间建立一对一的映射。当一个内部主机必须 被一个固定的外部地址访问时,静态转换是有用的。 动态翻译在一个内部本地地址和外部地址池之间建立一种映射。 下图表明一个路由器,它将一个网络内的源地址转换到网络外的源地址 nside Outside NAT table 22 图2-1NAT内部源地址转换 以下步骤描述了内部源地址翻译,如上图所示。 (1)主机1.1.1.1的用户建立一个到主机B的连接 (2)路由器接收的来自主机11.11的第一个数据包使路由器检查它的NAT表。 如果已配置一个静态翻译项,路由器转到第(3)步。 如果没有翻译项存在,路由器决定源地址(⑤SA)1.1.1.1必须动态翻译,然后从动态 地址池选择一个合法的、全局地址,最终产生一个翻译项。该类型项称做简单项 (3)路由器用转换项的全局地址替换主机1.1.1.1的内部本地源地址,并且转发该报文。 (4)主机B通过使用内部全局P目的地址(DA)2222接收报文并响应主机11.1.1
05-网络协议配置 z 翻译内部源地址 z 内部全局地址的重载 z 翻译重叠地址 z 提供 TCP 负载均衡 z 改变翻译超时及限制连接数目 z 监视和维护 NAT 2.2.1 翻译内部源地址 与网络外部通信时,使用这个特性将自己的 IP 地址翻译到全局唯一的 IP 地址。可按以下 方式配置静态或动态内部源地址翻译: 静态翻译在内部本地地址和内部全局地址之间建立一对一的映射。当一个内部主机必须 被一个固定的外部地址访问时,静态转换是有用的。 动态翻译在一个内部本地地址和外部地址池之间建立一种映射。 下图表明一个路由器,它将一个网络内的源地址转换到网络外的源地址: 图 2-1 NAT 内部源地址转换 以下步骤描述了内部源地址翻译,如上图所示。 (1) 主机 1.1.1.1 的用户建立一个到主机 B 的连接。 (2) 路由器接收的来自主机 1.1.1.1 的第一个数据包使路由器检查它的 NAT 表。 如果已配置一个静态翻译项,路由器转到第(3)步。 如果没有翻译项存在,路由器决定源地址(SA) 1.1.1.1 必须动态翻译,然后从动态 地址池选择一个合法的、全局地址,最终产生一个翻译项。该类型项称做简单项。 (3) 路由器用转换项的全局地址替换主机 1.1.1.1 的内部本地源地址,并且转发该报文。 (4) 主机 B 通过使用内部全局 IP 目的地址(DA)2.2.2.2 接收报文并响应主机 1.1.1.1。 - 10 -
05网络协议配置 5)路由器收到内部全局|P地址的报文时,它将内部全局地址作为一个关键字执行 NAT表的查询。然后将地址翻译到主机1.1.1.1的内部本地地址,并向主机1.1.1.1 转发报文 主机1.1.1.1接收该报文并继续会话。路由器为每一个报文执行第(2)步到第(5)步 1.配置静态转换 为了配置静态内部源地址转换,在全局配置方式下执行下列命令: p nat inside source static local-ip global在内部局部地址和内部全局地址之间建立 个静态转换 interface type number 指定内部接口 ip nat inside 将接口标记为连接到内部网的。 interface type numbe 指定外部接口。 ip nat outside 将接口标记为连接到外部网的 以上是最小配置。可以配置多个内部和外部接口。 2.配置动态转换 为配置动态内部源地址翻译,在全局配置方式下执行下列命令 命令 目的 ip nat pool name start-ip end-ip netmask|按需要定义一个将要分配的全局地址池 ip access-list standard access-list-name定义一个标准的访问列表,允许哪些地址可以 permit source source-mask ip nat inside source list access-list-name建立动态源地址转换,指定前一步定义的访问 pool name interface type number 指定内部接口 ip nat inside 将接口标记为连接到内部网的 interface type number 指定外部接口 p nat outside 将接口标记为连接到外部网的 注意: 访问表必须只允许列那些可以被转换的地址(记住:在毎一个访问表的结尾有一个隐含的 deny a”)。太随意的访问表可能导致不可预期的结果 关于动态内部源地址转换的示例,请参阅本章后面的“动态内部源地址转换举例”一节
05-网络协议配置 (5) 路由器收到内部全局 IP 地址的报文时,它将内部全局地址作为一个关键字执行 NAT 表的查询。然后将地址翻译到主机 1.1.1.1 的内部本地地址,并向主机 1.1.1.1 转发报文。 主机 1.1.1.1 接收该报文并继续会话。路由器为每一个报文执行第(2)步到第(5)步。 1. 配置静态转换 为了配置静态内部源地址转换,在全局配置方式下执行下列命令: 命令 目的 ip nat inside source static local-ip global-ip 在内部局部地址和内部全局地址之间建立一 个静态转换。 interface type number 指定内部接口。 ip nat inside 将接口标记为连接到内部网的。 interface type number 指定外部接口。 ip nat outside 将接口标记为连接到外部网的。 以上是最小配置。可以配置多个内部和外部接口。 2. 配置动态转换 为配置动态内部源地址翻译,在全局配置方式下执行下列命令: 命令 目的 ip nat pool name start-ip end-ip netmask 按需要定义一个将要分配的全局地址池。 ip access-list standard access-list-name permit source [source-mask] 定义一个标准的访问列表,允许哪些地址可以 转换。 ip nat inside source list access-list-name pool name 建立动态源地址转换,指定前一步定义的访问 列表。 interface type number 指定内部接口。 ip nat inside 将接口标记为连接到内部网的。 interface type number 指定外部接口。 ip nat outside 将接口标记为连接到外部网的。 注意: 访问表必须只允许列那些可以被转换的地址(记住:在每一个访问表的结尾有一个隐含的 “deny all”)。太随意的访问表可能导致不可预期的结果。 关于动态内部源地址转换的示例,请参阅本章后面的“动态内部源地址转换举例”一节。 - 11 -