NAT概述
NAT(Network Address Translation)又称为网络地址转换,用于实现私有网络和公有网络之间的互访。

私有网络地址和公有网络地址
私有网络地址(以下简称私网地址)是指内部网络或主机的IP地址,公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。IANA(Internet Assigned Number Authority)规定将下列的IP地址保留用作私网地址,不在Internet上被分配,可在一个单位或公司内部使用。RFC1918中规定私有地址如下:
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基本原理

内部网络的地址是10.0.0.0网段,而对外的公有网络IP地址是203.196.3.23。内部的主机10.1.1.48访问外部HTTP服务器202.18.245.251,主机10.1.1.48发出一个数据报文,随机选择一个源端口6084,目的端口为80。在经过NAT设备后,该报文的源地址和端口可能改为203.196.3.23:32814,目的地址与端口不改变。在NAT设备中维护着一张地址和端口对应表,也称为转换表项,或转换槽位,当外部网络的WWW服务器返回数据包时,NAT设备检查转换表项,将数据报文中目的IP地址及端口转化为10.1.1.48:6084。实现了内部主机10.1.1.48访问外部服务器。

路由器支持NAT类

静态NAT、PAT、内部服务器、NAT ALG功能、NAT过滤、NAT映射、Easy IP、两次NAT及NAT多实例。

静态NAT
  静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
  内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。

PAT
  PAT又称为NAPT(Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。

PAT需要维护一张私网地址和端口的映射表。当不同的私网地址向外发送报文时,PAT将报文的源IP地址替换为相同公网地址,但源端口号被替换为不同的端口号;当外部网络向内部网络发送响应报文时,PAT根据报文的目的端口号,将报文的目的IP地址替换为不同的私网地址,如下图

内部服务器
  通过配置内部服务器,可将相应的外部地址、端口等映射到内部的服务器上,提供了外部网络主机访问内部服务器的功能例如可以使用202.110.10.10作为Web服务器的外部地址,使用202.110.10.11作为FTP服务器的外部地址,甚至还可以使用202.110.10.12:8080这样的地址作为Web的外部地址。还可为外部用户提供多台同样的服务器,如提供多台Web服务器。

NAT过滤
  NAT过滤是指NAT设备对外网发到内网的流量进行过滤,即当私网主机向某公网主机发起访问后,公网主机发向私网主机的流量经过NAT设备时会进行过滤。

Easy IP
  当进行地址转换时,直接使用接口的公有IP地址作为转换后的源地址。同样它也利用访问控制列表控制哪些内部地址可以进行地址转换。

地址转换应用层网关
  地址转换会导致许多对NAT敏感的应用协议无法正常工作,必须针对该协议进行特殊的处理。所谓对NAT敏感的协议是指该协议的某些报文的有效载荷中携带IP地址和(或)端口号,如果不进行特殊处理,将会影响后继的协议交互。
  地址转换应用层网关NAT ALG(NAT Application Level Gateway)是解决特殊协议穿越NAT的一种常用方式,该方法按照地址转换规则,对载荷中的IP地址和端口号进行替换,从而实现对该协议的透明中继。NAT ALG支持DNS、FTP协议、RTSP(Real-Time Streaming Protocol )和SIP(Session Initiation Protocol )如下图:

两次NAT 
  常规地址转换技术只转换报文的源地址或目的地址,而两次NAT(Twice NAT)技术可以将报文的源地址和目的地址同时转换,该技术应用于内部网络主机地址与公网上主机地址重叠的情况。如图所示:内部网络主机PC1和公网上主机PC3的地址重叠。这种情况下,内部网络主机PC2访问主机PC3的报文不会到达目的主机,而会被错误的转发到主机PC1上。两次NAT技术通过在NAT设备上配置重叠地址池到临时地址的映射关系(在实现常规NAT的基础上),将重叠地址转换为唯一的临时地址,来保证报文的正确转发。

在NAT设备上配置两次NAT:
第一步:配置常规NAT(多对多地址转换)。配置NAT地址池200.0.0.1~200.0.0.100,并应用到广域网接口。
第二步:配置一组重叠地址到临时地址的映射。10.0.0.0<-->3.0.0.0。
此映射表示,重叠地址池与临时地址池一一对应,转换规则为:
临时地址 = 临时地址池首地址 +(重叠地址 – 重叠地址池首地址)
重叠地址 = 重叠地址池首地址 +(临时地址 – 临时地址池首地址)
当内部主机PC2直接用域名访问公网上的主机PC3时,报文的处理流程如下:
PC2发送解析域名为www.web.com的Web服务器的DNS请求,经公网DNS服务器解析后,NAT设备收到DNS服务器的响应报文。NAT设备检查DNS响应报文载荷中的解析回来的地址10.0.0.1,经检查该地址为重叠地址(与重叠地址池匹配),将地址10.0.0.1转换为对应的临时地址3.0.0.1。之后再对DNS响应报文进行目的地址转换(常规NAT处理),发送给PC2。
PC2用www.web.com对应的临时地址3.0.0.1发起访问,当报文到达NAT设备时,先转换报文的源地址(常规NAT处理),再将报文的目的地址即临时地址,转换为对应的重叠地址10.0.0.1。将报文送到广域网出接口,并经广域网逐跳转发至主机PC3。
当PC3给PC2返回的报文到NAT设备时,先检查报文的源地址10.0.0.1,该地址为重叠地址(与重叠地址池匹配),则将源地址转换为对应的临时地址3.0.0.1。之后再对返回报文的目的地址进行常规NAT转换,并发送给PC2。

VPN关联的源NAT
   华为路由器的NAT不仅可以使内部网络的用户访问外部网络,还允许分属于不同VPN的用户通过同一个出口访问外部网络,能够解决内部网络中IP地址重叠的VPN同时访问外网主机的问题。

VPN关联的NAT Server
    华为路由器的NAT支持VPN关联的NAT server,提供给外部网络访问VPN内主机的机会,能够支持内网多个VPN地址重叠的场景。

实验拓扑如下:

NAT Outbound配置实例:

system-view
[GW]nat address-group 0 202.100.1.100 202.100.1.200

[GW]acl number 2000
[GW-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255

[GW-GigabitEthernet0/0/0]int g0/0/1
[GW-GigabitEthernet0/0/1] nat outbound 2000 address-group 0 no-pat
注:no-pat表示一对一转换,只转换地址,不转换端口,直接回车表示IP和端口都做转换。

测试:
telnet 202.100.1.1
  Press CTRL_] to quit telnet mode
  Trying 202.100.1.1 ...
  Connected to 202.100.1.1 ...
Login authentication
Password:

display users
  User-Intf    Delay    Type   Network Address     AuthenStatus    AuthorcmdFlag
+ 0   CON 0   00:00:00                                   pass                     Username : Unspecified

129 VTY 0   00:00:02  TEL    202.100.1.101             pass                     Username : Unspecified

display nat outbound    
 NAT Outbound Information:
 --------------------------------------------------------------------------
 Interface                     Acl     Address-group/IP/Interface      Type
 --------------------------------------------------------------------------
 GigabitEthernet0/0/1         2000                              0    no-pat
 --------------------------------------------------------------------------
  Total : 1

display nat session all      ====查看转换表项
  NAT Session Table Information:
     Protocol          : TCP(6)
     SrcAddr  Port Vpn : 192.168.1.1     59335                               
     DestAddr Port Vpn : 202.100.1.1     5888                                
     NAT-Info
       New SrcAddr     : 202.100.1.101
       New SrcPort     : ----
       New DestAddr    : ----
       New DestPort    : ----

[GW]reset nat session all     ===清除转换表项
Warning:The current all NAT sessions will be deleted.
Are you sure to continue?[Y/N]y

Easy IP配置实例:
[GW]int g0/0/1
[GW-GigabitEthernet0/0/1]nat outbound 2000

测试:
telnet 202.100.1.1
  Press CTRL_] to quit telnet mode
  Trying 202.100.1.1 ...
  Connected to 202.100.1.1 ...

Login authentication
Password:

display users
  User-Intf    Delay    Type   Network Address     AuthenStatus    AuthorcmdFlag
+ 0   CON 0   00:00:00                                   pass                     Username : Unspecified

129 VTY 0   00:00:11  TEL    202.100.1.10              pass                     Username : Unspecified

display nat session all
  NAT Session Table Information:
     Protocol          : TCP(6)
     SrcAddr  Port Vpn : 192.168.1.1     54467                               
     DestAddr Port Vpn : 202.100.1.1     5888                                
     NAT-Info
       New SrcAddr     : 202.100.1.10  
       New SrcPort     : 10240
       New DestAddr    : ----
       New DestPort    : ----
  Total : 1

静态NAT配置实例:
[GW]int g0/0/1
[GW-GigabitEthernet0/0/1]nat static global 202.100.1.100 inside 172.16.1.1
注:配置静态NAT时,其中的global-address和host-address必须保证和设备现有地址没有重复,包括设备接口地址,用户地址池地址等,以避免冲突。

测试:
 

display nat static
  Static Nat Information:
  Interface  : GigabitEthernet0/0/1
    Global IP/Port     : 202.100.1.100/----
    Inside IP/Port     : 172.16.1.1/----
    Protocol : ----    
    VPN instance-name  : ----                           
    Acl number         : ----
    Netmask  : 255.255.255.255
    Description : ----
  Total :    1

内部服务器配置实例:
[GW]int g0/0/1
[GW-GigabitEthernet0/0/1]nat static protocol tcp global 202.100.1.100 2121  inside 172.16.1.1 21
[GW-GigabitEthernet0/0/1]nat static protocol tcp global 202.100.1.100 80 inside 172.16.1.1 80
测试:

NAT ALG配置实例:
[GW]nat alg ?
  all   All protocol
  dns   Dns protocol
  ftp   Ftp protocol
  rtsp  Rtsp protocol
  sip   Sip protocol

NAT 过滤配置实例:
   NAT过滤是指NAT设备对外网发到内网的流量进行过滤,即当私网主机向某公网主机发起访问后,公网主机发向私网主机的流量经过NAT设备时会进行过滤。

NAT过滤包括三种类型:
a.与外部地址和端口无关的NAT过滤行为。
b.与外部地址相关端口无关的NAT过滤行为。
c.与外部地址和端口都相关的NAT过滤行为。

[GW]nat filter-mode ?
  endpoint-and-port-dependent  Endpoint and port dependent
  endpoint-dependent           Endpoint dependent
  endpoint-independent         Endpoint independent
缺省采用endpoint-and-port-dependent方式,表示查询NAT反向映射表时,以“源IP+源端口+目的IP+目的端口+协议号”作索引进行匹配。

NAT映射配置实例:
配置NAT映射可以满足使用STUN、TURN、ICE等NAT穿越技术的终端软件能够穿越NAT。

NAT映射包含如下三种类型:
a.外部地址和端口无关的映射:对相同的内部IP和端口重用相同的地址端口映射。
b.外部地址相关端口无关的映射:对相同的内部IP地址和端口访问相同的外部IP地址时重用相同的端口映射。
c.外部地址和端口相关的映射:对相同的内部IP地址和端口号访问相同的外部IP地址和端口号重用相同的端口映射(如果此映射条目还处在活动状态)。

[GW]nat mapping-mode endpoint-independent ?
  tcp   Transmission Control Protocol
  udp   User Datagram Protocol
    Please press ENTER to execute command

配置Twice NAT实例:

如图:内部网络主机PC1和公网上主机Host A的地址重叠。这种情况下,内部网络主机PC2访问主机Host A的报文不会到达目的主机,而有可能会被错误的转发到主机PC1上。两次NAT技术通过在NAT设备上配置重叠地址池到临时地址池的映射关系(在实现常规NAT的基础上),将重叠地址转换为唯一的临时地址,来保证报文的正确转发。

1.配置DNS-Mapping
[Huawei] nat alg dns enable
[Huawei] nat dns-map www.Server.com 192.168.20.2 80 tcp

2.配置重叠地址池到临时地址池的映射关系
[Huawei] nat overlap-address 0 192.168.20.2 202.169.100.2 pool-length 254

3.配置临时地址池到出接口GigabitEthernet3/0/0的静态路由
[Huawei] ip route-static 202.169.100.2 32 gigabitethernet 3/0/0 202.169.10.2

4.配置NAT Outbound
[Huawei]acl 3180
[Huawei-acl-adv-3180] rule permit ip source 192.168.20.0 0.0.0.255

[Huawei]nat address-group 1 160.160.0.2 160.160.0.254
[Huawei-GigabitEthernet3/0/0] nat outbound 3180 address-group 1

[Huawei] display nat overlap-address all
Nat Overlap Address Pool To Temp Address Pool Map Information:
 -------------------------------------------------------------------------------
 Id  Overlap-Address  Temp-Address    Pool-Length       Inside-VPN-Instance-Name
 -------------------------------------------------------------------------------
 0   192.168.20.2     202.169.100.2   254                                 
 -------------------------------------------------------------------------------
  Total : 1

配置NAT日志输出
   配置NAT日志输出功能可以实时跟踪、记录NAT流表的信息,增强网络的安全性,方便用户定位通过NAT访问网络的用户。NAT日志是设备在做NAT时生成的信息记录。该信息包括报文的源IP地址、源端口、目的IP地址、目的端口、转换后的源IP地址、转换后的源端口以及NAT的时间信息和用户执行的操作等。网络管理员可以通过查看NAT日志实时跟踪或定位用户通过NAT访问网络的情况,增强了网络的安全性。如下图:

[GW]firewall log session enable  ===启用防火墙日志功能。
[GW]firewall log session nat enable  ===启用NAT类型的流日志功能。
[GW]info-center enable  ===开启信息中心。
[GW]info-center loghost 192.168.1.100  ===配置log主机,最多可以配置8个。

华为路由器NAT配置相关推荐

  1. 华为路由器 NAT 配置

    拓扑图 静态 NAT 静态地址转换是指外部网络和内部网络之间的地址映射关系由配置确定,该方式适用于内部网络与外部网络之间存在固定访问需求的组网环境.静态地址转换支持双向互访:内网用户可以主动访问外网, ...

  2. 【收藏】华为路由器交换机配置命令大全

    华为路由器交换机配置命令:计算机命令 PCAlogin:root;使用root用户 password:linux;口令是linux #shutdown-hnow;关机 #init0;关机 #logou ...

  3. 华为路由器交换机配置命令

    华为路由器交换机配置命令:计算机命令 PCAlogin:root:使用root用户 password:linux:口令是linux shutdown-hnow:关机 init0:关机 logout:用 ...

  4. 华为路由器NAT服务找不到虚拟机【解决】

    华为路由器NAT服务.DMZ主机找不到虚拟机设备 虚拟机网络要设置桥接模式,确保Linux打开并连接了网络. 然后主机不要使用WiFi,要使用网线连接,路由器才会识别虚拟机. 下面是官方客服原话: 虚 ...

  5. 思科路由器NAT配置详解(转)

    思科路由器NAT配置详解(转) 网络技术 2010-07-11 17:48:14 阅读104 评论0   字号:大中小 订阅 思科路由器NAT配置详解 一.NAT简介: NAT(Network Add ...

  6. 华为防火墙NAT配置及简介

    华为防火墙NAT策略 一.NAT概述 NAT技术是用来解决当今IP地址资源枯竭的一种技术,同时也是IPv4到IPv6的过渡技术. 二.华为防火墙NAT分类 1.NAT No-PAT:类似于Cisco的 ...

  7. 常毅 华为计算机,华为路由器交换机配置.docx

    华为路由器交换机VLAN 配置 华为路由器交换机 VLAN 配置 使用 4 台 PC(pc 多和少,原理是一样的,所以这里我只用了4 台 pc) ,华为路由 器 (R2621) .交换机 (S3026 ...

  8. 华为防火墙查看日志命令_华为路由器防火墙配置命令总结(上)

    华为路由器防火墙配置命令总结(上) 作者:IT168 2006-06-12 11:35 评论 分享 一.access-list 用于创建访问规则. (1)创建标准访问列表 access-list [ ...

  9. 华为路由器/交换机配置telnet,ssh远程登录

    华为路由器/交换机配置telnet,ssh远程登录 文章目录 华为路由器/交换机配置telnet,ssh远程登录 1. Telnet 1.1 新建账号 1.2 配置远程访问 1.3 客户端远程访问 1 ...

最新文章

  1. 不要在桌面保存长期修改的文件否则系统挂了时候面临文件丢失的问题,长期总结面试资料(公司 题目 地址 氛围 加班情况 薪资情况)毁于一旦
  2. 基于 Storyboard 多种方式的页面跳转、参数传递
  3. [SQL Server玩转Python] 一.安装环境及T-SQL调用python脚本
  4. XML原理及应用pdf
  5. 操作系统上机题目(多进程1)
  6. 反转字符串中的元音字符_C程序消除字符串中的所有元音
  7. cesium的clock开始,结束,控制速率
  8. JAVA Opencv在图片上添加中文
  9. c++调用python接口作用是_利用Boost::Python实现C++调用python接口
  10. base64码通过http传输 +号变 空格 以及 图片编码后字符串较长导致POST提交失败 问题解决...
  11. SpringBoot学习(四)
  12. Linux指令:lspci显示PCI总线设备信息
  13. Apache下的配置文件httpd.conf、httpd-vhosts.conf 转
  14. unity激活对象组件
  15. 谷歌地图坐标转换为百度地图坐标
  16. android 5播放flash插件下载地址,Flash Player安卓版
  17. 【数据挖掘算法】(一)MSET 算法
  18. Windows 10 文件名太长 无法删除 复制 重命名
  19. StreamWiki: Enabling Viewers of Knowledge SharingLive Streams to Collaboratively Generate Archival
  20. [转]机器学习、深度学习、数据挖掘各种资源整理

热门文章

  1. 基于nodejs+vue二维码在线点餐系统 python点餐码 java php
  2. Chaikin细分曲线
  3. 百度地图Web服务API——正/逆地理编码服务
  4. GIS基于智慧城市建设的作用
  5. 【校准教程】数字万用表校准操作视频
  6. 食品药品质量追溯的现状与发展经验谈
  7. Excel开发(VBA)— 快速定位最后有记录的行
  8. 记录一次Redis未授权getshell几种常见方法
  9. Python到底有多强?双十一的时候带你领略它的强大之处!
  10. 《web课程设计》基于HTML+CSS+JavaScript典的中医药大学网(11个页面)