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中的术语 -------------------------------------------------------------------------------------------- ...
随机推荐
- delphi 图像处理 图像放大缩小
procedure TDR_QM_ZP_Form.btn_FDClick(Sender: TObject); //图像放大 begin my_int1 := Trunc( my_int1 * 1.1) ...
- 【贪心算法】POJ-3190 区间问题
一.题目 Description Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one wil ...
- ns3 回调机制
(1)目的:为了实现两个模块之间的通信(这两个模块没有任何依赖关系) (2) C语言中的函数指针 int (*a)(int q) = 0; //声明一个函数指针a,初始值设为0 //. //. //. ...
- 微信小程序公共组件的引用与控制
思路: 1.在组件wxml文件里实现布局.数据绑定.事件绑定: 2.组件js文件里定义事件,并将文件所有内容作为一个对象export出去:3.在引用的文件引入组件(方式有两种,一个是用include引 ...
- C++获取private的变量-偷走private
private提供了对数据的封装,使得private成员只能被类自身的成员函数以及类的友元访问,其他的函数或者类想要访问private成员只能通过该类所提供的set和get的方法进行访问, 或者返回其 ...
- 解决方案~Microsoft Security Client OOBE 程序错误
Microsoft Security Client OOBE 程序错误 适用于: Windows Windows 7 系统错误日志如下:会话"Microsoft Security Clien ...
- QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)
前言:分析Qt的代码也有一段时间了,以前在进行QT源码解析的时候总是使用ue,一个函数名在QTDIR/src目录下反复的查找,然后分析函数之间的调用关系,效率实在是太低了,最近总结出一个更简便的方法, ...
- centos6.7 安装JDK
1.卸载JDK 查看系统是否已安装JDK.一般的linux都默认使用了开源的openJDK.显示JDK版本信息,已经安装JDK,否则没有安装.命令行: [root@localhost ~]# ja ...
- python & dict & switch
python & dict & switch python 中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现. # ...
- 题解 P1208 【[USACO1.3]混合牛奶 Mixing Milk】
其实根本没有一楼dalao描述的那么麻烦...... 一楼dalao其实吧,采用了一种纯属模拟的方式. 下面是我的大跃进思想 但是一个个地做减法是不是太慢了?(大跃进思想) 于是我们是不是可以直接进行 ...