私有IP地址段:
10.0.0.0-10.255.255.255/8
172.16.0.0-172.31.255.255/12
192.168.0.0-192.168.255.255/16

NAT的必要性:
1、公网IP地址不够用
2.在网络融合中双方都使用了相同的私网IP地址
3、所获的IP够用,从一个ISP迁移到另一个ISP,新的ISP不支持老的公网IP
4、在网络边界对流量进行控制,主要应用于负载均衡

NAT的优点:
1.解决地址不足的问题
2、更换ISP比较容易,只要在边界进行NAT转换即可
3、ISP可以控制私有ip使用范围
4、安全,对外隐藏了内网的IP地址信息

NAT缺点:
1、增加了延迟:因为会对数据报文进行IP地址改变,
    并且重新计算校验和
2.扩展性不太好,会增加边界路由器负担
3、失去了端到端了一个连接
4、跟踪攻击源困难
5、对嵌入式IP(数据含有IP地址)不兼容

NAT术语:
1、内部局部地址:即要转换的私有IP地址
2、内部全局地址:要转换的地址(公网IP)
3、外部局部地址:外部主机表现给本地看的IP
4、外部全局地址:外网的私有地址

NAT的操作:
1、数据包到达NAT设备,转换为公网IP
2、NAT设备必须记住NAT转换表
3、返回的数据查看NAT转发表,转发数据到相应的内部主机

NAT的类型:
1、静态static NAT
   是一种一对一的对应关系,就是将一个内部主机永久的映射到一个公网IP
2、动态NAT
   利用一个公网IP地址池与内部主机进行转换

NAT配置:
1、配公网IP地址池
2、规定被转换的私有IP
3、配转换关系
4、绑定到接口

静态NAT配置:
ip nat inside source static 私网IP 公网IP
int e0
ip nat inside
int e1
ip nat outside

动态NAT配置:
定义公网地址池:ip nat pool 地址池的名字 地址池范围
   (netmask 掩码)prefix-lenth 24
规定转换的私有ip
ip nat inside source list 1(访问列表) pool 地址池名字

绑定接口
int e0
ip nat inside
int e1
ip nat outside

access-list 1 permit ip地址

PAT配置
1、定义公网地址池:ip nat pool 地址池的名字 地址池范围
   (netmask 掩码)prefix-lenth 24
2、规定转换的私有ip
3、ip nat inside source list 1(访问列表) pool 地址池名字 overload

绑定接口
int e0
ip nat inside
int e1
ip nat outside

access-list 1 permit ip地址

TCP load-balance 配置:
ip nat pool abc 10.1.1.2 10.1.1.5 netmask 255.255.255.0 type rotary   定义轮询地址
access-list 1 permit 192.1.1.1 0.0.0.0                                定义访问列表
ip nat inside destination list 1 pool abc                             定义转换关系
int e0                                                                在接口上应用NAT
ip nat inside
int e1                                                                在接口上应用NAT
ip nat outside

静态扩展NAT:
ip nat inside source static tcp 192.168.100.100 80 200.1.1.100 80 extendble

NAT:
inside:需要翻译成外部地址的网络
outside:外部地址,Internet地址
local:出现于内网
global:出现于外网

inside local:分配给处于内网的主机的IP地址,地址是全局唯一的,一般分配的是由RFC  1918里定义的私有地址(private IP address)
inside global:用来替代inside local的对外的,可用于Internet上的地址,即被翻译后的地 址.地址全局唯一,由ISP分配
 
outside local:外网主机相对于内网所用的IP地址.地址可以从RFC 1918中定义的进行分配
outside global:分配给外网主机的外部地址
 
simple translation entry: 把一个IP地址映射到另外一个地址上去的翻译方式
extended translation entry: 把IP地址和端口(port)的组合翻译成另外一个地址和端口的 组合
static address translation:静态翻译,把一个local对应到global上去
dynamic address translation:动态翻译,local和global池(pool)建立动态对应关系
port address translation(PAT):通过使用地址和端口的结合来达到多个local对应一个 global的状态.端口号用来区别不同的local.这样的技术也叫overloading.
 
 
 
LAB-1:NAT的基本配置
 
step1:定义NAT的内口/外口
 
R1(config)#int e0
R1(config-if)#ip nat inside    //将e0口定义为NAT的内网口
 
R1(config)#int s1
R1(config-if)#ip nat outside    //将s1口定义为NAT的外网口
 
 
step2:配置一个静态的(IP对IP)NAT转换
R1(config)#ip nat inside source static 192.168.1.2    13.0.0.1
 
                                    inside local    inside global
 
R1#show ip nat translations
 
Pro Inside global Inside local Outside local Outside global
      --- 13.0.0.1       192.168.1.2 --- ---
 
R1#debug ip nat
 
 
 
LAB-2:配置动态NAT
 
step1:定义NAT的内口/外口
 
R1(config)#int e0
R1(config-if)#ip nat inside    //将e0口定义为NAT的内网口
 
R1(config)#int s1
R1(config-if)#ip nat outside    //将s1口定义为NAT的外网口
 
 
step2:用ACL定义需要做NAT的用户群
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
 
 
step3:配置一个基于公网接口serial 1的NAT端口复用
 
R1(config)#ip nat inside source list 1 interface serial 1 overload
内网用户 NAT的出接口 端口复用
 
 
show ip nat tran
deb ip nat
show ip nat translations
 
 
LAB-3:配置一个基于地址池的NAT
 
step0:在网关上为内部用户配置辅助地址
R1(config)#inter e0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#ip add 192.168.2.1 255.255.255.0 secondary //配置辅助地址
 
step1:定义内/外口
 
step2:定义用户群
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#access-list 2 permit 192.168.2.0 0.0.0.255
 
 
step3:从ISP处购买来的公网IP,分别放入为不同子网准备的地址池中
R1(config)#ip nat pool POOL_1 13.0.0.8 13.0.0.11 prefix-length 24
地址池的名字 起始IP地址 结束IP地址
 
R1(config)#ip nat pool POOL_2 13.0.0.12 13.0.0.15 netmask 255.255.255.0
 
 
step4:为不同的子网,进行基于不同NAT-Pool的转换
R1(config)#ip nat inside source list 1 pool POOL_1 overload
R1(config)#ip nat inside source list 2 pool POOL_2 overload
 
测试
 
LAB-4基于端口号的NAT转换 PAT
R1(config)#ip nat inside source static tcp 192.168.1.2 23 13.0.0.1 8000
R1(config)#ip nat inside source static tcp 192.168.2.4 23 13.0.0.1 9000
 
 
PAT: 1个IP只能提供65535个转换项(不是IP,1个Ipdutying 200个左右的转换项)
Ip nat inside source list 10 int s1/1 overload
Ip nat inside source list 10 pool liming overload (端口复用的可以是接口或地址池)
 
NAT排障:
1.检查inside 入口方向有没有ACL拒绝数据包通过
2.NAT里引用的list添加所有需要转换的网段
3.Nat 地址池地址不够
PAT: 1个IP只能提供65535个转换项(不是IP,1个Ipdutying 200个左右的转换项)
4.路由器接口的inside ,outside定义

14、 NAT的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之14、ABP领域层——领域事件(Domain events)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之14.ABP领域层——领域事件(Domain events) ABP是“ASP.NET Boilerplate P ...

  2. VMware Workstation中网络连接之桥接、NAT和Host-only

    在Windows XP系统中,安装好VMware Workstation虚拟机软件以后,我们可以查看一下"网络连接"窗口: 在窗口中多出了两块网卡: VMware Network ...

  3. VMware 虚拟上网的的三种模式 ——bridged、host-only、NAT 模式

    恐怕这是今年在上海的最后的一篇博客了,同事们上班都不工作了,我也没有什么事情要做.为什么要写这篇博客呢,原因是我回家要带上自己的笔记本,里面装了一个虚拟机.平时自己的学习和工作都是在虚拟机里进行的.回 ...

  4. 【转】虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理

     VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口, ...

  5. [转]虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理

    VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这 ...

  6. [转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

    转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1985084.html VMWare提供了三种工作模式,它们是brid ...

  7. VMWare三种工作模式 :bridge、host-only、nat

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式.这里 ...

  8. VMware虚拟系统 bridged、NAT、host-only三种网络连接模式

    目录 前言 bridged(桥接模式) NAT(网络地址转换模式) host-only(仅主机模式) 总结 前言 如果你想利用VMWare安装虚拟机,或想创建一个与网内其他机器相隔离的虚拟系统,进行特 ...

  9. VMware的“桥接”、“NAT”、“Host-only”上网方式的区别

    http://liblog.littleyuan.com/archives/9 在说到VMware的网络模型之前,先说一下VMware的几个虚拟设备: VMnet0:这是VMware用于虚拟桥接网络下 ...

随机推荐

  1. Angular Schematics 三部曲之 Add

    前言 因工作繁忙,差不多有三个月没有写过技术文章了,自八月份第一次编写 schematics 以来,我一直打算分享关于 schematics 的编写技巧,无奈还是拖到了年底. Angular Sche ...

  2. 【Think In Java笔记】第1章 对象导论

    1. 对象导论 OOP 面向对象编程 C.Basic等语言所在的抽象仍要求在解决问题时基于计算机的解决,而不是基于所解决问题的结构来考虑. 要建立起问题空间的元素和解空间的对象之间一一映射的关系 万物 ...

  3. QuartzCore

    QuartzCore 说起QuartzCore不知道有多少小伙伴很容易和Quartz2D.CoreGraphics等混淆在一起傻傻分不清楚?所以在下面我们先把这几个很容易混淆或者是分不清楚的框架稍加整 ...

  4. Go 每日一库之 go-ini

    简介 ini 是 Windows 上常用的配置文件格式.MySQL 的 Windows 版就是使用 ini 格式存储配置的. go-ini是 Go 语言中用于操作 ini 文件的第三方库. 本文介绍g ...

  5. 从头学pytorch(十九):批量归一化batch normalization

    批量归一化 论文地址:https://arxiv.org/abs/1502.03167 批量归一化基本上是现在模型的标配了. 说实在的,到今天我也没搞明白batch normalize能够使得模型训练 ...

  6. 【一头扎进Spring】 01 | 从 HelloWorld 开始看Spring

    Spring 是一个开源框架. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. Spring 是一个 IOC(DI ...

  7. 替代not in 和 in 的办法

    在程序中,我们经常会习惯性的使用in和not in,在访问量比较小的时候是可以的,但是一旦数据量大了,我们就推荐使用not exists或者外连接来代替了.如果要实现一张表有而另外一张表没有的数据时, ...

  8. web网页设计五种布局

    1.大框套小框布局   2.通栏布局   3.导航栏在主视觉下方的布局  4.左中右布局  5.环绕式布局

  9. 使用 OAS(OpenAPI标准)来描述 Web API

    无论哪种类型的Web API, 都可能需要给其他开发者使用. 所以API的开发者体验是很重要的. API的开发者体验, 简写为 API DX (Developer Experience). 它包含很多 ...

  10. IDEA 公司推出新字体,极度舒适~

    这几天炒得沸沸扬扬的 Intellij IDEA 公司 JetBrains 推出了一种新字体:JetBrains Mono,据说它是专为开发人员设计的,下面栈长带大家一起来吃个瓜. JetBrains ...