这一节我们来学习下:NAT
NAT(network address translation)
也叫网络地址转换
学一样东西前的三个要素:who why how 现在我们就从它们开始吧.
1、WHO 什么叫NAT?
答:nat(network address translation)我们从字面上就知道它是一个网络地址转换用的协议。
2、why 我们为什么要使用它?
答:因为IPV4的IP地址出现枯竭的情况,而NAT主要是把内网的私有IP转换成公网上合法的IP地址,进行使用。
3、how ?
下面开始详细的去学习。。。
-------------------------------------------------------
内部本地地址(Inside local address):分配给内部网络中的计算机的内部IP地址。
内部合法地址(Inside global address):对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。需要申请才可取得的IP地址。
设置 NAT 的路由器至少有一个内部端口(inside)一个外部端口(outside)
内部端口:连接用户使用的内部IP地址。 可以是连接内部网的任意一个端口。
外部端口:连接的是外部网络的IP地址。 可以是路由器的任意一个连接着外部网络的端口。
NAT的几种转换模式:静态NAT 动态NAT PAT(端口复用)
1、静态NAT:(一对一关系)
静态NAT就是将内部用户使用的一个IP地址与内部合法的IP地址进行一一转换,从实实现与外部进行通信。
静态地址转换基本配置步骤:
A、在内部本地地址与内部本地合法地址之间建立静态转换。
在全局的模式下:
ip nat inside source static 内部本地地址 内部本地合法地址
B、在指定要连接网络的内部地址端口模式处:(内部端口)
ip nat inside
C、在指定连接外部网络的外部端口处:(外部端口)
ip nat outside
例如:
下面我们测试R2与外部进行静态转换。
基本配置:
上面我们完成了基本的配置,下面就开始配置静态 NAT吧。。。
注:静态NAT的外部IP,是选择外部IP范围内的其中一个。(俺开始还是用接口的IP地址,哈。马大虾就是这样的,希望大家注意啦!)
现在我们来检查成果吧。
由上面的可以看出来,R2直接可以PING 通R4,而且R4 TELNET192.168.14.2时,进入的是R2。
但由于静态NAT只是一对一的关系,只是允许单一的主机与外网通信,IP地址是固定,没有起到节省IP地址的效果,而且增加管理员的工作,安全方面也成了好大的因素,所以就出现了动态NAT。
2、动态NAT(多对多关系)。
动态NAT:也就是将内部私有IP地址转换成任意外部允许的合法IP地址,转换时不固定的,所以不知转换的IP地址是多少。
动态NAT的配置步骤:
A、定义NAT的地址池。(全局模式的情况下)
router(config)#ip nat pool 地址池名 合法的起始IP 合法的结束IP netmask 合法掩码
B、建立ACL 允许使用合法的IP地址范围。(全局模式的情况下)
router(config)#access-list 标准ACL表号 permit 私有IP网段 私有IP的反码
C、定义动态NAT(结合ACL+地址池)
router(config)#ip nat inside source 上面定义的ACL表号 pool 上面定义的地址池
D、在入接口处宣告 inside .
routter(config-if)#ip nat inside
E、在出接口处宣告 outside .
router(config-if)#ip nat outside
例如:
拓扑还是上面的那个,所以基本配置,我这里也就不再详细的配置了:
R2:192.168.123.2(F0/0)
R3:192.168.123.3(F0/0)
R1: F0/0=192.168.123.1 S1/0=192.168.14.1
R4:192.168.14.4 (S1/0)
私有IP地址:192.168.123.0/24
合法IP地址:192.168.14.0/24
---------------------------------------------------------------
下面我们直接配置吧。
下面我们来检查下它的效果:
由上面我们可以直接的看到
当R2 ping 192.168.14.4 时,它的IP地址给转换成了:192.168.14.5
当R3 ping 192.168.14.4 时,它的IP地址给转换成了:192.168.14.6
所以我们的动态NAT完成。
注:不知大家有没有发觉,虽然使用动态的NaT,管理员的工作简单了些,但若果是私有的客户机器多起来了后,一样是没有节省IP地址。
3、PAT(端口复用NAT)-也叫NAPT.
动态PAT可以使一个内部全局地址和多个内部本地地址相对应,从而可以节省合法IP地址的使用量。它有以下特征:
1、一个内部全局地址可以和多个内部本地地址建立映射,用IP地址+端口号区分各个内部地址。
2、动态PAT是临时的,如果过了一段时间没有使用,映射关系就会删除。
3、动态PAT可以只使用一个合法地址为所有内部本地地址建立映射,但映射数量是有限的,如果用多个合法地址组建成一个地址池,每个地址都能映射多个内部本地地址,则可减少因地址耗尽导致的网络拥塞。
动态NAPT的配置与动态NAT基本上相同,只是在NAT定义中,需要加上overload关键字
PAT的配置方法:(其实与动态NAT的配置方法是一样的,只是在后面加多一个关键字:overload.
PAT也分为二种:
1、使用IP地址的方式.
router(config)#ip nat pool hznethome 192.168.14.5 192.168.14.5 netmask 255.255.255.0
router(config)#access-list 10 permit 192.168.123.0 0.0.0.255
router(config)#ip nat inside source list 10 pool hznethome overload
router(config-if)#ip nat inside
router(config-if)#ip nat outside
2、使用端口的方式。
router(config)#access-list 10 permit 192.168.123.0 0.0.0.255
router(config)#ip nat inside source list 10 int s1/0 overload
router(config-if)#ip nat inside
router(config-if)#ip nat outside
由上面我们可以区分开二者之间的区别。
例如:
还是使用上面的拓扑图:基本配置也不再细说,先检查下它们的连通性。
下面我们直接来试下PAT的第一种方式:
使用IP地址的方式:
下面我们来检查它的效果:
由上面我们可以看出,当我们使用二台客户机不同的PING时,R2/R3不停的转换使用192.168.14.3这个合法的IP地址也外面进行通信。
使用端口地址的方式:
下面我们直接的发图吧!
上图我们可以看出来,端口的模式,省了一个合法的IP地址与命令也少了一条。
上面可以看出来,当我们在PING时,它会直接的调换着使用 192.168.14.1对外进行通信。
其实端口的模式是在我们日常工作中使用最多的一种!
注意:一条NAT转换条目要占用160字节内存,因此NAT的转换数目受路由器的内存限制。
本来还想记录下 TCP负载均衡配置 的,但是因为找不着服务器来代替,所以就不记录了,这章就写到这吧,下面是相关资料的链接:
1、思科路由器NAT配置详解
2、NAT配置实例
3、NAT百科
4、动态NAT配置
5、红茶三杯网站
祝大家好运!!!