第七部分,也是本次更新的最后一部分,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. php的精度计算问题(bcadd和bcsub)

    一.前言 我们在进行php开发的时候经常会遇到浮点型的问题,特别是涉及金额的部分,常常需要进行加减运算.当小数点的位数比较多的时候,往往容易犯一些很低级的错误.这里记录一下php的精度计算和封装的小d ...

  2. 忘记Linux登录密码的破解方法

    注意:1.破解方式只限于7.0以后的Linux系统. 2.要注意自己linux系统中有没有开启selinux,如果开启则在后面要建一个名为:autorelabel的隐藏文件.     1.启动Linu ...

  3. Salesforce学习之路(十二)Aura组件表达式

    1. 表达式语法 在上篇文章组件属性示例中,新建了一个属性whom, 引用该属性时使用了表达式:{!v.whom},负责该属性的动态输出. 语法:{!expression} 上述示例中,我们的属性名称 ...

  4. nyoj 517-最小公倍数 (python range(start, end) range(length))

    517-最小公倍数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:2 提交数:11 难度:3 题目描述: 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并 ...

  5. C语言|博客作业01

    2.1你对计算机科学与技术的了解是怎样? 一开始,我并不知道计科和软件的区别,甚至以为这是一种专业的两种叫法.进了大学之后,才一下子懂了,计科就是计科,它和软件虽有相同之处,但是终究是不一样的.计科涉 ...

  6. JVM集训-----内存结构

    一.程序计数器/PC寄存器 (Program Counter Registe) 用于保存当前正在执行的程序的内存地址(下一条jvm指令的执行地址),由于Java是支持多线程执行的,所以程序执行的轨迹不 ...

  7. 预训练语言模型整理(ELMo/GPT/BERT...)

    目录 简介 预训练任务简介 自回归语言模型 自编码语言模型 预训练模型的简介与对比 ELMo 细节 ELMo的下游使用 GPT/GPT2 GPT 细节 微调 GPT2 优缺点 BERT BERT的预训 ...

  8. Liunx 安装配置zsh和oh-my-zsh 替换 bash

    一.前言 本文将基于 Liunx 环境安装配置zsh 和 oh-my-zsh 替换 bash oh my zsh Liunx默认shell是单调的bash,而zsh比较高大上,bash有的功能,zsh ...

  9. Python3学习-基础

    1.直接运行.py文件 在Windows上是不行的,但是在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释: #!/usr/bin/env python3 print('he ...

  10. C#-面向对象:争议TDD(测试驱动开发)

    ----------------------- 绝对原创!版权所有,转发需经过作者同意. ----------------------- 在谈到特性的使用场景时,还有一个绝对离不开的就是 单元测试 按 ...