1、网络地址转换网络地址转换(NAT)本章目标本章目标v了解地址转换(了解地址转换(NAT)的作用和工作原理)的作用和工作原理v了解各种了解各种NAT术语术语v理解理解NAT的各种应用:的各种应用:转换内部转换内部LAN地址、复地址、复用内部地址、负载均衡用内部地址、负载均衡和处理地址交叉和处理地址交叉v掌握掌握NAT的配置和排错的配置和排错本章结构本章结构网络地址转换网络地址转换NAT/PATNAT的优势缺点的优势缺点NAT的概念的概念NAT的术语的术语NAT概念和术语概念和术语NAT的配置的配置NAT的应用的应用NAT的检查与排的检查与排错错静态静态NAT的配置的配置动态动态NAT的配置的配置
2、PAT的配置的配置TCP负载均衡配置负载均衡配置用用NAT解决地址交叉的问题解决地址交叉的问题网络地址转换概述网络地址转换概述v地址转换的提出背景地址转换的提出背景 合法的合法的IP地址资源日益短缺地址资源日益短缺 一个局域网内部有很多台主机,但不是每台主机都有合一个局域网内部有很多台主机,但不是每台主机都有合法的法的IP地址,为了使所有内部主机都可以连接因特网,地址,为了使所有内部主机都可以连接因特网,需要使用地址转换需要使用地址转换 地址转换技术可以有效地隐藏内部局域网中的主机,具地址转换技术可以有效地隐藏内部局域网中的主机,具有一定的网络安全保护作用有一定的网络安全保护作用 地址转换可以
3、在局域网内部提供给外部地址转换可以在局域网内部提供给外部FTP、WWW、Telnet服务服务vNAT的原理的原理 改变改变IP包头,使目的地址、源地址或两个地址在包包头,使目的地址、源地址或两个地址在包头中被不同地址替换头中被不同地址替换网络地址转换概述网络地址转换概述局域网局域网PC2PC1Internet网络地址转换概述网络地址转换概述IP:202.0.0.1Port:3010IP:202.0.0.1Port:3000IP 数据包数据包IP:192.168.0.1Port:3000IP:192.168.0.2Port:3010网络地址转换概述网络地址转换概述vNAT的的3种实现方式种实现方
4、式 静态转换静态转换 动态转换动态转换 端口多路复用端口多路复用 v使用双向使用双向NAT可以处理地址交叉的情况可以处理地址交叉的情况v使用两个方向上的动态使用两个方向上的动态NATv会用到会用到4种类型的地址种类型的地址NAT的术语的术语公司合并,公司合并,可能导致地可能导致地址交叉址交叉NAT的术语的术语10.1.1.1外部主机外部主机B10.1.1.2外部主机外部主机Cinternet10.1.1.1NAT主机主机A1234SA=10.1.1.1DA193.3.3.11内部局部地址内部局部地址外部局部地址外部局部地址主机主机A发出的包发出的包SA=192.2.2.1DA=10.1.1.1
5、经过路由器转换的包经过路由器转换的包2内部全局地址内部全局地址外部全局地址外部全局地址经过路由器转换的包经过路由器转换的包SA=193.3.3.1DA=10.1.1.14外部局部地址外部局部地址内部局部地址内部局部地址SA=10.1.1.1DA=192.2.2.1外部主机外部主机B返回的包返回的包3外部全局地址外部全局地址内部全局地址内部全局地址NAT的优缺点的优缺点vNAT的优点的优点 节省公有合法节省公有合法IP地址地址 处理地址交叉处理地址交叉 增强灵活性增强灵活性 安全性安全性vNAT的缺点的缺点 延迟增大延迟增大 配置和维护的复杂性配置和维护的复杂性 不支持某些应用不支持某些应用支持
6、的业务类型和支持的业务类型和应用应用支持在数据流中有支持在数据流中有IP地址的业务类型地址的业务类型不支持的不支持的业务类型业务类型任何应用数据流中不承载任何应用数据流中不承载源源/目的目的IP地址的地址的TCP/UDP业务业务ICMP路由表更新路由表更新HTTPFTP(包括(包括PORT和和 PASV)DNS区域传送区域传送TFTPTCP/IP上的上的NetBIOS(数据报、(数据报、名称和会话服务名称和会话服务BOOTPTelnetDNS(A和和PTR查询)查询)talk,ntalkNTPH.323/NetMeetingSNMPNFSIP多播(只转换源地址)多播(只转换源地址)Netsho
7、wNAT支持的数据流支持的数据流SA192.168.2.2DA192.168.2.210.1.1.310.1.1.210.1.1.1SA10.1.1.1DA10.1.1.1 NAT转换表转换表协议协议 内部用局部内部用局部IP地址地址内部用全局内部用全局IP地址地址外部用全局外部用全局IP地址地址TCP10.1.1.1192.168.2.2172.20.7.3:23172.20.7.3外部主机外部主机B172.21.7.3外部主机外部主机C转换转换LAN内部地址内部地址Internet协议协议 内部用局部内部用局部IP地址地址内部用全局内部用全局IP地址地址外部用全局外部用全局IP地址地址TC
8、P10.1.1.3:1492192.168.2.2:1492172.21.7.3:23TCP10.1.1.2:1723192.168.2.2:1723172.21.7.3:23TCP10.1.1.1:1024192.168.2.2:1024172.20.7.3:23复用复用LAN的内部地址的内部地址SA192.168.2.2DA192.168.2.2SA10.1.1.1DA10.1.1.1 NAT转换表转换表172.20.7.3外部主机外部主机B172.21.7.3外部主机外部主机CInternet10.1.1.310.1.1.210.1.1.1虚拟主机虚拟主机InternetSA10.1.1
9、.1SA10.1.1.127DA10.1.1.127DA10.1.1.110.1.1.310.1.1.210.1.1.1 NAT转换表转换表172.20.7.3外部主机外部主机B172.21.7.3外部主机外部主机C10.1.1.127协议协议内部用局部内部用局部IP地地址:端口号址:端口号内部用全局内部用全局IP地址:地址:端口号端口号外部用全局外部用全局IP地址:地址:端口号端口号TCP10.1.1.1:8010.1.1.127:80172.20.7.3:3058TCP10.1.1.2:8010.1.1.127:80172.21.7.3:4371TCP10.1.1.3:8010.1.1.1
10、27:80172.20.7.3:3062TCP负载均衡负载均衡NAT配置配置vNAT配置步骤配置步骤1、接口、接口IP地址配置地址配置2、使用访问控制列表定义、使用访问控制列表定义哪些哪些内部主机能做内部主机能做NAT3、决定采用什么公有地址,静态或地址池、决定采用什么公有地址,静态或地址池4、指定地址转换映射、指定地址转换映射5、在内部和外部端口上启用、在内部和外部端口上启用NAT静态静态NAT配置配置InternetNAT外部端口外部端口NAT内部端口内部端口内部网络内部网络192.168.100.2-192.168.100.6/24 61.159.62.129 192.168.100.1
11、v第一步:第一步:设置外部端口设置外部端口 v第二步第二步:设置内部端口:设置内部端口 v第三步:第三步:在内部本地和内部合法地址之间建立静态在内部本地和内部合法地址之间建立静态地址转换地址转换 v第四步:在内部和外部端口上启用第四步:在内部和外部端口上启用NATRouter(config)#ip nat inside source static 192.168.100.2 61.159.62.130Router(config)#ip nat inside source static 192.168.100.3 61.159.62.131Router(config)#interface ser
12、ial 0/0Router(config-if)#ip address 61.159.62.129 255.255.255.248Router(config)#interface FastEthernet 0/0Router(config-if)#ip address 192.168.100.1 255.255.255.0Router(config)#interface serial 0/0Router(config-if)#ip nat outsideRouter(config)#interface fastethernet 0/0Router(config-if)#ip nat insid
13、e静态静态NAT配置配置静态静态NAT配置配置InternetSA192.168.100.2DA192.168.100.2 NAT转换转换DA61.159.62.130SA61.159.62.130 192.168.100.161.159.62.129 NAT转换表转换表192.168.100.6192.168.100.3192.168.100.2协议协议内部用局部内部用局部IP地址地址内部用全局内部用全局IP地址地址外部用全局外部用全局IP地址地址TCP192.168.100.261.159.62.130155.34.2.3TCP192.168.100.361.159.62.131210.3
14、.4.5TCP192.168.100.661.159.62.134210.3.4.5155.34.2.3外部主机外部主机210.3.4.5外部主机外部主机InternetNAT外部端口外部端口NAT内部端口内部端口内部网络内部网络172.168.100.2-172.168.100.6/24 61.159.62.129 172.168.100.1动态动态NAT配置配置Internet动态动态NAT配置配置v第一步:第一步:设置外部端口设置外部端口IP地址地址v第二步:第二步:设置内部端口设置内部端口IP地址地址v第三步:定义内部网络中允许访问外部的访第三步:定义内部网络中允许访问外部的访问控制列
15、表问控制列表Router(config)#interface serial 0/0Router(config-if)#ip address 61.159.62.129 255.255.255.192Router(config)#interface FastEthernet 0/0Router(config-if)#ip address 172.168.100.1 255.255.255.0Router(config)#access-list 1 permit 172.168.100.0 0.0.0.255动态动态NAT配置配置v第四步:定义合法第四步:定义合法IP地址池地址池 v第五步:指定网
16、络地址转换映射第五步:指定网络地址转换映射v第六步:在内部和外部端口上启用第六步:在内部和外部端口上启用NAT Router(config)#ip nat inside source list 1 pool test0Router(config)#ip nat pool test0 61.159.62.130 61.159.62.190 network 255.255.255.192Router(config)#Interface serial 0/0Router(config-if)#Ip nat outsideRouter(config)#Interface fastethernet 0/
17、0Router(config-if)#Ip nat insideInternet172.168.100.2SA172.168.100.2DA172.168.100.2 NAT转换转换DA61.159.62.130SA61.159.62.130 155.34.2.3外部主机外部主机210.3.4.5外部主机外部主机172.168.100.3172.168.100.6172.168.100.161.159.62.129 协议协议内部用局部内部用局部IP地址地址内部用全局内部用全局IP地址:端口号地址:端口号外部用全局外部用全局IP地址地址TCP172.168.100.261.159.62.1301
18、55.34.2.3TCP172.168.100.361.159.62.131210.3.4.5TCP172.168.100.661.159.62.134210.3.4.5NAT转换表转换表动态动态NAT配置配置InternetNAT外部端口外部端口NAT内部端口内部端口内部网络内部网络10.1.1.2-10.1.1.254/24 61.159.62.129 10.1.1.1PAT配置配置v第一步第一步:设置外部端口:设置外部端口IP地址地址v第二步:第二步:设置内部端口设置内部端口IP地址地址v第三步第三步:定义内部网络中允许访问外部的访问控:定义内部网络中允许访问外部的访问控制列表制列表 R
19、outer(config)#interface serial 0/0Router(config-if)#ip address 61.159.62.129 255.255.255.192Router(config)#interface FastEthernet 0/0Router(config-if)#ip address 10.1.1.1 255.255.255.0Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255PAT配置配置v第三步:定义合法第三步:定义合法IP地址池地址池 v第五步:指定网络地址转换映射第五步:指定网络地址转换映射
20、v第六步:在内部和外部端口上启用第六步:在内部和外部端口上启用NAT Router(config)#ip nat inside source list 1 pool onlyone overloadRouter(config)#ip nat pool onlyone 61.159.62.130 61.159.62.130 netmask 255.255.255.248Router(config)#interface serial 0/0Router(config-if)#ip nat outsideRouter(config)#interface fastethernet 0/0Router(
21、config-if)#ip nat insidePAT配置配置PAT配置配置InternetSA10.1.1.2DA10.1.1.2 NAT转换转换DA61.159.62.130SA61.159.62.130 155.34.2.3外部主机外部主机210.3.4.5外部主机外部主机10.1.1.161.159.62.129 协议协议内部用局部内部用局部IP地址地址内部用全局内部用全局IP地址:端口号地址:端口号外部用全局外部用全局IP地址地址TCP10.1.1.2:102661.159.62.130:1026155.34.2.3TCP10.1.1.3:1121261.159.62.130:112
22、12210.3.4.5TCP10.1.1.254:102761.159.62.130:1027210.3.4.5NAT转换表转换表10.1.1.210.1.1.310.1.1.254v地址转换过程中,也直接使用接口的地址转换过程中,也直接使用接口的IP地址作为转地址作为转换后的源地址换后的源地址Internet局域网局域网 192.168.1.2-254/24PC2PC1S0:207.35.14.82 PC1 和和 PC2 可以直接使可以直接使用用 S0接口的接口的IP 地址作为地址作为地址转换后的公用地址转换后的公用IP地址地址PAT配置配置InternetNAT外部端口外部端口NAT内部端
23、口内部端口内部网络内部网络10.1.1.2-10.1.1.254/24 61.159.62.129 10.1.1.1 PAT配置配置v第一步:第一步:设置外部端口设置外部端口v第二步第二步:设置内部端口:设置内部端口v第三步第三步:定义内部网络中允许访问外部的访问控:定义内部网络中允许访问外部的访问控制列表制列表Router(config)#interface serial 0/0Router(config-if)#ip address61.159.62.129 255.255.255.252Router(config)#interface FastEthernet 0/0Router(con
24、fig-if)#ip address 10.1.1.1 255.255.255.0Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255PAT配置配置v第四步:定义合法第四步:定义合法IP地址池地址池 直接使用路由器的接口地址,不用定义地址池直接使用路由器的接口地址,不用定义地址池v第五步:指定网络地址转换映射第五步:指定网络地址转换映射v第六步:第六步:在内部和外部端口上启用在内部和外部端口上启用NAT Router(config)#ip nat inside source list 1 interface serial0/0 overl
25、oadRouter(config)#interface serial 0/0Router(config-if)#ip nat outsideRouter(config)#interface fastethernet 0/0Router(config-if)#ip nat insidePAT配置配置PAT配置配置InternetSA10.1.1.2DA10.1.1.2 NAT转换转换DA61.159.62.129SA61.159.62.129155.34.2.3外部主机外部主机210.3.4.5外部主机外部主机10.1.1.161.159.62.129 协议协议内部用局部内部用局部IP地址地址内
26、部用全局内部用全局IP地址:端口号地址:端口号外部用全局外部用全局IP地地址址TCP10.1.1.2:102661.159.62.129:1026155.34.2.3TCP10.1.1.3:1121261.159.62.129:11212210.3.4.5TCP10.1.1.254:102761.159.62.129:1027210.3.4.5NAT转换表转换表10.1.1.210.1.1.310.1.1.254v第一步:第一步:设置外部端口设置外部端口v第二步:设置内部端口第二步:设置内部端口v第三步:为虚拟主机定义一个标准的第三步:为虚拟主机定义一个标准的IP访问控制访问控制列表列表Rou
27、ter(config)#interface serial0/0Router(config-if)#ip address 172.20.7.1 255.255.255.224Router(config)#interface fastethernet0/0Router(config-if)#ip address 10.1.1.254 255.255.255.0Router(config)#access-list 2 permit 10.1.1.127负载均衡配置负载均衡配置负载均衡配置负载均衡配置v第四步:给真实主机定义一个第四步:给真实主机定义一个NAT地址集地址集v第五步:设置访问控制列表和第
28、五步:设置访问控制列表和NAT地址集之间的地址集之间的映射映射v第六步:在内部和外部端口上启用第六步:在内部和外部端口上启用NATRouter(config)#ip nat inside destination list 2 pool real-hostRouter(config)#ip nat pool real-host 10.1.1.1 10.1.1.3 prefix-length 24 type rotaryRouter(config)#interface serial 0/0Router(config-if)#ip nat outsideRouter(config)#interfac
29、e fastethernet 0/0Router(config-if)#ip nat inside负载均衡配置负载均衡配置InternetSA10.1.1.1SA10.1.1.127DA10.1.1.127DA10.1.1.1协议协议内部用局部内部用局部IP地址地址内部用全局内部用全局IP地址:端口号地址:端口号外部用全局外部用全局IP地址地址TCP10.1.1.1:8010.1.1.127:80172.21.7.3:3085TCP10.1.1.2:8010.1.1.127:80172.21.7.3:4371TCP10.1.1.3:8010.1.1.127:80172.21.7.3:3062
30、NAT转换表转换表10.1.1.310.1.1.210.1.1.110.1.1.127虚拟主机虚拟主机172.20.7.3外部主机外部主机172.21.7.3外部主机外部主机NAT检查与排错检查与排错v常见问题常见问题 动态地址池中是否有正确的范围的地址动态地址池中是否有正确的范围的地址 动态地址池中是否有重复的地址动态地址池中是否有重复的地址 静态映射的地址与动态地址池中的地址之间是否有重静态映射的地址与动态地址池中的地址之间是否有重复复 访问列表是否指明了要转换的正确地址,是否漏掉一访问列表是否指明了要转换的正确地址,是否漏掉一些地址,是否包括了一些不该包括的地址些地址,是否包括了一些不该
31、包括的地址 是否指明了正确的内部和外部接口是否指明了正确的内部和外部接口 不对称路由问题不对称路由问题NAT检查与排错检查与排错v测试联通性验证测试联通性验证NAT配置配置v命令命令 show ip nat translations show ip nat statisticsRouter#show ip nat translations Pro inside global inside local outside local outside global Tcp 61.159.62.130 192.168.100.2 -Tcp 61.159.62.131 192.168.100.3 -NAT
32、检查与排错检查与排错s10.1.1.1表示源地址是表示源地址是10.1.1.1d172.16.2.2表示目的地址是表示目的地址是172.16.2.210.1.1.1-192.168.2.1表示将地址表示将地址10.1.1.1转换为转换为 192.168.2.1Routerdebug ip natNat:s=10.1.1.1-192.168.2.1,d=172.16.2.2 0Nat:s=172.16.2.2,d=192.168.2.1-10.1.1.1 0Nat:s=10.1.1.1-192.168.2.1,d=172.16.2.2 1vNAT的的debug调试调试清除清除NAT表的条目表的条
33、目clear ip nat translation*清除清除NATNAT转换表中的所有条转换表中的所有条目目clear ip nat translation inside local-ip global-ip 清除包含内部转换的简单清除包含内部转换的简单转换条目转换条目clear ip nat translation outside local-ip global-ip 清除包含外部转换的简单清除包含外部转换的简单转换条目转换条目验证和监控验证和监控PATv测试网络联通性测试网络联通性v命令命令 show ip nat translations show ip nat statisticsRo
34、utershow ip nat translations Pro inside global inside local outside local outside global Tcp 207.35.14.82:6003 192.168.1.1:6003 207.35.14.83:1765 207.35.14.83:1765 Tcp 207.35.14.82:1067 192.168.1.2:1067 207.35.14.83:1766 207.35.14.83:1766本章总结本章总结网络地址转换网络地址转换NAT/PATNAT的优势缺点的优势缺点NAT的概念的概念NAT的术语的术语NAT概
35、念和术语概念和术语NAT的配置的配置NAT的应用的应用NAT的检查与排的检查与排错错网络地址转换(网络地址转换(NATNAT,Network Address Network Address TranslationTranslation)广泛应用)广泛应用于各种类型因特网接入方于各种类型因特网接入方式和各种类型的网络中式和各种类型的网络中NATNAT可以解决可以解决IPIP地址不足地址不足的问题,而且还能够有效的问题,而且还能够有效地避免来自网络外部的攻地避免来自网络外部的攻击,隐藏并保护网络内部击,隐藏并保护网络内部的计算机的计算机 静态静态NAT的配置的配置动态动态NAT的配置的配置PAT的
36、配置的配置TCP负载均衡配置负载均衡配置用用NAT解决地址交叉的问题解决地址交叉的问题NATNAT的实现方式有的实现方式有3 3种:静种:静态转换、动态转换、端口态转换、动态转换、端口多路复用多路复用 NATNAT的应用和配置:使用的应用和配置:使用NATNAT静态转换内部地址;静态转换内部地址;使用使用NATNAT动态转换内部地动态转换内部地址;使用址;使用PATPAT转换内部地转换内部地址;使用址;使用NATNAT实现实现TCPTCP负载负载均衡;使用均衡;使用NATNAT处理地址处理地址交叉交叉 实验拓扑实验拓扑 10.1.1.2/2410.1.1.3/24路由器路由器A172.16.1.2/24172.16.1.3/24路由器路由器B10.1.1.1/24192.168.1.1/24192.168.1.2/24172.16.1.1/24实验任务实验任务 v任务任务1 静态静态NAT的配置的配置v任务任务2 动态动态NAT的配置的配置v任务任务3 PAT的配置的配置 v完成标准完成标准 网络正确联通网络正确联通 内部网络经过内部网络经过NAT后,每个小组的内部后,每个小组的内部PC能能与外部地址通讯与外部地址通讯 使用使用show ip nat translations 可以查看到相可以查看到相应的地址转换应的地址转换