设为首页 加入收藏

TOP

网络中的NAT模式(一)
2019-09-01 23:08:46 】 浏览:87
Tags:网络 NAT 模式

一、概述

NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。NAT 可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。

RFC1918规定了三块专有的地址,作为私有的内部组网使用:

  • A类:10.0.0.0—10.255.255.255 10.0.0.0/8
  • B类:172.16.0.0—172.31.255.255 172.16.0.0/12
  • C类:192.168.0.0—192.168.255.255 192.168.0.0/16

这三块私有地址本身是可路由的,只是公网上的路由器不会转发这三块私有地址的流量;当一个公司内部配置了这些私有地址后,内部的计算机在和外网通信时,公司的边界路由会通过NAT或者PAT技术,将内部的私有地址转换成外网IP,外部看到的源地址是公司边界路由转换过的公网IP地址,这在某种意义上也增加了内部网络的安全性。

Basic NAT是一种把一组IP地址映射成另一组IP地址的方法,映射的过程在IP中继设备上完成,对用户完全透明。NAPT则要复杂一些,它把许多(不能太多)IP地址连同TCP/UDP端口号映射到单独一个IP地址和端口号上。无论是Basic NAT还是NAPT都提供一种把内部的私有地址转换成在公网上可用的全球唯一IP地址的方法。

分类

image

NAT有三种类型:

  1. 静态NAT(Static NAT)(一对一)。将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一直不变的;
    image

  2. 动态地址NAT(Pooled NAT)(多对多)。将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定,随机的。所有被授权访问Internet的私有IP地址可随机转换为任何指定合法的IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态NAT转换。动态NAT是在路由器上配置一个外网IP地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网IP,并将他们的对应关系绑定到NAT表中,通信结束后,这个外网IP才被释放,可供其他内部IP地址转换使用,这个DHCP租约IP有相似之处。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
    image

  3. 网络地址端口转换NAPT(Network Address Port Translation)(Port-Level NAT)(多对一)。改变外出数据包的源端口并进行端口转换,采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,可以最大限度地节约IP地址资源。同时,也可以隐藏网络内部的所有主机,有效避免来自Internet的攻击。因此,目前网络中应用最多的就是PAT规则。这是最常用的NAT技术,也是IPv4能够维持到今天的最重要的原因之一,它提供了一种多对一的方式,对多个内网IP地址,边界路由可以给他们分配一个外网IP,利用这个外网IP的不同端口和外部进行通信。NAPT 与 动态NAT 不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。

image

NAPT是使用最普遍的一种转换方式,在HomeGW中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。

  1. 源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。
  2. 目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

对于网络地址转换技术来讲,最重要的一点是,在配置 NAT 的路由器上形成了 NAT 转换表,这个转换表的形成是非常关键的。配置 NAT 后,能形成正确的转换表,那么我们的工作就算成功了。

NAT的三个方向:

NAT 在outside口生效,所有在inside口需要先路由,在outside口先nat。

  • ip nat inside source:

将内部局部地址转换为内部全局地址;数据方向inside->outside,在outside上执行转换;

  • ip nat inside destination:

将内部全局地址转换为内部局部地址;数据方向outside->inside,在outside上执行转换

  • ip nat outside source:

将外部全局地址转换为外部局部地址;数据方向outside->inside,在outside上执行转换;

NAT的应用分类:

ip nat source:

(1) 静态 nat的映射:永远一个ip对应另外一个ip。

ip nat inside source static A.B.C.D A.B.C.D

(2) 动态 nat的映射:每次一个IP会对应另外一个公网的IP;

ip nat inside source list 2 pool qing

(3) 动态PAT映射:pool里面只有一个IP。

ip nat inside source list 2 pool qing overload

(4) 静态PAT映射:

ip nat inside source list 3 interface fastEthernet 0/0 overload

ip nat inside destination:

tcp负载均衡,外网主动发起流量访问内网服务器。只用动态,没有静态。

ip nat inside destination list 10 pool feng

ip nat outside source:

当两端同时做nat既inside和outside需要同时翻译并出现地址冲突的时候需要用outside source和其他同时命令同时实现。

Cisco路由器配置3中NAT的主要命令:

静态NAT:

1、指定NAT内部接口
    在内网相应接口的接口配置模式下执行:ip nat inside
2、指定NAT外部接口
   在外网相应接口的接口配置模式下执行:ip nat outside
3、在内部本地地址与内部全局地址之间建立静态地址转换关系:
    ip nat insde source static 内部本地地址 内部全局地址

动态地址NAT:

  1. 指定NAT内部接口
    在内网相应接口的接口配置模式下执行:ip nat inside
    2. 指定NAT外部接口
    在外网相应接口的接口配置模式下执行:ip nat outside
    3. 在全局配置模式下,定义一个标准的access-list规则,声明允许哪些内部本地地址可以进行动态地址转换:
    access-list list-num
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Zephyr学习(四)系统时钟 下一篇2.7 usb摄像头之usb摄像头描述符..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目