新版CCNA官方认定教材清晰版 - - NAT - 图文

更新时间:2023-12-13 12:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CCNA 学习指南-640-802

第 11 章 网络地址转换

在本章中,我打算简要介绍网络地址转换(Network Address Translation,NAT)、 动态网络地址转换和端口地址转换(Port Address Translation,PAT),也称为网络 地址转换复用。当然,我将使用本书中已经用过的网络结构来举例说明网络地址 转换,接着以使用 SDM 结束本章,你将看到使用 SDM 配置 NAT 是非常容易的。 在开始本章

之前,阅读第 10 章将很有帮助,因为在我们的 NAT 配置中需要

使用访问列表。

广东韶关学院 王为群整理

778

CCNA 学习指南-640-802

何时使用 NAT

类似于无类域间路由选择(Classless InterDomain Routing,CIDR),NAT 的最 初目的是允许把私有 IP 地址映射到外部网络的合法 IP 地址,以减缓可用 IP 地 址空间的消耗。

从那时开始发现,在移植和合并网络、服务器负载共享以及创建“虚拟服务 器”中,NAT 是一个很有用的工具。因此本章中,我打算描述 NAT 的基本功能 和 NAT 的常用术语。

有些时候,NAT 真的减少了网络环境对公网 IP 地址数量的需要。当两个具 有相同内网地址配置的公司网络合并时,NAT 必不可少。当一个组织更换它的 互联网服务提供商(Internet Service Provider,ISP),而网络管理员不希望更改内 网配置方案时,NAT 同样很有用处。

以下是适于使用 NAT 的各种情况:

? 你需要连接到因特网,但是你的主机没有公网 IP 地址。 ? 你更换了一个新的 ISP,需要重新组织网络 ? 你需要合并两个具有相同网络地址的内网。

NAT 一般应用在边界路由器中。图 11.1 说明了 NAT 的应用位置。 现在你可能认为:“NAT 真的很棒。它是最帅、最好的网络配件,我要拥有 它。”好的,等一会儿。在 NAT 使用中有一些真正的障碍。哦—不要搞错我的意 思:有时我真的可以挽救你,但是有一些悲观的方面你必须要知道。关于使用 NAT 的优缺点,请对照表 11.1。

图 11.1 配置 NAT 的地

广东韶关学院 王为群整理

779

CCNA 学习指南-640-802

表 11.1 实施 NAT 的优点和缺点

优点 节约合法注册地址 减少地址重叠出现 增加连接因特网的灵活性 网络变更时避免地址的重新分配 缺点 地址转换产生交换延迟 无法进行端到端的 IP 跟踪 某些应用无法在实施 NAT 的网络中运行

说明:NAT 的最显著优点是节约你的合法注册地址。这也是我们为什么没有 用完 IPv4 地址的原因—想一想。

广东韶关学院 王为群整理

780

CCNA 学习指南-640-802

网络地址类型转换

在这一节,我打算和你一起学习三种类型的 NAT。

静态 NAT 这种类型的 NAT 是为了在本地和全球地址间允许一对一映射而 设计的。需要记住的是,静态 NAT 需要网络中的每台主机都拥有一个真实的因 特网 IP 地址。

动态 NAT 这种类型的 NAT 可以实现映射一个未注册 IP 地址到注册 IP 地址 池中的一个注册 IP 地址。你不必要像使用静态 NAT 那样,在路由器上静态映射 内部到外部的地址,但是你必须保证拥有足够的真实 IP,保证每个在因特网中 收发包的用户都有真实的 IP 可用。

复用 这是最流行的 NAT 配置类型。复用实际上是动态 NAT 的一种形

式,

它映射多个未注册的 IP 地址到单独一个注册的 IP 地址—一多对—通过使用不同 的端口。现在,这种方式为什么这么特别?好的,因为它也被称为端口地址映射 (PAT)。通过使用 PAT(NAT 复用),可实现上千个用户仅通过一个真实的全球 IP 地址连接到因特网—多么聪明,不是吗?认真地讲,使用 NAT 复用是我们至今 在互联网上没有使用完合法 IP 地址的真实原囚。真的—我不是在开玩笑。

说明:别担心,在本章的后面将展示如何配臵这三种类型的 NAT。

广东韶关学院 王为群整理

781

CCNA 学习指南-640-802

NAT 命名

在 NAT 中,使用的地址的名字描述起来很简单。在 NAT 转换后使用的地址 叫做全局地址。它们通常是使用在因特网上的公网地址,但是请记住,如果你不 进入因特网,就不需要公网地址。

在 NAT 转换之前的地址叫做本地地址。因此,内部本地地址实际上是尝试 连接到因特网的发送端主机的私有地址,而外部本地地址则是目标主机的地址。 目标主机地址通常是一个公网地址(网页地址、E-mail 服务器,等等),并且也是 数据包如何开始其旅程的地方。

在转换之后,内部本地地址叫做内部全局地址,而且外部全局地址变为目标 主机的名字。查看表 11.2,表中列出了所有这些术语,让你对 NAT 中使用的各 种名字有一个更清晰的认识。

表 11.2 NAT 术语

名字 内部本地 外部本地 内部全局 外部全局

意义 转换之前内部源地址的名字 转换之前目标主机的名字 转换之后内部主机的名字 转换之后外部目标主机的名字

广东韶关学院 王为群整理 782

CCNA 学习指南-640-802

NAT 工作原理

好的,现在我们看一下整个 NAT 的工作过程。图 11.2 描述了 NAT 的基本转 换。

在图 11.2 展示的例子中,主机 10.1.1.1 发送一个外出数据包到配置了 NAT 的边界路由器。边界路由器识别出此 IP 地址为内部本地 IP 地址。目标是外部网 络,它要转换内部本地 IP 地址,并把转换结果记录到 NAT 表中。

图 11.2 基本的 NAT 转换 这个数据包使用转换后新

的源地址被发送到外部接口。外部主机返回此包到

目标主机,NAT 路由器使用 NAT 表转换内部全局 IP 地址为内部本地 IP 地址。 整个过程就是这么简单。

让我们看一个使用复用或被称为端口地址转换的比较复杂的配置。我将使用 图 11.3 示范 PAT 如何工作。

使用复用,全部的内部主机被转换为一个单独的 IP 地址,因此叫做复用。 再次强调,我们没有使用完因特网上可用 IP 地址的原因就是因为复用(PAT)。 再

看一次图 11.3 的 NAT 表。除了内部本地 IP 地址和外部全局 IP 地址外, 我们用到了端口号。这些端口号帮助路由器识别哪一台主机接收返回的流量。 在

此例中,端口号被用在传输层,用于识别本地主机。如果我们必须要使用 IP 地址来识别源主机,那将被称为静态 NAT,而且我们将会使用完所有可用 IP 地址。PAT 允许我们使用传输层来识别主机,同时允许多达 65000 台主机(理论

广东韶关学院 王为群整理 783

CCNA 学习指南-640-802

上)使用一个真实的 IP。

图 11.3 NAT 复用示例(PAT)

静态 NAT 配置

让我们来看一个简单的基本静态 NAT 配置:

ip nat inside source static 10.1.1.1 170.46.2.2 !

interface Ethernet0

ip address 10.1.1.10 255.255.255.0 ip nat inside !

interface Serial0

ip address 170.46.2.1 255.255.255.0 ip nat outside !

在上面的路由器输出中,ip nat inside source 命令识别哪一个 IP 地址将被转 换。在这个配置例子中,ip nat inside source 命令在内部本地 IP 地址 10.1.1.1 与 外部全局 IP 地址 170.46.2.2 之间配置了一个静态转换。

在配置中继续向下看,我们会看到每个接口下方都有 ip nat 命令。命令 ip nat inside 识别接口为内部接口,命令 ip nat outside 识别接口为外部接口。当你回过 去看 ip nat inside source 命令,会看到这个命令把内部接口作为源地址或转换的

广东韶关学院 王为群整理

784

CCNA 学习指南-640-802

开始点。这个命令也可能这样使用—ip nat outside source—把你指定的接口作为 外部接口,并把这个外部接口作为源地址或是转换的开始点。

动态 NAT 配置

动态 NAT 意味着我们可以为内部的用户组提供真实的 IP 地址池。我们不使 用端口号,因此我们必须为每个尝试连接外网的用户提供真实的 IP 地址。

下面是一个动态 NAT 配置的示例输出:

ip nat pool todd 170.168.2.2 170.168.2.254 netmask 255.255.255.0 ip nat inside source list 1 pool todd !

interface Ethernet0

ip address 10.1.1.10 255.255.255.0 ip nat inside !

interface Serial0

ip address 170.168.2.1 255.255.255.0 ip nat outside !

access-list 1 permit 10.1.1.0 0.0.0.255 !

命令 ip nat inside source list 1 pool todd 告诉路由器把匹配 access-list 的 IP 地 址转换为名字叫 todd 的 IP NAT 地址池中的一个地址。在此情况中,访问列表并 不像以往那样,为了安全原因通过允许或拒绝来过滤流量。在这里,访问列表被 用来选择或指定触发流量。当触发流量与访问列表匹配时,触发流量被放入 NAT 过程进行转换。这是访问列表常见的使用方法,访问列表并不是始终只在接口上 做阻塞流量这种枯燥的工作。

命令 ip nat pool todd 170.168.2.2 170.168.2.254 创建了一个地址池,这个地址 池为那些需要 NAT 的主机提供地址。

PAT(复用)配置

最后一个示例展示如何配置内部全局地址复用。这是今天我们使用的典型的

NAT。现在很少使用静态或动态 NAT,除非我们静态地映射一个服务器。

广东韶关学院 王为群整理

785

CCNA 学习指南-640-802

下面是一个 PAT 配置的示例输出: ip nat pool globalnet 170.168.2.1 170.168.2.1

netmask 255.255.255.0

ip nat inside source list 1 pool globalnet overload !

interface Ethernet0/0

ip address 10.1.1.10 255.255.255.0 ip nat inside !

interface Serial0/0

ip address 170.168.2.1 255.255.255.0 ip nat outside !

access-list 1 permit 10.1.1.0 0.0.0.255

PAT 的好处是,存在于这种配置和前面的动态 NAT 配置间的仅有差异是 IP 地址池被缩减为一个 IP 地址,并且在 ip nat inside source 命令之后包含 overload 命令。

注意,在示例中被用做地址池的那个 IP 地址是外部接口 IP 地址。在家里或 是一个小的办公室里,你的 ISP 仅为你提供一个 ip,配置 NAT 复用真的很棒。 然而,你可以使用如 170.168.2.2 这样的另外一个地址,如果地址是可用的。这 在拥有很多内部用户以至于必须在外部接口有一个以上的复用 IP 地址的大规模 网络配置中非常有用。

NAT 的简单验证

一旦你配置一种需要类型的 NAT,典型的是复用(PAT),你就要有能力对配 置进行验证。

为了查看基本 IP 地址转换信息,使用下面的命令:

Router#show ip nat translation

当查看 IP NAT 转换信息的时候,你将看到许多转换是从相同的主机到相同 的目的主机之间的转换。这是典型的到 Web 的多个连接。

另外,可以使用 debug ip nat 命令验证 NAT 配置。输出结果中的每个调试行 将显示发送端地址、转换、目的地址:

广东韶关学院 王为群整理

786

CCNA 学习指南-640-802

Router#debug ip nat

如何从转换表中清除 NAT 条目?使用 clear ip nat translation 命令。为了从

NAT 表中清除所有的条目,在命令的结尾使用星号(*)。

广东韶关学院 王为群整理

787

CCNA 学习指南-640-802

测试并诊断 NAT 故障

Cisco 的 NAT 给你一些重要的能力—并且不需要费太多的力气,因为配置真 的比较简单。但是我们都知道,没有什么事是完美的,因此为了防止出现错误, 你需要对下列可能的障碍做出判断:

? 检查动态地址池—它们是否由正确的地址范围组成 ? 检查动态地址池是否有重叠

? 检查被用来静态映射的地址与动态地址池中的地址是否重叠 ? 确定你的访问列表指定正确的转换地址

? 确信列表中该出现的地址没有遗漏,不该出现的地址没有被加入 ? 确信内部和外部接口都已经恰当地界定

需要记住的一点是,在配置新的 NAT 时,最常见的问题和 NAT 没有特别的 关系—它通常涉及到路由选择的问题。因此,确信那是因为你正在改变包中的源 和目的地址,路由器在转换后才知道如何处理新的地址!

想像 NAT 表可以控制没有限制数量的映射。实际上,无论如何,这涉及到 类似内存和 CPU 或是可用地址或端口的边界设置等,实事上,正是这些因素导 致在条目数量上有一些限制。每个 NAT 映射占用大约 160 字节的内存,并且有 时候—但是不是很经常—条目的数景由于性能或是因为策略约束而必须被限制。 对于此类情况,需要使用 ip nat translation max-entries 命令来帮助。

另一个便于用来排除故障的命令是 show ip nat statistics。执行此命令你会得 到 NAT 配置的汇总情况,并且对活动的转换类型进行计数。同时,会把计数结 果与存在的映射匹配,对于没有的—后来会为它尝试创建一个映射。这个命令也 会显示超过期限的转换。

如果你想检查动态地址池,包括它们的类型、可用地址的总数、已经分配了 多少地址和失败了多少,加上已经转换的个数,可使用 pool (refcount)命令。

你知道可以手工从 NAT 表中清除动态 NAT 条目吗?这样做非常方便,如果 你需要去除一个特定的无用条目,就不用坐着等待其过期。手工清除在清除整个

NAT 表重新配置地址池的时候非常有用。 你同样也需要知道,如果地址池中的地

址已经被映射,Cisco IOS 软件便不

允许你更改或删除 NAT 表中的地址池。命令 clear ip nat translations 用来清除条

广东韶关学院 王为群整理

788

CCNA 学习指南-640-802

目—经由全局或本地地址,或是通过 TCP 和 UDP 转换(包括端口)指定一个单独 条目,或者输入星号(*)删除整个条目表。但是要知道,如果你这么做了,仅动 态条目被删除,因为此命令不删除静态条目。

哦,还有更多—对任何内部设备有响应的任何外部设备的数据包目的地址就 是通常所说的 IG 地址。这意味必须在 NAT 表中保存初始化映射,这样,所有从 特定连接到达的数据包才能一直被转换。在 NAT 表中保存条目也将减少相同的 机器发送数据包到相同的外部目标时进行重复查找的次数。

这就是我要表达的意思:当一个条目第一次被放入 NAT 表中,计时器开始 计时,计时器持续的时间就是转换的有效时间。每次包经过路由器被特定条目转 换后,计时器被重置。如果计时器计时期满,条目将从 NAT 表中删除,并且动 态分配的地址将回到地址池中等待再次分配。Cisco 默认转换超时为 86400 秒(24 小时),但是可以使用 ip nat translation timeout 命令对此进行更改。

在我们继续介绍配置内容之前,实际使用一下刚刚讲到的命令,通过一些

NAT 示例看看你是否可以根据需求规划配置。正式开始,观察图 11.4 并且问自 己两个问题:此例中在哪里实施 NAT,配置何种类型的 NAT?

图 11.4 NAT 示例

在图 11.4 中,NAT 配置被放在公司路由器上,并且使用动态 NAT 复用(PAT) 配置。在这个 NAT 示例中,使用了何种类型 NAT?

ip nat pool todd-nat 170.168.10.10 170.168.10.20 netmask 255.255.255.0 上面的命令使用动态 NAT。命令中 pool 给出了答案,另外在地址池中有不 止一个地址,也意味着我们可能不使用 PAT 配置。在下一个 NAT 示例中,我们 在图 11.5 中观察,测试是否可以规划出所需的配置。

广东韶关学院 王为群整理

789

CCNA 学习指南-640-802

图 11.5 的示例中展示了需要配置 NAT 的边界路由器,并且允许使用 6 个公

网 IP 地址,192.1.2.109~192.1.2.114。然而,在内部网络中,我们拥有 63 台主机, 使用的私有地址为 192.168.10.65~192.168.10.126。在边界路由器上应该使用什么 NAT 配置呢?

图 11.5 另一个 NAT 示例 这里两个不同的

答案都可以工作,但是下面的将是我的第一选择:

ip nat pool Todd 192.1.2.109 192.1.2.109 netmask 255.255.255.248

access-list 1 permit 192.168.10.64 0.0.0.63 ip nat inside source list 1 pool Todd overload

命令 ip nat pool Todd 192.1.2.109 192.1.2.109 netmask 255.255.255.248 设置地 址池的名字为 Todd,并且为 NAT 使用地址 192.1.2.109 创建了一个动态地址池。 为了替换 netmask 命令,你可以使用 prefix-length 29 语句(我知道你在想什么, 但是不行,不能在路由器的接口上也这么做)。第二个答案将与第一个具有相同 的结果,也仅使用 192.1.2.109 作为你的内部全局地址,但是你可以这么输入并 使它工作:ip nat pool Todd192.1.2.109 192.1.2.114 netmask 255.255.255.248。这么 做是在浪费,因为第二个到第六个地址只有在 TCP 端口号冲突的情况下才会被 使用。

如果你不理解设置 access-list 的第二行命令,请查看第 10 章“安全”。 命令 ip nat inside source list 1 pool Todd overload 通过 overload 命令使用端口 地址转换(PAT)设置了动态地址池。

但是要根据适当的接口确定添加 ip nat inside 和 ip nat outside 语句。

广东韶关学院 王为群整理

790

CCNA 学习指南-640-802

在网络中配置 NAT

好的,现在继续开始配置,并且使用 64.1.1.4/30 网络连接 Corp 路由器和 R3 路由器,使用 64.1.l.8/30 网络把 LAN F0/0 连接至 R3 路由器。在 NAT 开始工作 后,通过本章,你将学会如何使用验证命令。

网络如图 11.6 所示,在表 11.3 中列出了正在使用的内部本地地址。

图 11.6 用新地址的互联网络

我知道—图 11.6 展示了我们曾使用的相同的网络,但是这里有一些不同。在

Corp 路由器和 R3 路由器之间的连接现在使用了全局 PAT 地址。它们不能通信, 因为其他的 Corp 连接使用私有 IP 地址。(在真实的环境中,ISP 将会阻塞这些私 有 IP 地址,对吗?所以让我们使它们工作吧!)记住,当使用 NAT 时,我们称

它们为“内部本地”,意思是在转换之前,我们的 ISP 阻塞私有 IP 地址范围。我 们将怎么办?我们首先需要在 Corp 路由器上配置 NAT,让我们开始吧。

广东韶关学院 王为群整理

791

CCNA 学习指南-640-802

表 11.3 IP 网络中的网络地址

路由器 Corp Corp Corp Corp Corp Corp R1 R1 R1 R1 R1 R2 R2 R2 R2 R3 R3 R3 R3 871W 871W 871W 1242AP 1242AP 网络地址 接口 地址 10.1.1.0 10.1.2.0 10.1.3.0 10.1.4.0 64.1.1.4/30 F0/1 S0/0/0 S0/0/1(DCE) S0/1/0 S0/2/0 S0/0/0 (DCE) S0/0/1 F0/0 F0/1 S0/2/0 (DCE) D0/3/0 10.1.2.0 10.1.3.0 10.1.6.0 10.1.7.0 10.1.1.1 10.1.2.1 10.1.3.1 10.1.4.1 64.1.1.5/30 10.1.2.2 10.1.3.2 10.1.6.1 10.1.7.1 10.1.4.2 10.1.8.1 10.1.9.1 64.1.1.6/30 64.1.1.9/30 10.1.11.1 10.1.11.2 10.1.12.1 10.1.1.2 10.1.4.0 10.1.8.0 10.1.9.0 64.1.1.4/30 64.1.1.8/30 10.1.11 F0/0 S0/0/1 (DCE) F0/0 F0/1 Vlan 1 Dot11radio0 BVI 1 10.1.11.0 10.1.12.0 10.1.1.0

现在我们都知道,我们需要所有连接到 Corp 路由器的网络可以和所有连接 到使用 64.1.1.5/30 新全局地址的 R3 路由器的网络进行通信,对吗?你点头认为 是—好的!我们开始吧:

Corp#config t

Corp(config)#ip nat pool Todd 64.1.1.5 64.1.1.5 net 255.255.255.252 Corp(config)#access-list 1 permit 10.1.0.0 0.0.255.255 Corp(config)#ip nat inside source list 1 pool Todd overload 在添加接口配置之前,注意我使用 Corp 路由器的外部接口的 IP 地址 64.1.1.5 作为地址池的开始和结束地址。我这么做是因为,使用 PAT 时它可以很好地工

广东韶关学院 王为群整理

792

CCNA 学习指南-640-802

作。

无论如何,不要忘记在所有接口配置 NAT: Corp(config)#int s0/2/0

Corp(config-if)#ip nat outside Corp(config-if)#int f0/1 Corp(config-if)#ip nat inside Corp(config-if)#int s0/0/0 Corp(config-if)#ip nat inside Corp(config-if)#int s0/0/1 Corp(config-if)#ip nat inside

Corp(config-if)#int s0/1/0 Corp(config-if)#ip nat inside Corp(config-if)#

现在 PAT 已经配置,而且所有的接口已经设置完毕,让我们从主机 C 远程登 录到主机 D 等等,首先应该从一台主机 ping 另一台主机,接着再 telnet:

Corp#sh ip nat trans Pro Inside global icmp 64.1.1.5:271

Inside local 10.1.9.2:271

Outside local 64.1.1.10:271 10.1.9.2:11000

Outside global

64.1.1.10:23

64.1.1.10:271 tcp 64.1.1.5:11000

64.1.1.10:23 Corp#

现在我将在 Corp 路由器上开始 debug ip nat,接着从主机 B telnet 至主机 D。 我们看一看 Corp 路由器的输出:

Corp#debug ip nat

*May 9 22:57:47.679: NAT*: TCP s=11000->1024, d=23

*May 9 22:57:47.679: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [0] *May 9 22:57:47.683: NAT*: TCP s=23, d=1024->11000

*May 9 22:57:47.683: NAT*: s=64.1.1.10, d=64.1.1.5->10.1.6.2 [0] *May *May *May *May *May *May *May *May *May

9 22:57:47.699: NAT*: TCP s=11000->1024, d=23

9 22:57:47.699: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [1] 9 22:57:47.703: NAT*: TCP s=23, d=1024->11000

9 22:57:47.703: NAT*: s=64.1.1.10, d=64.1.1.5->10.1.6.2 [1] 9 22:57:47.707: NAT*: TCP s=11000->1024, d=23

9 22:57:47.707: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [2] 9 22:57:47.711: NAT*: TCP s=11000->1024, d=23

9 22:57:47.711: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [3] 9 22:57:47.719: NAT*: TCP s=23, d=1024->11000

793

广东韶关学院 王为群整理

CCNA 学习指南-640-802

*May *May *May *May *May *May *May *May *May *May *May *May *May *May *May *May *May Corp#

9 22:57:47.719: NAT*: s=64.1.1.10, d=64.1.1.5->10.1.6.2 [2] 9 22:57:47.723: NAT*: TCP s=23, d=1024->11000

9 22:57:47.723: NAT*: s=64.1.1.10, d=64.1.1.5->10.1.6.2 [3] 9 22:57:47.723: NAT*: TCP s=11000->1024, d=23

9 22:57:47.723: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [4] 9 22:57:47.731: NAT*: TCP s=11000->1024, d=23

9 22:57:47.731: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [5] 9 22:57:47.735: NAT*: TCP s=23, d=1024->11000

9 22:57:47.735: NAT*: s=64.1.1.10, d=64.1.1.5->10.1.6.2 [4] 9 22:57:47.735: NAT*: TCP s=11000->1024, d=23

9 22:57:47.735: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [6] 9 22:57:47.747: NAT*: TCP s=11000->1024, d=23

9 22:57:47.747: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [7] 9 22:57:47.951: NAT*: TCP s=11000->1024, d=23

9 22:57:47.951: NAT*: s=10.1.6.2->64.1.1.5, d=64.1.1.10 [8] 9 22:57:48.103: NAT*: TCP s=23, d=1024->11000

9 22:57:48.103: NAT*: s=64.1.1.10, d=64.1.1.5->10.1.6.2 [5]

好的,至少这是一个很有趣的输出结果!在第一行显示主机 B 使用的源和目 的端口号。第二行显示通过使用最后列出的外部本地/全局地址,将内部源地址 转换为内部全局地址—接着,从外部主机返回到主机 B。我们使用 show ip nat translation 命令验证所有的转换:

Corp#sh ip nat trans Pro Inside global tcp 64.1.1.5:11000

Inside local 10.1.9.2:11000

Outside local 64.1.1.10:23

Outside global 64.1.1.10:23

Corp#

现在,我们在 Corp 路由器上使用 show ip nat statistics 命令:

Corp#sh ip nat stat

Total active translations: 2 (0 static, 2 dynamic; 2 extended) Outside interfaces: Serial0/2/0 Inside interfaces:

FastEthernet0/1, Serial0/0/0, Serial0/0/1, Serial0/1/0 Hits: 269 Misses: 13

CEF Translated packets: 227, CEF Punted packets: 0 Expired translations: 27 Dynamic mappings:

广东韶关学院 王为群整理 794

CCNA 学习指南-640-802

-- Inside Source

[Id: 1] access-list 1 pool Todd refcount 2 pool Todd: netmask 255.255.255.252

start 64.1.1.5 end 64.1.1.5

type generic, total addresses 1, allocated 1 (100%), misses 0

Queued Packets: 0 Corp#

这里我们可以看到我们的配置汇总、两个活动的转换,以及正在使用的内部 和外部接口。输出结果的底部列出了地址池。所有这些看起来都很正常,因此是 使用 SDM 配置 NAT 的时候了。

广东韶关学院 王为群整理

795

CCNA 学习指南-640-802

使用 SDM 配置 NAT

使用 SDM 配置 NAT 比想像的要容易得多—当然对你来说更是如此,因为通 过第 10 章学习你对此已有所了解。无论如何,你所要做的就是单击 Configure→ NAT,出现很方便的向导,它会手把手教你创建一个 NAT 规则。这个向导类似 于第 10 章中创建防火墙时的那个向导,同时也像第 10 章一样,有不止一个向导, 你需要选择基本的和高级的向导。

基本 NAT 如果你的可信网需要访问因特网,且可信网中有一些基本 PC/ 主机,则使用这个向导。此向导将引导你创建一个基本的 NAT 配 置。

高级 NAT 如果你的内部网络中拥有隔离区(DMZ)或是服务器,同时接受外 网的访问,你绝对需要选择高级 NAT 配置。

第一个屏幕是创建 NAT 配置屏幕。

从这里开始,我将简单地连接并创建一个基本 NAT。之后,单击 Launch the Selected Task 按钮,得到下一个屏幕,告诉我们基本 NAT 向导接下来要做的事。

广东韶关学院 王为群整理

796

CCNA 学习指南-640-802

像你猜到的一样,它很棒—所有我要做的就是单击 Next 按钮,得到一个可 以选择内部和外部地址的屏幕。看起来熟悉?好的—这说明你很用心。

在选择了内部和外部接口之后,单击 Next 按钮。NAT 地址池创建完成,所 有接口指派了内部或外部配置,就像刚才一样!

广东韶关学院 王为群整理

797

CCNA 学习指南-640-802

最后,单击 Finish 按钮。让我们看一看路由器上都做了什么。下面是接口的 配置:

!

interface FastEthernet0/0

ip address 1.1.1.1 255.255.255.0 ip nat inside

ip virtual-reassembly duplex auto speed auto !

interface FastEthernet0/1

description Connection to 1242 AP ip address 10.1.1.1 255.255.255.0 ip nat inside

ip virtual-reassembly duplex auto

speed auto !

[output cut] !

interface Serial0/2/0

description Connection to R3$FW_OUTSIDE$

广东韶关学院 王为群整理

798

CCNA 学习指南-640-802

ip address 64.1.1.5 255.255.255.252 ip access-group 103 in

ip verify unicast reverse-path ip nat outside

ip inspect SDM_LOW out ip virtual-reassembly

clock rate 2000000 !

[output cut]

下面是 ip nat inside source list 被创建:

ip nat inside source list 2 interface Serial0/2/0 overload !

[output cut]

最后,为每一个内部网络接口创建访问列表:

access-list 2 remark SDM_ACL Category=2 access-list 2 permit 1.1.1.0 0.0.0.255 access-list 2 permit 10.1.4.0 0.0.0.255 access-list 2 permit 10.1.1.0 0.0.0.255 access-list 2 permit 10.1.2.0 0.0.0.255 access-list 2 permit 10.1.3.0 0.0.0.255

我知道我已经在本书中重复了一遍又一遍,但是我喜欢重复这个是因为要确

保你知道,SDM 在创建类似 ACL、VPN、NAT 的高级配置中,真的是一个非常 有用的工具。这点就是我需要你牢牢记住的,接下来的两章也会再次证明这一点!

广东韶关学院 王为群整理

799

CCNA 学习指南-640-802

本章小结

这确实是非常有趣的章节。快点—承认它吧!你学到了许多关于网络地址转 换(NAT)以及如何配置静态 NAT、动态 NAT 和端口地址转换(PAT)—也叫做 NAT 复用的配置。

我也描述了如何在网络中应用每种类型 NAT,以及每种类型的配置方法。另 外,为了便于你理解,我还使用了本书中已经出现的网络,简单地在上面添加了 NAT 复用(PAT)。

同时,本章还使用了一些验证和故障排除命令,最后还展示了如何使用 SDM 快速容易地完成 NAT 的配置。

广东韶关学院 王为群整理

800

CCNA 学习指南-640-802

考试要点

理解 NAT 术语。 这对你来说像是新闻一样,因为之前我没有提及,但是 NAT 有很多别名。在行业中,它被认为是网络伪装,IP 伪装,但其实就是 Native Address Translation (本机地址转换)的缩写。无论你叫它什么,基本上,它们都涉 及到 IP 包经过路由器或是防火墙时,重新改写 IP 包的源/目的地址的过程。把重 点放在发生的过程上并理解它(例如,重要的部分),你就可以确信掌握它了!

记住 NAT 的三种方式。 三种方式是静态、动态和复用,也叫做端口地址 转换(PAT)。

理解静态 NAT。 这种类型的 NAT 被设计为允许本地和全局地址一对一映射。 理解动态 NAT。 此类型使得你可以在一个未注册的 IP 地址与注册 IP 地址 池中的一个注册 IP 地址之间进行映射。

理解复用。 复用实际是动态 NAT 的一种形式,通过使用不同的端口,映射 多个未注册 IP 到一个注册的 IP 地址—多对一,也被称为端口地址转换(PAT)。

广东韶关学院 王为群整理

801

本文来源:https://www.bwwdw.com/article/ase5.html

Top