NAT工作原理及其配置方法.ppt
第十九章网络地址翻译 NAT,NAT网络地址翻译,随着Internet的飞速发展,网上丰富的资源产生着巨大的吸引力接入Internet成为当今信息业最为迫切的需求但这受到IP地址的许多限制首先,许多局域网在未联入Internet之前,就已经运行许多年了,局 域网上有了许多现成的资源和应用程序,但它的IP地址分配不符合 Internet的国际标准,因而需要重新分配局域网的IP地址,这无疑是 劳神费时的工作其二,随着Internet的膨胀式发展,其可用的IP地址越来越少,要想 在ISP处申请一个新的IP地址已不是很容易的事了,NAT(网络地址翻译)能解决不少令人头疼的问题它解决问题的办法是:在内部网络中使用内部地址,通过NAT把内部地址翻译成合法的IP地址,在Internet上使用其具体的做法是把IP包内的地址池(内部本地)用合法的IP地址段(内部全局)来替换,Chapter Activities,Windows 95 PC,Modem,Branch office,ISDN/analog,Small office,Central site,Frame Relay,PRI,BRI,BRI,Frame Relay,Async,AAA server,Async,SA,SA,Inside Local,IP Address,Inside Global IP,Address,NAT table,PAT,NAT 术语NAT 功能NAT 三种类型,NAT 术语,Internet,Inside,Inside Local IP,Address,Simple NAT table,Inside Global,IP Address,Host B,A,C,B,A,B,D,SA,DA,SA,DA,D,C,内部本地地址:私有IP,不能直接用于互连网。内部全局地址:用来代替内部本地IP地址的,对外,或在互联网上是合法的的IP地址。,NAT 功能,Inside Local,IP Address,NAT table,Inside Global,IP Address,NAT 功能:内部网络地址转换复用内部的全局地址TCP 负载均衡解决网络地址重叠,Internet,Inside,复用内部的全局地址,将一个内部全局地址用于同时代表多个内部局部地址。主要用IP地址和端口号的组合来唯一区分各个内部主机。目前在公司内普遍应用。,复用内部的全局地址,10.1.1.2:1723,10.1.1.1:1024,NAT table,196.168.2.2:1723,196.168.2.2:1024,TCP,TCP,10.1.1.3:1492,196.168.2.2:1492,TCP,Internet,Inside,Host B,1,3,SA,DA,SA,DA,4,5,2,Host C,DA,4,Inside Global IP,Address:Port,Protocol,Inside Local IP,Address:Port,NAT三种类型,NAT有三种类型:静态NAT(staticNAT)、NAT池(pooledNAT)和端口NAT(PAT)。其中静态NAT设置起来最为简单,内部网络中的每个主机都被永久映 射成 外部网络中的某个合法的地址,多用于服务器。而NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配 的方法映射到内部网络,多用于网络中的工作站。PAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。,静态NAT(staticNAT)语法,第一步,设置外部端口。interface serial 0 ip address 61.159.62.129 255.255.255.248 ip nat outside第二步,设置内部端口。interface ethernet 0 ip address 192.168.0.1 255.255.255.0 ip nat inside,静态NAT(staticNAT)语法,第三步,在内部本地与外部合法地址之间建立静态地址转换。ip nat inside source static 内部本地地址内部合法地址。示例:ip nat inside source static 192.168.0.2 61.159.62.130/将内部网络地址转换为合法IP地址61.159.62.130 ip nat inside source static 192.168.0.3 61.159.62.131/将内部网络地址转换为合法IP地址61.159.62.131 ip nat inside source static 192.168.0.4 61.159.62.132/将内部网络地址转换为合法IP地址61.159.62.132 至此,静态地址转换配置完毕。,NAT静态映射实例,interface Ethernet0ip nat inside(指定内部接口)!interface Serial0 ip nat outside(指定外部接口)!(建立两个IP地址之间的静态映射)ip classless,注意:从外网到内网建立静态映射后,外网能PING通内部全局地址(),如果使用真实地址,则访问失败,这是因为从外网没有到达内网的路由存在!Ping 172.16.1.3 Ping 200.1.1.5!,动态NAT(pooledNAT)语法,第一步,设置外部端口。设置外部端口命令的语法如下:ip nat outside 示例:interface serial 0/进入串行端口serial 0/将其IP地址指定为61.159.62.129,子网掩码为255.255.255.192 ip nat outside/将串行口serial 0设置为外网端口 注意,可以定义多个外部端口。,动态NAT(pooledNAT)语法,第二步,设置内部端口。设置内部接口命令的语法如下:ip nat inside 示例:interface ethernet 0/进入以太网端口Ethernet 0/将其IP地址指定为172.16.100.1,子网掩码为255.255.255.0 ip nat inside/将Ethernet 0 设置为内网端口。注意,可以定义多个内部端口。,动态NAT(pooledNAT)语法,第三步,定义合法IP地址池。定义合法IP地址池命令的语法如下:ip nat pool 地址池名称 起始IP地址 终止IP地址 子网掩码 示例:ip nat pool chinanet 61.159.62.130 61.159.62.190 netmask 255.255.255.192/指明地址缓冲池的名称为chinanet,IP地址范围为61.159.62.13061.159.62.190,子网掩码为。需要注意的是,即使掩码为,也会由起始IP地址和终止IP地址对IP地址池进行限制。或ip nat pool test 61.159.62.130 61.159.62.190 prefix-length 26,动态NAT(pooledNAT)语法,第四步,定义内部网络中允许访问Internet的访问列表。定义内部访问列表命令的语法如下:access-list 标号 permit 源地址通配符(其中,标号为1-99之间的整数)示例:/允许访问Internet的网段为,反掩码为。需要注意的是,在这里采用的是反掩码,而非子网掩码。反掩码与子网掩码的关系为:反掩码+子网掩码。例如,子网掩码为,则反掩码为;子网掩码为,则反掩码为。,动态NAT(pooledNAT)语法,第五步,实现网络地址转换。在全局设置模式下将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换。命令语法如下:ip nat inside source list 访问列表标号 pool 内部合法地址池名字 示例:ip nat inside source list 1 pool chinanet 至此,动态地址转换设置完毕。,ip nat inside source list 1 pool dyn-nat!interface Ethernet0 ip nat inside!interface Serial0 ip nat outside!,动态NAT的配置,This interface connected to the outside world.,This interface connected to the inside network.,端口复用动态地址转换(PAT)语法,第一步,设置外部端口。interface serial 0 ip address 202.99.160.1 255.255.255.252 ip nat outside,端口复用动态地址转换(PAT)语法,第二步,设置内部端口。interface ethernet 0 ip address 10.100.100.1 255.255.255.0 ip nat inside,端口复用动态地址转换(PAT)语法,第三步,定义合法IP地址池。/指明地址缓冲池的名称为onlyone,IP地址范围为202.99.160.2,子网掩码为。由于本例只有一个IP地址可用,所以,起始IP地址与终止IP地址均为。如果有多个IP地址,则应当分别键入起止的IP地址。,端口复用动态地址转换(PAT)语法,第四步,定义内部访问列。允许访问Internetr的网段为,子网掩码为。需要注意的是,在这里子网掩码的顺序跟平常所写的顺序相反,即。,端口复用动态地址转换(PAT)语法,第五步,设置复用动态地址转换。在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。命令语法如下:ip nat inside source list访问列表号 pool 内部合法地址池名字 overload 示例:ip nat inside source list1 pool onlyone overload/以端口复用方式,将访问列表1中的私有IP地址转换为onlyone IP地址池中定义的合法IP地址。注意:overload是复用动态地址转换的关键词。,PAT的配置,ip nat inside source list 1 pool ovrld-nat overload!interface Ethernet0/0 ip nat inside!interface Serial0/0 ip nat outside!,Router#sh ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.2.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.2.2.1:1067 10.1.1.2:1067 172.16.2.3:23 172.16.2.3:23,Verifying NAT,A translation for a Telnet is still active.Two different inside hosts appear on the outside with a single IP address.,Basic IP address translation,Unique TCP port numbers are used to distinguishbetween hosts.,Router#show ip nat transProInside globalInside localOutside local Outside global-192.2.2.110.1.1.1-192.2.2.210.1.1.2-,IP address translation with overloading,Router#debug ip natNAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 0NAT*:s=172.166.2.2,d=192.16.2.1-10.1.1.1 0NAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 1NAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 2NAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 3NAT*:s=172.166.2.2,d=192.16.2.1-10.1.1.1 1NAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 4NAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 5NAT:s=10.1.1.1-192.16.2.1,d=172.166.2.2 6NAT*:s=172.166.2.2,d=192.16.2.1-10.1.1.1 2,Troubleshooting NAT,An example address translation inside-to-outside.,A reply to the packet sent.,An example TCP conversation,inside-to-outside.,*Indicates translation was in the fast path.,Clearing NAT Translation Entries,All entries are cleared.,192.16.2.2 is cleared.,Router#sh ip nat transPro Inside global Inside local Outside local Outside globaltcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.2:1067 172.16.2.3:23 172.16.2.3:23router#clear ip nat trans*router#router#show ip nat trans,router#show ip nat transPro Inside global Inside local Outside localOutside globaludp 192.16.2.2:1220 10.1.1.2:1120 171.69.2.132:53 171.69.2.132:53 tcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.1:1067 172.16.2.3:23 172.16.2.3:23router#clear ip nat trans udp inside 192.16.2.2 10.1.1.2 1220171.69.2.132 53 171.69.2.132 53 router#show ip nat transPro Inside global Inside local Outside localOutside globaltcp 192.16.2.1:11003 10.1.1.1:11003 172.16.2.2:23 172.16.2.2:23tcp 192.16.2.1:1067 10.1.1.3:1067 172.16.2.3:23 172.16.2.3:23,TCP 负载均衡,TCP 负载均衡:用于将一台虚拟的主机映射到几台真实的主机上。(如下图),TCP 负载均衡,NAT table,Inside Global IP,Address:Port,10.1.1.127:80,10.1.1.127:80,10.1.1.127:80,Protocol,TCP,TCP,TCP,Inside Local IP,Address:Port,10.1.1.1:80,10.1.1.2:80,10.1.1.3:80,Internet,Inside,Host B,4,5,SA,DA,SA,DA,1,3,2,Host C,Virtualhost,Realhosts,