第七部分,也是本次更新的最后一部分,NAT(Network Address Translation),即地址解析协议。通俗理解,地址解析协议就是当一个单位只拥有一个公网ip地址,当内网中的主机想要访问因特网时,可以通过在NAT路由器上将其本地地址转换成全球IP地址的方式实现,从而实现内网中主机都可以访问因特网。

网络拓扑图如下:

在还没有配置nat的情况下,pc0和pc1是不能访问pc2的,因为R0右边接口使用的是202.116.66.1,而下面端口使用192.168.1.1,从pc0发出的icmp可以到达pc2,因为路由表中有到202.116.78.0/24的路由信息,但是从pc2回来的数据包找不到pc0,因为三台路由器上没有到192.168.1.0/24的路由信息,所以需要把192.168.1.2转化成和R0右边接口的地址,就可以实现访问pc2。右边同理,只是变成了多个内网ip对应一个外网ip,随机动态分配。

左边部分使用静态地址转换协议,即一个内网ip只能对应一个公网ip,右边部分使用动态转换协议,即一段内网ip对应一个公网IP。通过配置,使pc0和pc1都能访问pc2.

基础配置

#r0

en
conf t
int f0/0
ip address 192.168.1.1 255.255.255.0
no shut
int s0/0/0
ip address 202.116.66.1 255.255.255.0
no shut
exit
router ospf 1
network 192.168.1.0 0.0.0.255 area 1
network 202.116.66.0 0.0.0.255 area 1

#r1

en
conf t
int s0/0/0
ip add 202.116.66.2 255.255.255.0
no shut
int s0/0/1
ip add 202.116.64.1 255.255.255.0
no shut
int f0/0
ip add 202.116.78.1 255.255.255.0
no shut
exit
router ospf 1
network 202.116.66.0 0.0.0.255 area 1
network 202.116.64.0 0.0.0.255 area 1
network 202.116.78.0 0.0.0.255 area 1

#r2

en
conf t
int f0/0
ip address 10.0.1.1 255.255.255.0
no shut
int s0/0/0
ip address 202.116.64.2 255.255.255.0
no shut
exit
router ospf 1
network 10.0.1.0 0.0.0.255 area 1
network 202.116.64.0 0.0.0.255 area 1

静态NAT
#r0

exit
ip nat inside source static 192.168.1.2 202.116.67.1
int f0/0
ip nat inside
int s0/0/0
ip nat outside
#r1
exit
ip route 202.116.67.0 255.255.255.0 202.116.66.1

##动态NAT
#r2

exit
ip nat pool abin 202.116.65.1 202.116.65.10 netmask 255.255.255.0
access-list 1 permit 10.0.1.2 0.0.0.255
ip nat inside source list 1 pool abin
int f0/0
ip nat inside
int s0/0/0
ip nat outside

#r1

ip route 202.116.65.0 255.255.255.0 202.116.64.2

结果检测:

使用pc0 ping 通 pc2:

使用pc1 ping 通 pc2:

NAT(地址解析协议)的更多相关文章

  1. ARP (地址解析协议)

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机, ...

  2. 《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  4. 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP

    1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...

  5. ARP:地址解析协议

    ARP是地址解析协议,简单语言解释一下工作原理.1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系.2:当源主机要发送数据时,首先检查ARP列表中 ...

  6. arp:地址解析协议(Address Resolution Protocol)(来自维基百科)

    地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在I ...

  7. ARP地址解析协议

    ARP地址解析协议:为IP地址到相应的硬件地址之间提供动态映射. 下面图为例说明地址解析协议的详细工作流程. 结合图中的序号进行说明. client通过FTP协议连接server时,首先解析器会把主机 ...

  8. 【RL-TCPnet网络教程】第23章 RL-TCPnet之地址解析协议ARP

    第23章      RL-TCPnet之地址解析协议ARP 本章节为大家讲解ARP(Address Resolution Protocol,地址解析协议),通过前面章节对TCP和UDP的学习,需要大家 ...

  9. <TCP/IP>地址解析协议ARP

    从前两章中有学到,网络层地址和链路层地址是由不同的,一个是物理地址,一个是IP地址.物理地址固定存储在网卡中,不会改变,而IP地址是可以网络管理员和用户自己分配的 在传统的IPv4网络中,一台A主机要 ...

随机推荐

  1. 学习Java第一步:安装Intellij IDEA和JDK

    注:其实真正学习一门新语言的第一步并不是安装开发工具,我是C#转JAVA,有一点编程经验了,所以可以直接跳过前面几步,直接上IDE. 1.下载IntelliJ IDEA [官网] http://www ...

  2. (C#)WPF:LinearGradientBrush的使用

    在MSDN文档库里可以查到,Rectangle.Fill的类型是Brush.Brush是一个抽象类,凡是以Brush为基类的类都可作为Fill属性的值.Brush的派生类有很多: * SolidCol ...

  3. 面试官问我:谈谈对Java GC的了解?回答完让我回家等消息....

    JVM的运行数据区 首先我简单来画一张 JVM的结构原理图,如下. 我们重点关注 JVM在运行时的数据区,你可以看到在程序运行时,大致有5个部分. 1.方法区 不止是存“方法”,而是存储整个 clas ...

  4. nyoj 739 笨蛋难题四

    笨蛋难题四 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 这些日子笨蛋一直研究股票,经过调研,终于发现xxx公司股票规律,更可喜的是 笨蛋推算出这家公司每天的股价, ...

  5. nyoj 524-A-B Problem (java stripTrailingZeros, toPlainString)

    524-A-B Problem 内存限制:64MB 时间限制:1000ms 特判: No 通过数:2 提交数:4 难度:3 题目描述: A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下 ...

  6. 查找文件或目录(find、locate、whereis、which、whatis)

    find命令:可以按文件名.文件的类型.用户等条件来递归查找文件或目录 find  [路径]  [匹配表达式] ,常用选项如下 -name filename  按文件名 -user username ...

  7. vue项目中安装使用vux

    vux是个vue的移动端框架. 目前移动端UI框架这么多,为啥选择vux呢?vux虽然说是个个人维护项目,但是有15000+个star,应该不比其他的团队开源框架差. 最重要的是,目前要做微信公众号和 ...

  8. 如何编译和使用自定义Qt动态链接库 | how to build and use user-defined qt library

    本文首发于个人博客https://kezunlin.me/post/cf628dd8/,欢迎阅读! guide to build qt library and use in another proje ...

  9. 一篇很好的学习查看Java源代码的文章

    目录: 一. ArrayList概述 二. ArrayList的实现 1) 私有属性 2) 构造方法 3) 元素存储 4) 元素读取 5) 元素删除                 6) 调整数组容量 ...

  10. 使用MongoDB的Spring Boot和MongoTemplate教程

    在本教程中,我们将构建一个Spring Boot应用程序,该应用程序演示如何使用MongoTemplate API访问MongoDB数据库中的数据. 对于MongoDB,我们将使用mLab,它提供了M ...