开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第16天,点击查看活动详情
网络地址转换技术NAT
私有地址无法在公网上传输数据
由IETE定义的标准允许机构以一个地址出现在公网上
NAT 技术的定义
NAT 是一种将私有(保留)地址转化为合法IP 地址的转换技术,其实现原理是在局域网内部网络中使用内部地址,而当内部主机要与外部网络进行通信时,在网关出口处将内部地址替换成公用地址,从而使得内部主机能够正常访问Internet。
NAT主要包括两个方面
(1)正向地址转换:是把私有网络内部发出的IP数据报文的源IP地址和端口号转换为外部代理服务器的IP地址和一个端口,通过代理服务器的IP地址和一个端口来访问Internet;(私——>公)
(2)反向地址转换:是把Internet来的IP数据报文的目的IP地址和端口号转换为私有网络内部的主机IP地址和端口号。(公——>私)
NAT功能的路由器至少要有一个内部端口(Inside)EHTERNET 端口,连接内网一个外部端口(Outside),一般用SERIAL串行端口,连接外网。
NAT 可以分为3 种:
1)静态地址转换(Static NAT):静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需要具体指定进行转换的合法地址。
如果内部网络有WWW服务器或FTP服务器等可以为外部用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。
2)动态地址转换(Pooled NAT):动态地址转换是从内部合法地址池中动态地选择一个未使用的地址来对内部本地地址进行转换。主要应用于拨号
3)网络地址端口转换(Port-Level NAT):NAPT将内部连接映射到外部网络中的一个单独的IP 地址上,同时在该地址上加上一个由NAT 设备选定的TCP 端口号,就是以不同的协议端口号与不同的内部地址相对应。常用于拨号上Internet网。缺点:拥塞,优点:节省的ISP上网费用和易管理
NAT的优点:
① 地址转换可以使内部网络用户方便的访问Internet。
② 地址转换可以使内部局域网的许多主机共享一个IP 地址上网大大节约了合法的IP 地址。
③ 地址转换可以屏蔽内部网络的用户提高内部网络的安全性。
④ 地址转换同样可以提供给外部网络WWW、FTP、Telnet 等服务。
⑤ 地址转换技术可以使得内部局域网的IP 地址分配变得容易维护,不会因为合法地址转换的缺乏而不容易合理分配内部局域网的IP 地址,并且当外部有变化的时候也不需要改动内部局域网内部的配置。
缺点:
① 地址转换对于报文内容中含有有用的地址信息的情况需要做特殊处理,这种情况的代表协议是FTP。
② 地址转换不能处理IP 报头加密的情况。
③ 地址转换由于隐藏了内部主机地址有时候会使网络调试变得复杂。
注意:网络连接过程中,流程:1)搭建拓扑;2)调通网络;3)扩展:安全;4)冗余链路;5)广域网;6)NAT等。
NAT 的适用范围如下:
① 连接到Internet,但却没有足够的合法地址分配给内部主机。
② 更改到一个需要重新分配地址的ISP。
③ 有相同的IP 地址的两个Internat 合并。
④ 支持负载均衡(主机)。
地址转换技术地址和地址代理技术的区别:
相同点:都是提供了私有地址访问Internet的能力
不同点:本质在于TCP/IP协议栈中工作的位置不同;
地址转换技术工作在网络层
地址代理技术工作在应用层
NAT技术的基本原理:NAT就是将网络地址从一个地址空间转换到另外一个地址空间的一个行为。
NAT的类型:
1)NAT(Network Address Translation):转换后,一个本地IP地址对应一个全局IP地址
2)NAPT (Network Address Port Translation):转换后,多个本地地址对应一个全局IP地址
NAT/NAPT的术语
内部网络 - Inside
外部网络 - Outside
内部本地地址-Inside Local Address:用于指定于内部网络的主机地址,该地址全局唯一,且为私有地址;
内部全局地址-Inside Global Address:代表一个或更多内部IP到外部网络的合法IP,由网络服务提供商ISP所提供的,用于内网设备与外网设备通信使用,通常是公网地址;
外部本地地址-Outside Local Address:外部网络的主机地址,这个地址是在面向内网设备时所使用的,它不一定是一个公网地址;
外部全局地址-Outside Global Address:外部网络主机的合法IP;
NAT工作原理
NAPT工作原理
NAT的相关配置
NAT/NAPT的配置有两种: 静态NAT/NAPT;动态NAT/NAPT
1)静态NAT/NAPT
需要向外网络提供信息服务的主机
永久的一对一IP地址映射关系
2)动态NAT/NAPT
只访问外网服务,不提供信息服务的主机
内部主机数可以大于全局IP地址数
最多访问外网主机数决定于全局IP地址数
临时的一对一IP地址映射关系
静态NAT
1、定义内网接口和外网接口
Router(config)#interface fastethernet 0
Router(config-if)#ip nat outside
Router(config)#interface fastethernet 1
Router(config-if)#ip nat inside
2、建立静态的映射关系
Router(config)#ip nat inside source static 192.168.1.7 200.8.7.3
静态NAPT
1、定义内网接口和外网接口
Router(config)#interface fastethernet 0
Router(config-if)#ip nat outside
Router(config)#interface fastethernet 1
Router(config-if)#ip nat inside
2、建立静态的映射关系
Router(config)#ip nat inside source static tcp
192.168.1.7 1024 200.8.7.3 1024
Router(config)#ip nat inside source static udp 192.168.1.7 1024 200.8.7.3 1024
动态NAT配置
1、定义内网接口和外网接口
Router(config-if)#ip nat outside
Router(config-if)#ip nat inside
2、定义内部本地地址范围
Router(config)#access-list 10 permit 192.168.1.0 0.0.0.255
3、定义内部全局地址池
Router(config)#ip nat pool abc 200.8.7.3 200.8.7.10 netmask 255.255.255.0
4、建立映射关系
Router(config)#ip nat inside source list 10 pool abc
动态NAPT配置
1、定义内网接口和外网接口
Router(config-if)#ip nat outside
Router(config-if)#ip nat inside
2、定义内部本地地址范围
Router(config)#access-list 10 permit 192.168.1.0 0.0.0.255
3、定义内部全局地址池
Router(config)#ip nat pool abc 200.8.7.3 200.8.7.3 netmask 255.255.255.0
4、建立映射关系
Router(config)#ip nat inside source list 10 pool abc overload
NAT/NAPT的监视和维护命令
显示命令
show ip nat statistics 显示翻译统计
show ip nat translations [verbose] 显示活动翻译
清除状态命令
clear ip nat translation *
从NAT转换表中清除所有动态地址转换项
clear ip nat translation inside local-address global-address
清除一个包含指定内部翻译的转换项
更多的命令用 clear ip nat ?
应用NAT技术的安全策略
NAT/NAPT带来的限制
限制
影响网络性能
不能处理IP报头加密的报文;
无法实现端到端的路径跟踪(traceroute)
某些应用可能支持不了:内嵌IP地址
内嵌IP地址的应用有:FTP\DNS\NetMeeting\H.323,VoIP\其它自编应用