通过学习计算机网络的ip我们发现,ipv4最多拥有2^32位地址,不太满足现在的网络需要。
所以提出来NAT技术来对网络进行管理
在A,B,C三类网络地址中,各自存在一部分私有地址
A:10.0.0.0 - 10.255.255.255 (一个A类地址)
B:172.16.0.0-172.31.255.255 (16个B类网络)
C:192.168.0.0-192.168.255.255 (相当于256条C类网段)
而私网IP地址的可复用性(仅保持私网内部的唯一性即可)-->不能再互联网中使用,所以我们将使用私网IP地址搭建的网络称为私网,将使用公网IP地址进行通信的网络称 为公网。
NAT技术 --- 网络地址转换技术 --- 他的基本作用就是实现私网IP地址和公网IP地 址之间的一个转换。
而我学习的华为ensp的Nat都是配置在边界路由器的出接口上
1. 静态NAT 一对一的NAT 静态NAT就是通过配置,在私网边界路由器上建立维护一张静态地址映射表。静态地址映射表中记录的是公网IP地址和私网IP地址之间一一对应的关系。
[R2-GigabitEthernet0/0/2]nat static global 12.0.0.3 inside 192.168.1.2
对于12.0.0.3这个公网网段,要求:
1,必须和公网IP在同一个网段(边界路由器和LSP之间的网段)
2,这个IP地址一定是你花钱问ISP买来的 这个地址称为漂浮地址
//查看静态地址映射表
[R2]display nat static
Static Nat Information:
Interface : GigabitEthernet0/0/2
Global IP/Port : 12.0.0.3/----
Inside IP/Port : 192.168.1.2/----
Protocol : ----
VPN instance-name : ----
Acl number : ----
Netmask : 255.255.255.255
Description : ----
Total : 1
过程:如果PC1向边界路由器发送一个数据请求包(目标为公网的12.12.12.12),此时,这个数据包通过R1的缺省转发到边界路由器R2,此时R2的路由表内的缺省让这个地址指向公网的12.0.0.2,但是公网的回包,在到达边界路由时,因为配置静态NAT,此时通过映射关系,知道回到给192.168.1.2
[R3]display arp
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN/CEVLAN PVC
------------------------------------------------------------------------------
12.0.0.2 00e0-fcf5-3ad5 I - GE0/0/0
12.0.0.1 00e0-fc75-1545 19 D-0 GE0/0/0
12.0.0.3 00e0-fc75-1545 20 D-0 GE0/0/0
------------------------------------------------------------------------------
Total:3 Dynamic:2 Static:0 Interface:1
对于这个飘浮地址,用R3(公网)去ping12.0.0.1和12.0.0.3区别,对于12.0.0.1此时的ttl为255,而对于12.0.0.3的ttl为126。原因:12.0.0.1的连接为直达(不需要经过路由器转发),而12.0.0.3由于静态NAT,所以这个ping包发送到R2被修改为发送到192.168.1.2的包,此时PC1回包到R3需要经过两次转发,所以ttl为128-2---126
2.动态NAT 多对多的NAT
①,创建公网IP地址组
②,通过ACL来抓取私网IP流量(一定是允许通过的!!!)
③,将公网IP组和ACL抓取的流量绑定
动态NAT在同一时间内,依然是一对一的NAT。当上网需求量过大时,延迟会较高。
[R2]nat address-group 1 12.0.0.4 12.0.0.8
//一定买的是连续的公网IP地址,设置nat组1
[R2]acl 2000
[R2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
//允许192.168.XX网段通过
[R2-GigabitEthernet0/0/2]nat outbound 2000 address-group 1 no-pat
3.NAPT 网络地址端口转换PAT (分配数据帧中的端口号,仅在回包中使用!!!)
①,抓取私网流量
②,配置EASY IP (一对多的NAPT)
[R2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
[R2-GigabitEthernet0/0/2]nat outbound 2000
4.多对多的NAPT 网络地址端口转换PAT(分配数据帧中的端口号,仅在回包中使用!!!)
①,创建公网IP地址组 (一定买的是连续的公网IP地址)
②,通过ACL来抓取私网IP流量
③,将公网IP组和ACL抓取的流量绑定
[R2]nat address-group 1 12.0.0.4 12.0.0.8
[R2]acl 2000
[R2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
[R2-GigabitEthernet0/0/2]nat outbound 2000 address-group 1
与动态NAT区别在于no-pat
5.端口映射
此时设置一个http服务器在192.168.1.0网段内,设置一个客户端在一个公网的地址10.0.0.0/2
4内(假设已经通过该客户端的私网到达公网的ip)
[R2-GigabitEthernet0/0/2]nat server protocol tcp global 12.0.0.1 80 inside 192.168.1.10 80
//如果使用TCP的查找这个私网的80端口就默认访问192.168.1.10,但是此时一般会报错(因为这个网段可能在使用!!!)
[R2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80
//使用将这个端口的映射地址修改为current-interface 80 这个地址
Warning:The port 80 is well-known port. If you continue it may cause function failure.
//此时需要确认
Are you sure to continue?[Y/N]:y
这个时候在R2的G 0/0/2端口设置一个网络映射(选择端口号为80) ,需要禁锢这个80端口(默认80端口就是这个服务器,设置为tcp协议)
!!!如果,在私网的http内还有一个服务器也是80端口号,可以设置为默认访问端口号为8080是第二个服务器!!!
[R2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8080 inside 192.168.1.20 80
此时只需要在客户端上输入地址是加上端口号即可