参考链接:http://www.qingsword.com/qing/745.html

  视频链接:

一、什么是NAT?

  NAT --- Network Address Translation  也就是所谓的网络地址转换。这是为了解决ipv4地址不够用而产生的一种技术。原理是把私有地址转换成公有地址与外界通信。私有地址如下:

  A类:10.0.0.0—10.255.255.255
  B类:172.16.0.0—172.31.255.255
  C类:192.168.0.0—192.168.255.255

  常见的NAT技术有三种:静态NAT,动态NAT,PAT

二、拓扑图的建立

  大家自己看着拖,路由器型号是1841,有Serial串行口就行。每个端口的ip配置如图所示。

三、静态NAT

静态NAT就是一对一的NAT,内部有多少私有地址需要和外部通信,就要配置多少外网IP地址与其对应。

配置路由器R1为静态NAT

/*配置内网网关接口*/
R1(config)#int fa 0/
R1(config-if)#ip add 192.168.1.1 255.255.255.0
/*这个接口是内网接口,需要配置成NAT对内接口*/
R1(config-if)#ip nat inside
R1(config-if)#no shut /*配置与ISP相连的外网接口*/
R1(config-if)#int s /0/0
R1(config-if)#ip add 12.1.1.1 255.255.255.0 /*配置成NAT对外接口*/
R1(config-if)#ip nat outside
R1(config-if)#no shut
R1(config-if)#exit /*配置静态转换条目,每个内网IP需要和一个外网IP对应*/
R1(config)#ip nat inside source static 192.168.1.2 12.1.1.20
R1(config)#ip nat inside source static 192.168.1.3 12.1.1.30

配置路由器R2

R2(config)#int s //
R2(config-if)#ip add 12.1.1.2 255.255.255.0
R2(config-if)#no shut /*在R2上开启ICMP调试*/
R2#debug ip icmp
//ICMP packet debugging is on

最后,我们来测试静态NAT,用PC1 ping一下路由器2看看结果

/*使用192.168.1.2去Ping路由器2*/
PC1> ping 12.1.1.2 /*
* R2上的ICMP调试输出显示,echo reply的目的地址是12.1.1.20,
* 说明R1上的静态NAT是成功的,成功将PC1的私有IP转换成了公网IP。
*/

在R1上查看NAT地址转换表

R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 12.1.1.20 192.168.1.2 --- ---
--- 12.1.1.30 192.168.1.3 --- ---

四、动态NAT

动态NAT是在路由器上配置一个外网IP地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网IP,并将他们的对应关系绑定到NAT表中,通信结束后,这个外网IP被释放,可供其他内部IP转换使用,这和DHCP租约IP有相似之处。

在路由器1那里改一下配置代码

/*
* 配置外网地址池,poolname1是这个地址池的自定义名称,
* 外网地址池范围从12.1.1.20-12.1.30,11个可用于转换的IP地址,
* 子网掩码24位。
*/
R1(config)#ip nat pool poolname1 12.1.1.20 12.1.1.30 netmask 255.255.255.0 /*
* 设置一个ACL来允许哪些内网IP被转换,
* 这里是192.168.1.0/24网段都允许被转换。
*/
R1(config)#access-list permit 192.168.1.0 0.0.0.255 /*开启动态NAT,允许ACL 1中的私有地址转换成poolname1中的外网IP*/
R1(config)#ip nat inside source list pool poolname1

在ping的时候打开路由器2可以看消息

五、PAT

这是最常用的NAT技术,也是IPv4能维持到今天的最重要原因之一,它提供了一种多对一的方式,对多个内网IP地址,边界路由可以给他们分配一个外网IP,利用这个外网IP的不同端口(不同的端口对应不同的内网IP)和外部进行通信。

在路由器1上配置

*配置允许转换的内部地址范围*/
R1(config)#access-list permit 192.168.1.0 0.0.0.255 /*ACL1中允许的私有IP地址将会共用R1的s0/0接口外网IP地址*/
R1(config)#ip nat inside source list interface s / overload
R1(config)#end

NAT—网络地址转换的更多相关文章

  1. NAT 网络地址转换

    NAT  网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...

  2. CCNA学习 NAT网络地址转换

    CCNA基础 NAT网络地址转换 在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是 ...

  3. NAT网络地址转换模拟过程

    原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...

  4. [译] NAT - 网络地址转换(2016)

    [译] NAT - 网络地址转换(2016) Published at 2019-02-17 | Last Update 译者序 本文翻译自 2016 年的一篇英文博客 NAT - Network A ...

  5. iptables做nat网络地址转换

    iptables做nat网络地址转换. 0. 权威文档 http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html e文好的直接跳过本文 ...

  6. NAT网络地址转换技术

    NAT网络地址转换技术 目录 一.NAT概述 1.1.概述 1.2.NAT 的应用场景 二.NAT的类型及配置命令 2.1.静态NAT 2.2.动态NAT 2.3.Easy IP 2.4.NATP 2 ...

  7. firewalld 防火墙 nat 网络地址转换

    目的:实现以下效果 一. 准备环境 @1 三台虚拟机 @2  client 端 ip  192.168.1.2      server端   两块网卡 , ip 分别是 192.168.1.1   和 ...

  8. NAT网络地址转换的原理--笔试答题版

    最早接触NAT是在做网络工程师的时候,NAT是做网络工程师必需会的知识点和技能,后来在面试运维的时候也经常被用到,在运维的某些知识点当中也会被引用到,如LVS当中. 为什么需要NAT(网络地址转换)? ...

  9. Nat网络地址转换

    Nat中的术语 -------------------------------------------------------------------------------------------- ...

随机推荐

  1. 始入OO课程的殿堂,初识面向对象的奥妙——OO第一次博客总结

    当我满怀期待叩开OO的大门,却发现宝藏藏在层层阻难之后 第一次作业 1.度量分析 >关于第一次作业的metrics图分析没有出现标红的McCabe Cyclomatic Complexity或者 ...

  2. java实验2实验报告(20135232王玥)

    实验二 Java面向对象程序设计 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解 ...

  3. Task 6.3 冲刺Two之站立会议1

    今天是二次冲刺的第一天,由于第一阶段已经大概完成了软件的主体功能和框架,我主要看了一下同学们提出的视频和音质的问题,想办法做出了相应的改善.另外我们的功能还是比较单一的,要对主界面进行一定的扩充,所以 ...

  4. 1到N中“1”出现的次数

    题目:给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数 思路:刚开始做的时候,是想从1到N进行遍历,其中每个数都出现1的个数加起来,最后得出结果,但是老师让我们找规 ...

  5. python learning2.py

    L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] # 取前3个元素的笨方法 r = [] n = 3 for i in range(n): r.appe ...

  6. Internet History, Technology and Security (Week3)

    Week3. Welcome to week 3! This is our fourth and final week of History where we make the connection ...

  7. 定时任务中的备份不同的数据库中的所有的表,每个表使用单独的sql备份文件

    #! /bin/bash # 指定用户 USER=root # 指定密码 PASS=123456 # 指定主机地址 HOST=localhost # 指定备份的目录 BACKUP=/backup/sq ...

  8. mysqldumpslow 分析slow query日志和explain分析mysql查询结构

    mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20180303. ...

  9. Jquery插件收集【m了慢慢学】

    1. Simple Effects for Drop-Down Lists 一个jQuery插件用于将普通的select控件转成一个带有一些简单扩展效果的下拉列表. 2. X-editable 这个插 ...

  10. Handler,Looper,HandlerThread浅析

    Handler想必在大家写Android代码过程中已经运用得炉火纯青,特别是在做阻塞操作线程到UI线程的更新上.Handler用得恰当,能防止很多多线程异常. 而Looper大家也肯定有接触过,只不过 ...