第七部分,也是本次更新的最后一部分,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操作RabbitMQ添加队列、消费队列和三个交换机

    假设已经在服务器上安装完RabbitMQ.我写的教程 一.发送消息到队列(生产者) 新建一个maven项目,在pom.xml文件加入以下依赖 <dependencies> <depe ...

  2. 领扣(LeetCode)二叉树的中序遍历 个人题解

    给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归的思路很简单,不再累 ...

  3. 读取JDK API文档,并根据单词出现频率排序

    1,拿到 API 文档 登录 https://docs.oracle.com/javase/8/docs/api/ , 选中特定的类,然后 copy 其中的内容, 放入 TXT 文件中 , 2,读取T ...

  4. python+appium搭建的测试环境

    : 1,安装jdk JDK下载好jdk直接点下一步就可以了,然后开始配置变量classpath, path, Java_home:再运行cmd,并输入Java和javac看输出判断环境变量是否配好了. ...

  5. 剖析nsq消息队列目录

    剖析nsq消息队列(一) 简介及去中心化实现原理 剖析nsq消息队列(二) 去中心化源码解析 剖析nsq消息队列(三) 消息传输的可靠性和持久化[一] 剖析nsq消息队列(三) 消息传输的可靠性和持久 ...

  6. 在idea中使用git

    在idea中使用git 1. 在idea中配置git ​ 安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下 ...

  7. 【论文阅读】Diverse Image-to-Image Translation via Disentangled Representations(ECCV2018 oral)

    目录 相关链接 方法亮点 相关工作 方法细节 实验结果 总结与收获 参考文献 相关链接: 论文:https://arxiv.org/abs/1808.00948 代码:https://github.c ...

  8. SpringBoot之DispatcherServlet详解及源码解析

    在使用SpringBoot之后,我们表面上已经无法直接看到DispatcherServlet的使用了.本篇文章,带大家从最初DispatcherServlet的使用开始到SpringBoot源码中Di ...

  9. Redis的面试问题总结,面试跳槽必备

    1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库 ...

  10. 2019-2020-9 20199317 《Linux内核原理与分析》第九周作业

    第8章  进程的切换和系统的一般执行过程 1  进程调度的时机 1.1  硬终端与软中断 进程调度的时机都与中断相关,中断有很多种,都是程序执行过程中的强制性转移,转移到操作系统内核相应的处理程序.中 ...