云计算学习笔记——网络地址转换(NAT)

                                第十二章 网络地址转换(NAT)

学习目标
理解NAT的实现方式
理解NAT的工作过程
会配置NAT
会分析并排查各类NAT故障

一、NAT概述
1、NAT的概念与实现方式
(1)概念:
①NAT(Network Address Translation)通过将内部网络的私有IP地址翻译成全球唯一的公网IP地址,使内部网络可以连接到互联网等外部网络上,广泛应用于各种类型的互联网接入方式和各种类型的网络中。
②Cisco的NAT虽然可以处理很多应用,但还是有一些应用无法支持
(2)NAT的实现
①静态转换(Static Translation) 
一对一直接指定一个固定的外部地址
②动态转换(Dynamic Translation)
多对多,不固定
③端口地址转换(Port Address Translation,PAT)
多对一
2、NAT的术语与转换表
(1)内部局域IP地址(Inside Location Address):内部网络中分配给主机的私有IP地址
(2)内部全局IP地址(Inside Global Address):通常是从全球统一可寻址的地址空间中分配的,一般由互联网服务提供商提供
(3)外部全局IP地址(outside global address):外部网络上的主机分配的IP地址,通常是从全球统一可寻址地址空间中分配的
(4)外部局域IP地址(outside location address):外部主机表现在内部网络的IP地址。目前应用较少
(5)简单转换条目(simple translation entry):将一个IP地址映射到另一个IP地址的转换条目
(6)扩展转换条目(extended translation entry):映射IP地址和端口到另一对IP地址和端口的条目
3、NAT实现方法的工作过程
(1)静态转换和动态转换
①网络内部主机上的用户建立到外部主机的一条链路
②边界路由从内部主机接收到第一个数据包时,检查NAT转换表
③如果已配置了静态地址转换,或建立了动态地址转换,路由器将继续第4步。否则将对该内部地址进行转换。路由器将为其从动态地址集中分配一个合法地址,并建立从内部局域地址到内部全局地址的映射。这种类型的转换条目称为简单转换条目
④边界路由使用所选的内部全局地址来替换内部局部IP地址,并转发该数据包
⑤外部主机收到该数据包,并用4所分配的内部全局地址来对内部主机进行应答
⑥边界路由接收到应答数据包时,将通过NAT转换表查出对应的内部局部地址,并将地址转换回内部局部地址并转发数据包。对于每个数据包,路由器都将执行2-5的操作

(2)端口地址转换(PAT)
①网络内部主机的用户建立到外部主机的一条链路
②边界路由从内部主机接收到首个数据包时,检查NAT转换表
③如果还没有为该地址建立转换映射,路由器会决定对该地址进行转换。路由器为该内部地址建立到内部全局合法地址的映射
④如果启用了地址服用功能,且已经有其他地址转换映射存在。路由器将再次启用内部全局地址,为该内部局部地址建立映射。同时为 该映射与其他转换条目进行分区,并保留足够的信息。这种类型的转换条目(包含IP和端口号)称为扩展转换条目
⑤边界路由使用所选的内部全局地址来替换内部局部IP地址,并转发该数据包
⑥外部主机收到该数据包,并用4所分配的内部全局地址来对内部主机进行应答
⑦当边界路由接收到应答数据包,路由将用内部全局地址及协议端口好和外部地址及端口号,从NAT转换表中查找对应的内部局部地址和端口号。最后将不地地址转换成内部局部地址后转发到内部主机。对于每个数据包路由器都将执行2-5的操作

4、NAT的特性
(1)优点:
①节省公有合法IP地址
②处理地址重叠
③增强灵活性
④安全性

(2)缺点:
①延迟增大
②配置和维护的复杂性
③不支持某些应用,可以通过静态NAT映射来避免


二、NAT配置步骤
1、静态NAT配置
(1)定义外网接口IP
①Ip address 61.159.62.130 255.255.255.248
(2)定义内部端口IP
①Ip address 192.168.100.1 255.255.255.0
(3)建立静态NAT
Ip nat inside source static local-ip global-ip [extendable]
② [extendable]:可选参数,表示允许同一个内部局部地址映射到多个内部全局地址
③Inside:表示从inside扣进入的流量对源地址进行静态转换
(4)在内外端口上启用NAT
①Ip nat outside
②Ip nat inside

(5)查看show ip nat translation
2、动态NATT配置
(1)设置外部端口的IP地址
(2)设置内部端口的IP地址
(3)定义内部网络中允许访问外网的ACL
Access-list 1 permit 192.168.100.0 0.0.0.255
(4)定义合法IP地址池
Ip nat pool NAME START-IP END-IP {netmask NETMASK|prefix-lenght PREFIX-LENGHT} [type rotary]
Ip nat pool pool1 61.159.62.131 61.159.62.190 netmask 255.255.255.192
③type rotary:可选命令,表示地址池中的地址为循环使用
④如果有多个合法地址池,可重复此命令添加,设置不同的NAME
(5)实现网络地址转换
①将ACL于地址池绑定
1)Ip nat inside source list access-list-number pool pool-name [overload]
2)[overload]:可选项,表示启用地址复用
(6)在内外端口启用NAT
①ip nat outside
②Ip nat inside
(7)配置默认路由
3、PAT配置
(1)使用外部全局地址
①配置外部端口和内部端口IP地址
②内部访问列表
1)Access-list 1 permit 10.1.1.0 0.0.0.255
③定义合法IP地址池
1)Ip nat pool pool1 61.159.62.131 61.159.62.190 netmask 255.255.255.192
④设置复用动态IP地址转换
1)全局中:Ip nat inside source list access-list-number pool pool-name overload
⑤内外端口上启用NAT
⑥配置默认路由
(2)复用路由器外部接口地址
①配置外部端口和内部端口IP地址
②定义内部访问列表
③定义合法IP地址池(由于直接使用外部接口地址,所以不再定义IP地址池)
④设置复用动态IP地址转换
1)Ip nat inside source list 1 interface f0/0 overload
⑤内外接口启用NAT
⑥配置默认路由
4、ANT端口映射
(1)Ip nat inside source static protocol local-ip UDP/TCP-port global-ip IDP/TCP-port [extendable]
(2)Ip nat inside soure staic TCP 192.168.100.2 80 61.159.62.131 8080 extendable

三、NAT的故障处理
1、是否正确设置了ACL
2、定义需要进行NAT的ACL时,漏掉了需要进行地址转换的网络
3、NAT语句中漏掉overload,PAT必须使用overload
4、有多个接口的路由器,必须保证所有接口都开启NAT
5、静态NAT与动态NAT地址不能重叠
6、Inside与outside接口配置错误

四、综合实例

1、静态NAT配置
(1)设置路由器内部接口IP
①Int g0/0
②Ip address 192.168.1.1 255.255.255.0
(2)设置外部接口IP
①Int g0/2
②Ip add 218.29.31.2 255.255.255.0
(3)建立静态NAT
Ip nat inside source static 192.168.1.101 218.29.31.2
(4)内外接口启用NAT
①Int g0/0
Ip nat inside
③Int g0/2
Ip nat outside
(5)设置默认路由
①Ip route 0.0.0.0 0.0.0.0 g0/1
2、动态NAT设置
(1)设置路由器内部接口IP
①Int g0/0
②Ip address 192.168.1.1 255.255.255.0
(2)设置外部接口IP
①Int g0/2
②Ip add 218.29.30.2 255.255.255.0
(3)设置内部接口ACL
Access-list 1 permit 192.168.1.0 0.0.0.255
(4)定义外部地址池
Ip nat pool pool1 218.29.30.2 218.29.30.3 netmask 255.255.255.0
(5)内部及外部地址池绑定
Ip nat inside source list 1 pool pool1
(6)内外端口开启NAT
①Int g0/0
Ip nat inside
③Int g0/1
Ip nat outside
(7)设置默认路由
①Ip route 0.0.0.0 0.0.0.0 g0/1
3、配置PAT
(1)设置路由器内部接口
①Int g0/0
②Ip add 192.168.1.1 255.255.255.0
(2)设置外部接口
①Int g0/1
②Ip add 218.29.30.1 255.255.255.0
③Int g0/2
④Ip add 218.29.31.1 255.255.255.0
(3)设置内网ACL
Access-list 1 permit 192.168.1.0 0.0.0.255
(4)定义地址池
ip nat pool pool1 218.29.30.1 218.29.31.1 netmask 255.255.255.0
(5)设置服用动态IP转换
Ip nat inside source list 1 pool pool1 overload
(6)内外端口开启NAT
①Int g0/0
Ip nat inside
③Int ran g0/1-2
Ip nat outside
4、端口映射
(1)Ip nat inside source static tcp 192.168.1.100 80 218.29.30.1:8089
Ip nat inside source static tcp 192.168.1.100 80 218.29.31.1:8089
(2)Ip nat inside source static tcp 192.168.1.200 80 218.29.30.1:8098
Ip nat inside source static tcp 192.168.1.200 80 218.29.31.1:8098

5、验证:



 

发布了40 篇原创文章 · 获赞 15 · 访问量 3498

猜你喜欢

转载自blog.csdn.net/lkolkolkol/article/details/103172724