NAT—网络地址转换
参考链接: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—网络地址转换的更多相关文章
- NAT 网络地址转换
NAT 网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...
- CCNA学习 NAT网络地址转换
CCNA基础 NAT网络地址转换 在计算机网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是 ...
- NAT网络地址转换模拟过程
原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...
- [译] NAT - 网络地址转换(2016)
[译] NAT - 网络地址转换(2016) Published at 2019-02-17 | Last Update 译者序 本文翻译自 2016 年的一篇英文博客 NAT - Network A ...
- iptables做nat网络地址转换
iptables做nat网络地址转换. 0. 权威文档 http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html e文好的直接跳过本文 ...
- NAT网络地址转换技术
NAT网络地址转换技术 目录 一.NAT概述 1.1.概述 1.2.NAT 的应用场景 二.NAT的类型及配置命令 2.1.静态NAT 2.2.动态NAT 2.3.Easy IP 2.4.NATP 2 ...
- firewalld 防火墙 nat 网络地址转换
目的:实现以下效果 一. 准备环境 @1 三台虚拟机 @2 client 端 ip 192.168.1.2 server端 两块网卡 , ip 分别是 192.168.1.1 和 ...
- NAT网络地址转换的原理--笔试答题版
最早接触NAT是在做网络工程师的时候,NAT是做网络工程师必需会的知识点和技能,后来在面试运维的时候也经常被用到,在运维的某些知识点当中也会被引用到,如LVS当中. 为什么需要NAT(网络地址转换)? ...
- Nat网络地址转换
Nat中的术语 -------------------------------------------------------------------------------------------- ...
随机推荐
- static 继承
静态方法大家应该都比较熟悉,在这里主要谈一下静态方法在继承时的一些注意事项. 1.父类方法如果是静态方法,子类不能覆盖为非静态方法: 2.父类方法如果是非静态方法,子类不能覆盖为静态方法: 3.父类静 ...
- c# using的作用
using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型. (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象. using指令 ...
- Hibernate笔记②--hibernate类生成表、id生成策略、级联设置、继承映射
一.多表的一个关联关系 老师和学生是一对多的关系 student:tid属性 外键约束 对应teacher表中的id属性 teacher:id 在myeclipse的db窗口中选中两个表来生成类. ...
- HDU 4418 Time travel 期望dp+dfs+高斯消元
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4418 Time travel Time Limit: 2000/1000 MS (Java/Othe ...
- 关于Keil C51中“ERROR L107: ADDRESS SPACE OVERFLOW ”的总
最近写一个关于单片机播放音乐的程序,出现如下错误: *** ERROR L107: ADDRESS SPACE OVERFLOW ... ... Program Size: data=167.6 xd ...
- sql中exists和not exists的用法
该文转载自:http://www.cnblogs.com/mytechblog/articles/2105785.html sql中exists,not exists的用法 exists : 强调的是 ...
- PAT 甲级 1142 Maximal Clique
https://pintia.cn/problem-sets/994805342720868352/problems/994805343979159552 A clique is a subset o ...
- git常用命令复习及其基本使用示例
年后回来新上到项目,对于git的一些操作命令记得有点混乱了,所以特整理笔记如下: 一.git常用命令复习 查看当前分支:git branch (显示结果中带有*号的是当前分支)查看所有分支: git ...
- 看懂Qt源代码-Qt源码的对象数据存储
第一次看Qt源代码的人都会被其代码所迷惑,经常会看到代码中的d_ptr成员.d_func(函数)和Q_DECLARE_PRIVATE等奇怪的宏,总是让人一头雾水,下面这篇文章转自http://www. ...
- Java线程池(一):初识
1.什么是线程池? 简单粗暴的理解就是:装着一个或多个线程的容器,我们称这个容器为线程池. 在现实世界中,有着各种各样的“池”,例如游泳池.花池等等.那花池来说,里面种满了各种各样的鲜花,花池本身要做 ...