参考链接: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. static 继承

    静态方法大家应该都比较熟悉,在这里主要谈一下静态方法在继承时的一些注意事项. 1.父类方法如果是静态方法,子类不能覆盖为非静态方法: 2.父类方法如果是非静态方法,子类不能覆盖为静态方法: 3.父类静 ...

  2. c# using的作用

    using 关键字有两个主要用途:   (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型.   (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象. using指令   ...

  3. Hibernate笔记②--hibernate类生成表、id生成策略、级联设置、继承映射

    一.多表的一个关联关系 老师和学生是一对多的关系 student:tid属性 外键约束 对应teacher表中的id属性 teacher:id 在myeclipse的db窗口中选中两个表来生成类.   ...

  4. HDU 4418 Time travel 期望dp+dfs+高斯消元

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4418 Time travel Time Limit: 2000/1000 MS (Java/Othe ...

  5. 关于Keil C51中“ERROR L107: ADDRESS SPACE OVERFLOW ”的总

    最近写一个关于单片机播放音乐的程序,出现如下错误: *** ERROR L107: ADDRESS SPACE OVERFLOW ... ... Program Size: data=167.6 xd ...

  6. sql中exists和not exists的用法

    该文转载自:http://www.cnblogs.com/mytechblog/articles/2105785.html sql中exists,not exists的用法 exists : 强调的是 ...

  7. PAT 甲级 1142 Maximal Clique

    https://pintia.cn/problem-sets/994805342720868352/problems/994805343979159552 A clique is a subset o ...

  8. git常用命令复习及其基本使用示例

    年后回来新上到项目,对于git的一些操作命令记得有点混乱了,所以特整理笔记如下: 一.git常用命令复习 查看当前分支:git branch (显示结果中带有*号的是当前分支)查看所有分支: git ...

  9. 看懂Qt源代码-Qt源码的对象数据存储

    第一次看Qt源代码的人都会被其代码所迷惑,经常会看到代码中的d_ptr成员.d_func(函数)和Q_DECLARE_PRIVATE等奇怪的宏,总是让人一头雾水,下面这篇文章转自http://www. ...

  10. Java线程池(一):初识

    1.什么是线程池? 简单粗暴的理解就是:装着一个或多个线程的容器,我们称这个容器为线程池. 在现实世界中,有着各种各样的“池”,例如游泳池.花池等等.那花池来说,里面种满了各种各样的鲜花,花池本身要做 ...