在IPV4地址中,还存在私有ip地址与公有ip地址的区分:
公有地址:具有全球唯一性,可以在互联网中通讯,需要付费使用
私有地址:具有本地唯一性,不能在互联网中通讯,无需付费使用
私有ip地址: 10.0.0.0/8
172.16.0.0/16-172.31.0.0/16 192.168.0.0/24-192.168.255.0/24
NAT:网络地址转换 --- 在网络的边界路由器上进行公有与私有ip地址间转换
从内网(内部)向外网(外部)传输数据包时修改源ip地址,从外部进入内部时修改目标ip地址;
分类:
- 静态 动态
- 一对一 一对多 多对多 端口映射
配置命令: 在边界路由器上,连接外部的接口上配置;
【1】一对多 将多个私有ip地址转换为同一个公有ip地址,基于端口号进行区分;故又被成为PAT-端口地址转换;属于一种动态的nat;
缺点:
1)1ms内最多同时进行65535个数据包的地址转换,超过该数据包量需要排队增加延时;
- 由于一对多是内部多个ip地址与外部的一个ip产生临时的映射关系,故只能内部向外进行数据请求后,产生映射记录,才能让外部服务端基于该记录进行应答--内部的服务器无法为外部的设备提供服务
[r2]acl 2000 先使用acl定义可被转换的私有ip地址范围
[r2-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255(1.0网段可以被地址转换)
[r2-acl-basic-2000]q
[r2]interface g0/0/2 再在边界路由器连接外部的接口上配置一多对
[r2-GigabitEthernet0/0/2]nat outbound 2000 acl表格2000中关联ip流量,在通过该接口转出时修改其源ip地址为该物理接口(g0/0/2)的ip地址,并产生临时的映射列表,用于数据包的回复;
【二】一对一 标准的一种静态nat,固定将一个ip地址转换为另一个ip地址
在边界路由器上连接外部的接口进行配置,华为要求一多一的公有ip地址,不能为外部接口上实际配置的ip地址;
[r2-GigabitEthernet0/0/2]nat static global 12.1.1.3 inside 192.168.1.2
公有ip地址12.1.1.3与私有ip地址192.168.1.2 进行静态转换
【三】端口映射 --- 属于静态nat;仅用于一个ip地址的一个固定端口与另一个ip地址的一个固定端口进行地址转换
当外部访问本地G0/0/2的ip地址,且目标端口号为80时,将目标ip地址转换为192.168.1.2的80端口;
[r2-GigabitEthernet0/0/2]nat static protocol tcp global current-interface 80 inside 192.168.1.2 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-GigabitEthernet0/0/2]nat static protocol tcp global current-interface 8888 inside 192.168.1.3 80
当外部设备访问g0/0/2的接口ip地址时,且目标端口号8888,那么将被转换为192.168.1.3的80端口;
【四】多对多 将多个私有ip地址转换为多个公有ip地址
先使用ACL定义私有ip地址范围
[r2]acl 2005
[r2-acl-basic-2005]rule permit source 172.16.0.0 0.0.255.255
[r2-acl-basic-2005]q
再设定公有ip地址范围
[r2]nat address-group 1(组号) 12.1.1.3 12.1.1.10 从12.1.1.3到10(有1.3到1.10的公有IP)
最后到边界路由器上,连接外网的接口上进行多对多的配置;
[r2-GigabitEthernet0/0/2]nat outbound 2005 address-group 1
注:以上的配置命令,实现的效果为,172.16.0.0 0.0.255.255范围内所有的私有ip地址进入边界路由器,向外部访问时,将以65535个端口为批次循环使用12.1.1.3到12.1.1.10的所有公有ip地址;
实则为同时多个一对多;
若在命令的尾部添加no-pat指令,多对多将从动态nat变成静态nat
[r2-GigabitEthernet0/0/2]nat outbound 2005 address-group 1 no-pat
增加no-pat后,最先来的边界的路由器的ip地址,将逐一与边界的公有ip地址进行一对一的绑定;当所有公有ip被绑定完后,其他私有地址将无法再被转发;
完成以下实验:
R1配置:
<Huawei>sys
[Huawei]acl 2000
[Huawei-acl-basic-2000]
[Huawei-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[Huawei-acl-basic-2000]q
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]nat outbound 2000
Info: The NAT address pool is empty
[Huawei-GigabitEthernet0/0/1]nat static protocol tcp global current-interface 80
inside 192.168.1.4 80
Warning:The port 80 is well-known port. If you continue it may cause function fa
ilure.
Are you sure to continue?[Y/N]:y
[Huawei-GigabitEthernet0/0/1]nat static protocol tcp global current-interface 88
88 inside 192.168.1.5 80
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 12.1.1.1 24
[Huawei]ip route-static 1.1.1.0 24 12.1.1.2
R2配置:
<Huawei>sys
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 12.1.1.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 1.1.1.3 24
[Huawei]ip route-static 192.168.1.0 24 12.1.1.1
实验结果: