前言:NAT 解决了 ipv4 中地址短缺的问题,我们来学学吧
介绍 NAT
NAT(Network Address Translation)网络地址转换
简单来说,配置了 NAT 的路由器能够把我们的私有地址转换成公有地址
介绍几种 NAT 之前,我们先说清楚有关 NAT 的一些术语,下面这张图简单明了
静态 NAT
将内部本地地址与内部全局地址进行一对一的明确转换。这种方法主要用在内部网络中有对外提供服务的服务器,如 WEB、MAIL 服务器时。该方法的缺点是需要独占宝贵的合法 IP 地址。
即,如果某个合法 IP 地址已经被 NAT 静态地址转换定义,即使该地址当前没有被使用,也不能被用作其它的地址转换
配置了 NAT 的路由器把在内部本地的 WebServer 的地址(192.168.10.1)转换成内部全局(43.156.10.7)的地址。也就是公网地址
端口地址转换
路由器将「内部本地地址」与配置了 NAT 的路由器的端口一一映射
通过这种转换,可以使多个「内部本地地址」共用同一个公网 ip。
对于只申请到少量 IP 地址甚至只有一个合法 IP 地址,却经常有很多用户同时要求上网的情况,这种转换方式非常有用。
理想状况下,一个单一的 IP 地址可以使用的端口数为 4000 个
配置 NAT
配置静态 NAT 转换
配好所有的接口以后,PC3 ping IOS 是 ping 不通的,能到但是不能返回
给 R1 配静态 NAT 转换
// NAT 转换
Router(config)# ip nat inside source static /local-ip/ /global-ip/
// 在 e0/0 配置出口 NAT
R1(config)#int e0/0
R1(config-if)#ip nat outside
// 在 e0/1 配置进口 NAT
R1(config)#int e0/1
R1(config-if)# ip nat inside
查看
Router#show ip nat translations
删除
Router# clear ip nat translation *
Router# clear ip nat translation inside global-ip local-ip [outside local-ip global-ip]
Router# clear ip nat translation outside local-ip global-ip
Router# clear ip nat translation protocol inside global-ip global-port local-ip local-port [outside local-ip local-port global-ip global-port]
配置 PAT 地址转换(Overloading)
实现 pc1 pc2 ping 通 ISO,禁止 pc3 访问路由器
// 应用 NAT
R6(config)#int e0/1
R6(config-if)#ip nat inside
R6(config-if)#int e0/0
R6(config-if)#ip nat outside
// 定义一个访问列表,其中包含我们要转换的所有私有 IP 地址:
R6(config)#access-list 1 permit /private ip/ /wildcard mask/
// 启用 NAT
R6(config)#ip nat inside source list 1 interface e0/0 overload