案例研究 1

图 1 显示来自 192.168.0.0/16 LAN 的主机 PC1 和 PC2 无法对外部网络上的服务器 Svr1 和 Svr2 进行 ping 操作。

在开始对该问题进行故障排除时,请使用 show ip nat translations 命令查看目前 NAT 表中是否存在任何转换。 图 1 中的输出显示表中无任何转换。

show ip nat statistics 命令用于确定是否发生了任何转换。 它还可以确定应当在哪些接口之间进行转换。 如图 2 输出所示,NAT 计数器显示 0,即表示未发生任何转换。 通过将该输出与图 1 所示拓扑进行比较,会注意到路由器接口错误地定义为 NAT 内部接口或 NAT 外部接口。 也可以使用 show running-config 命令检验出这一错误配置。

在应用正确配置之前,必须从接口上删除当前 NAT 接口配置。

在正确定义了 NAT 内部接口和外部接口后,再次从 PC1 对 Svr1 执行 ping 操作,ping 操作仍然失败。 再次使用 show ip nat translationsshow ip nat statistics 命令验证是否仍未发生转换。

如图 3 所示,show access-lists 命令可用于确定 NAT 命令参考中的 ACL 是否允许所有必需的网络。 检查输出,输出指示用于定义需要转换的地址的 ACL 中使用了错误的通配符位掩码。 通配符掩码只允许 192.168.0.0/24 子网。 先删除访问列表,然后使用正确的通配符掩码重新配置。

在更正了配置后,再次从 PC1 对 Svr1 执行 ping 操作,这次 ping 操作成功。 如图 4 所示,show ip nat translationsshow ip nat statistics 命令用于验证是否发生了 NAT 转换。