NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接>
NAT(Network Address Translation
,网络地址转换),用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发, 这就是NAT的工作原理。
NAT共有三种类型:
静态NAT(Statci NAT)
动态地址NAT(Pooled NAT)
网络地址端口转换NAPT (Port-Level NAT)
其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,三种NAT方案各有利弊。 (即私有地址和公有地址一一对应)
动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。
NAPT是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。(即一个公有地址对多个私有地址)
NAT实际是“一对多”和“多对多”的实现方法
在Internet中使用NAPT时,所有不同的信息流看起来好像来源于同一个IP地址。这个优点在小型办公室内非常实用,通过从ISP处申请的一个IP地址,将多个连接通过NAPT接入Internet。实际上,许多SOHO远程访问设备支持基于PPP的动态IP地址。这样,ISP甚至不需要支持NAPT,就可以做到多个内部IP地址共用一个外部IP地址上Internet,虽然这样会导致信道的一定拥塞,但考虑到节省的ISP上网费用和易管理的特点,用NAPT还是很值得的。
NAT优点
节省共有合法IP地址
处理地址重叠
增强灵活性
安全性
NAT缺点
延迟增大
配置和维护复杂
不支持某些应用(可以通过静态NAT映射来避免)
display nat session all
实验目的:通过配置NAT路由器,实现私网与外网地址互通
system-view
[Huawei]sysname SW
[SW]vlan batch 10 20 30 40
#配置直连接口为accee类型
[SW]int g0/0/1
[SW-GigabitEthernet0/0/1]port link-type access
[SW-GigabitEthernet0/0/1]port default vlan 10
[SW-GigabitEthernet0/0/1]undo shutdown
[SW-GigabitEthernet0/0/1]int g0/0/2
[SW-GigabitEthernet0/0/2]port link-type access
[SW-GigabitEthernet0/0/2]port default vlan 20
[SW-GigabitEthernet0/0/2]undo shut
[SW-GigabitEthernet0/0/2]q
[SW]int g0/0/6
[SW-GigabitEthernet0/0/6]port link-type access
[SW-GigabitEthernet0/0/6]port default vlan 30
[SW-GigabitEthernet0/0/6]undo shut
[SW-GigabitEthernet0/0/6]q
[SW]int g0/0/5
[SW-GigabitEthernet0/0/5]port link-type access
[SW-GigabitEthernet0/0/5]port default vlan 40
[SW-GigabitEthernet0/0/5]undo shut
[SW-GigabitEthernet0/0/5]q
#配置虚拟子接口IP地址
[SW]int vlanif 10
[SW-Vlanif10]ip add 192.168.10.1 24
[SW-Vlanif10]undo shut
[SW-Vlanif10]int vlanif 20
[SW-Vlanif20]ip add 192.168.20.1 24
[SW-Vlanif20]undo shut
[SW-Vlanif20]int vlanif 30
[SW-Vlanif30]ip add 192.168.30.1 24
[SW-Vlanif30]undo shut
[SW-Vlanif30]int vlanif 40
[SW-Vlanif40]ip add 11.0.0.2 24
[SW-Vlanif40]undo shut
[SW-Vlanif40]q
#配置向上(路由)的默认路由
[SW]ip route-static 0.0.0.0 0.0.0.0 11.0.0.1
sys
[Huawei]sysname AR1
#配置接口IP地址
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 11.0.0.1 24
[AR1-GigabitEthernet0/0/0]undo shut
[AR1-GigabitEthernet0/0/0]undo shutdown
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 12.0.0.1 24
[AR1-GigabitEthernet0/0/1]undo shut
[AR1-GigabitEthernet0/0/1]q
##静态NAT模式
#静态NAT方式一:在接口上开启NAT功能
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat static enable
[AR1-GigabitEthernet0/0/1]q
#静态NAT方式二:全局模式设置PC1的数据出口时转换为8.8.8.8
[AR1]nat static global 8.8.8.8 inside 192.168.10.10
#设置静态路由
[AR1]ip route-static 192.168.0.0 16 11.0.0.2
[AR1]ip route-static 0.0.0.0 0.0.0.0 12.0.0.2
###动态NAT设置(多对多)
#新建一个名为1的nat地址池
[AR1]nat address-group 1 212.0.0.100 212.0.0.200
#acl 2000(acl编号)
[AR1]acl 2000
#(规则)允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[AR1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255
[AR1-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255
#配置接口地址转换
[AR1-acl-basic-2000]int g0/0/1
#将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换、只做IP地址转换,默认为pat)
[AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
[AR1-GigabitEthernet0/0/1]q
##Easy ip
#acl 3000(acl编号)
[AR1]acl 3000
#允许源地址为192.168.30.0/24网段的数据通过
[AR1-acl-adv-3000]rule permit ip source 192.168.30.0 0.0.0.255
[AR1-acl-adv-3000]q
#当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat outbound 3000
system-view
[Huawei]sysname AR2
#配置IP地址
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[AR2-GigabitEthernet0/0/0]undo shut
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 13.0.0.1 24
[AR2-GigabitEthernet0/0/1]undo shut
[AR2]int loo 0
[AR2-LoopBack0]ip add 111.111.111.111 32
[AR2-LoopBack0]q
#配置静态路由
[AR2]ip route-static 8.8.8.8 32 12.0.0.1
[AR2]ip route-static 212.0.0.0 24 12.0.0.1
单对单模式,共有两种方法:
nat static global 2.2.2.2 inside 192.168.10.10
int g0/0/0
nat static enable
int g0/0/0
nat static global 2.2.2.2 inside 192.168.10.10
多对多的地址转换模式
#创建地址池
nat address-group 1 100.0.0.100 100.0.0.200
#创建acl访问控制列表,并设置规则
acl 2000
rule permit source 192.168.20.0 0.0.0.255
#在内网接口处设置地址转化
int g0/0/0
nat outbound 2000 address-group 1 no-pat
多对一的地址转换模式
#创建ACL访问控制列表,并设置规则
acl 3000
rule permit ip source 192.168.30.0 0.0.0.255
#允许acl3000规则中的地址通过
int g0/0/0
nat outbound 3000
将公网地址端口映射到私网地址,实现访问(静态NAT与PAT的结合)
[R1]int g0/0/0
#将内网服务器192.168.50.10的主域名地址映射到外网口主域名地址
nat server protocol tcp global current-interface www inside 192.168.50.10 ww
#也可以使用使用端口-ip的映射,将内网服务器192.168.1.100端口号为23的地址映射到100.231.212.5端口号23的地址
ip nat inside source static tcp 192.168.1.100 23 100.231.212.5 23
ACL:access list 访问控制列表
ACL分为两种
基本acl (范围2000~2999) :只能匹配源IP地址
高级acl (范围3000~3999):可以匹配源IP、目标IP、源端口、目标端口等三层和四层的字段
在配置多对多NAT时,在接口处使用到了以下命令
nat outbound 2000 address-group 1 no-pat
这里NO-PAT的作用是不做端口转换,制作IP地址转换,默认的配置为PAT
本篇博客介绍了NAT地址转换原理,现网中,根据实际需求和指定计划进行分配
在之后会介绍华为防火墙NAT的原理及配置~~