CCNP路由实验之十五 NAT(网络地址转换)

Cisco路由交换-NAT详解二 概述 上篇最后说了在cisco IOS配置NAT的时候我们会发现inside、outside、source、destination这样的参数,我们常用的就是inside和source参数,今天就让我们来看一下之其中的玄奥之处。在此之前我们需要先了解一些基本的概念 基本概念 内部本地地址 内部局域网中的IP地址,常见的A、B、C类中的私网地址,转换前的源地址 内部全局地址 N... 阅读详情


       CCNP路由实验之十五 NAT(网络地址转换)

  众所周知,要让自己的电脑连上Internet,必须要到运营商(ISP)申请一个上网账号,根据此账号申请自己的宽频业务(拨号上网、商业固定IP等等),当你完成申请后,就可以通过拨号拿到一个全域唯一的公网IP,又或者直接是一个商业宽频的固定IP,(注意,其实ISP是把公网IP租给用户的,当用户不租时他们可以租给其他电脑,以提高公网IP使用率)然后用户通过这个在Internet网络上可被路由的合法IP地址,与Internet上其他的用户或服务进行通信,其实这个公网IP就是实现你可以找到别人,别人也可以找到你的目的,相当于你的网络身份证。显然,一个公网IP只有一台主机能上网,但是全球这么多计算机要上互联网,就要一机一个公网IP,此时就会导致IPv4地址空间的短缺,同时对于家庭和小型办公室来讲申请多个公网IP地址的代价是很高的,也是不现实的。而长远的解决方法是增加地址空间,也就提出了IPv6方案。但是在IPv6开发和普及期间的过渡方法就是NAT 即网络地址转换,也叫做网络掩蔽或者IP掩蔽。NAT是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的。在这个IPv4与IPv6长期共存的时期,NAT成为了一种广泛应用的技术。NAT是在IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术,这种技术使得在私有网络中有多台主机但只通过一个或几个公网IP地址访问因特网成为可能。

提示:在平时我们自己组建的局域网中都是使用私有IP地址进行彼此通信的,例如

A类:10.0.0.0-10.255.255.255(长度相当于1个A类IP地址)

B类:172.16.0.0-172.31.255.255(长度相当于16个连续的B类IP地址)

C类:192.168.0.0-192.168.255.255(长度相当于256个连续的C类IP地址)

这些地址是不会被互联网分配使用的,因此它们在互联网上也从来不会被路由的。同时我们可以不必向ISP 或注册中心申请而在公司或企业内部自由使用,虽然这些私有IP地址它们不能直接和互联网连接,但他们却能帮我们组建自己的内部网络,在内部局域网中将这些地址当作公用IP地址一样使用与局域网内部的其他主机设备进行通信。


NAT转换方法

  1. Full cone NAT又叫完全锥形 NAT,一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有发自iAddr:port1的包都经由eAddr:port2向外发送。任意外部主机都能通过给eAddr:port2发包到达iAddr:port1。其实静态一对一NAT就是Full cone NAT,它的穿透性最好

  2. Address-Restricted cone NAT又叫限制锥形 NAT,它受IP限制,即只接收曾经发送到对端的IP地址来的数据包。一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有发自iAddr:port1的包都经由eAddr:port2向外发送。任意外部主机(hostAddr:any)都能通过给eAddr:port2发包到达iAddr:port1的前提是:iAddr:port1之前发送过包到hostAddr:any."any"也就是说端口不受限制。其实动态地址转换就是限制锥形 NAT

  3. Port-Restricted cone NAT类似受限制锥形NAT(Restricted cone NAT),但是还有端口限制。一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有发自iAddr:port1的包都经由eAddr:port2向外发送。一个外部主机(hostAddr:port3)能够发包到达iAddr:port1的前提是:iAddr:port1之前发送过包到hostAddr:port3.其实就是端口多路复用NAT

  4. Symmetric NAT(对称NAT)每一个来自相同内部IP与port的请求到一个特定目的地的IP地址和端口,映射到一个独特的外部来源的IP地址和端口。同一个内部主机发出一个信息包到不同的目的端,不同的映射使用外部主机收到了一封包从一个内部主机可以送一封包回来

  其实锥形NAT就是指:只要是从同一个内部地址和端口出来的包,无论目的地址是否相同,NAT 都将它转换成同一个外部地址和端口。

 

 NAT的原理

  1. 私有内部网络的client端将IP的网关 (gateway )设定指向NAT 设备或路由器,所以当client端要连上 Internet 的时候,该client的请求数据包就会被送到 NAT 主机或路由器上,这个时候的该数据包的source IP(源)依然是客户端的IP;

  2. 当数据包穿过这个 NAT 设备或路由器时,它会将 client 的对外请求数据包的 source IP 伪装成 NAT设备或路由器的外部接口IP,而这个外部接口所具有IP必须是的合法的公网 IP 了,此时这个数据包就可以连上 Internet 了,同时 NAT 主机或路由器会记忆这个数据包是由哪一个 内部 client 端传送来的,根据转换关系表转换IP,并将转换关系保存到内存

  3. 由 Internet 传送回来的封包,当然由 NAT设备或路由器的外部接口来接收了,这个时候, NAT 主机会去查询原本记录的路由信息和转换记录,并将目标 IP 由的公网 IP 改回原来的内部的client端IP;

  4. 最后则由 NAT 设备或路由器将该数据包传送给原先发送封包的 Client

借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作。

NAT功能

  1. NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

  2. 宽带分享:这是 NAT 主机的最大功能。

  3. 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。

  4. 端口转发: 当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。

  5. 负载平衡: 目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。

  6. 失效终结: 目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器当机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上。

  7. 透明代理: NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。

 

NAT的几个概念

  1. 内部本地地址(Inside Local Address) :内部网络中的PC机的私有IP地址,一般都是我们常见的10.0.0.0/172.16.0.0/192.168.0.0

  2. 内部全局地址(Inside Global Address) :是用于转换内部网络的公网IP。

  3. 外部本地地址(Outside Local Address):是访问NAT设备或路由器的外部主机使用的公网IP 地址

  4. 外部全局地址 (outside global address) : 是访问NAT设备或路由器的外部主机使用的公网IP 地址

  5. ip nat inside source:当数据包从内部传输到外部时,先检查目的地的路由表,然后进行转换数据包的源地址 即将inside local地址翻译成为inside global地址;当数据包从外部回包到内部时,先进行转换数据包的目标地址,即将inside global地址翻译成为inside local地址,然后检查目的地的路由表。也就是说将inside source看成inside接口作为源,触发点就是在inside接口

  6. ip nat inside destination : 当数据包从外输到内部时,先转换数据包的目标地址,即将外部全局地址转换为外部局部地址,然后检查目的地的路由;当数据包从内部回包到外部时,先检查目的地的路由表,然后转换数据包的源地址,即将外部局部地址转换为外部全局地址。也就是说inside destination看成inside接口作为目的,那么触发点就是在outside接口

  7. ip nat outside source 当数据包从外部传输到内部时,先转换数据包的源地址,将外部全局地址转换为外部局部地址,然后检查目的地的路由表;当数据包从内部回包到外部时,先检查目的地的路由表,然后转换数据包的目标地址,将外部局部地址转换为外部全局地址;也就是说outside source看成outside接口作为源,那么触发点就是在outside接口 。注意当配置ip nat outside source 时候,从内口到外口时要先检查路由表,也就是一定要将转换的outside local的路由加到外口,cisco中提供了add-route参数。例:ip natoutside source list 1 pool test add-route;

  8. ip nat outside destination当数据包从外部传输到内部时,先转换数据包的目标地址,即将内部全局地址转换为内部局部地址,然后检查路由表;当从内部回包到外部时,先检查目的的路由表,然后转换数据包的目的地址,即将内部局部地址转换为内部全局地址。也就是说outside destination看成outside接口作为目的,那么触发点就是在inside接口

     

    NAT实现方式

  1. 静态转换(Static Nat)是指将内部网络的私有IP地址转换为公有IP地址,IP地址是一对一的永久映射,即某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

  2. 动态转换(Dynamic Nat)是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。实际环境中用的比较少

  3. 端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port AddressTranslation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

  4. 网络地址端口转换(NAPT)将内部网络指定主机的指定端口映射到全局地址的指定端口上,一般用于把服务器的服务端口放到外网,提供访问

  5. 区域无关NAT (DomainlessNAT)  Domainless就是说不再区分inside和outside,只是单纯地做NAT,没有用所谓的平衡点,进而两个方向NAT的处理HOOK点也不再基于平衡点对称,所有的NAT操作全部在PREROUTING上做,它用一个叫做NATVirtual Interface(NVI)的虚拟接口来实现,通过路由的方式将带有ipnat enable配置的接口进来的包全部导入这个虚拟接口NVI0中。然后用数据包的源地址和目标地址分别查询SNAT表和DNAT表,根据结果进行NAT操作,随后进入真正的路由查询, 可见,不管方向,不管路由,只要数据包进入了一块带有ip natenable配置的物理网卡,就会先路由再NAT然后再路由(第一个路由只是匹配一下路由,而没有真正的路由行为,第二个路由则是真实的路由行为),不管是SNAT和DNAT都在这里进行。数据包在进入真正的路由查询前,NAT就已经完成了,在路由器看来,NAT操作被藏起来了,就好像数据包本来就是那个样子一样。当然Domainless的NAT也不再和任何其它操作关联,ACL,VPN感兴趣流匹配,policyrouting等都和NAT无关 

NAT的处理顺序

以下的NAT处理循序依次尝试匹配,直至发现第一个匹配项为止。

    1. NAT免除(使用nat 0 access-list命令)。(防火墙上有)

    2. 策略NAT(使用加载了access-list的static命令)。

    3. 静态NAT(使用static命令)。

    4. 静态PAT(使用static命令)。

    5. 策略NAT(使用加载了access-list的nat命令)。

    6. 动态NAT(使用nat命令)。

    7. 动态PAT(使用nat命令)

       

      NAT的缺点:

  1. NAT违反了IP地址结构模型的设计原则。IP地址结构模型的基础是每个IP地址均标识了一个网络的连接。Internet的软件设计就是建立在这个前提之上,而NAT使得有很多主机可能在使用相同的地址,如10.0.0.1。

  2. NAT使得IP协议从面向无连接变成面向连接。NAT必须维护专用IP地址与公用IP地址以及端口号的映射关系。在TCP/IP协议体系中,如果一个路由器出现故障,不会影响到TCP协议的执行。因为只要几秒收不到应答,发送进程就会进入超时重传处理。而当存在NAT时,最初设计的TCP/IP协议过程将发生变化,Internet可能变得非常脆弱。

  3. NAT违反了基本的网络分层结构模型的设计原则。因为在传统的网络分层结构模型中,第N层是不能修改第N+1层的报头内容的。NAT破坏了这种各层独立的原则。

  4. 有些应用是将IP地址插入到正文的内容中,例如标准的FTP协议与IP Phone协议H.323。如果NAT与这一类协议一起工作,那么NAT协议一定要做适当地修正。同时,网络的传输层也可能使用TCP与UDP协议之外的其他协议,那么NAT协议必须知道并且做相应的修改。由于NAT的存在,使得P2P应用实现出现困难,因为P2P的文件共享与语音共享都是建立在IP协议的基础上的。

  5. NAT同时存在对高层协议和安全性的影响问题。RFC对NAT存在的问题进行了讨论。NAT的反对者认为这种临时性的缓解IP地址短缺的方案推迟了Ipv6迁移的进程,而并没有解决深层次的问题,他们认为是不可取的。

  6. 在一个具有NAT功能的路由器下的主机并没有建立真正的端对端连接,并且不能参与一些因特网协议。一些需要初始化从外部网络建立的TCP连接,和使用无状态协议(比如UDP)的服务将被中断。除非NAT路由器作一些具体的努力,否则送来的数据包将不能到达正确的目的地址。(一些协议有时可以在应用层网关的辅助下,在参与NAT的主机之间容纳一个NAT的实例,比如FTP。)NAT也会使安全协议变的复杂。

 

在使用NAT时需要考虑到的问题

  1. 使用NAT地址转换会使路由器处理数据包延迟增大。路由器的CPU必须对每个数据包进行检查,对需要改变地址信息的数据包进行操作,因此 会加大运行负载。同时,路由器要使用NAT技术,必须处于处理机交换(process swithing)的工作模式,可能会降低运行性能。 

  2. NAT隐藏了端到端的ip地址,使得对数据包路径的跟踪变的比较困难。而且,正是由于这个原因,使得一些内嵌的ip地址在应用中会产生问题,比如ICMP协议,FTP,NBT,SNMP,DNS,VOIP等。 

  3. 还有,如果使用IPSec进行加密,则只能把NAT放在受保护的VPN内部,或者使用具有NAT功能的IPSec设备。因为IPSec规定ip地址不能被改变。如果改变了ip地址,就会破坏VPN的功能。如果确实需要对已用IPSec加密的数据进行地址改变,那就应该考虑使用RSIP技术作为代替了。

  4. 端口回流(NAT loopback),指当内网有服务映射到网关后,内网主机也可以用网关外部地址访问,凡是支持回流功能的路由器,都可以从内网访问网关外部地址上映射的服务,不支持回流技术的当然就不行。路由回流在cisco的防火墙可以做,在路由器中,则有的可以做,有的不行

  5. Cisco没有像Linux那样使用“pre/post路由”这么技术化的术语来定义NAT的行为,而是完全根据Domain来定义,所谓的Domain,即路由器两边一边属于inside,另一边属于outside。那么所有的NAT无外乎就以下4种类型:
    1>从inside到outside时转换源地址
    2>从inside到outside时转换目标地址
    3>从outside到inside时转换源地址
    4>从outside到inside时转换目标地址
    其中1和4互相隐含,2和3互相隐含

     

     

     

    实验一、静态一对一的NAT

    PC配置:

    PC#conf t

    PC(config)#no ip routing

    PC(config)#ip default-gateway 192.168.0.1

    PC(config)#int fa0/0

    PC(config-if)#ip add 192.168.0.100 255.255.255.0

    PC(config-if)#no sh

    PC(config-if)#exit

     

    Server配置:

    Server#conf t

    Server(config)#no ip routing

    Server(config)#ip default-gateway 192.168.0.1

    Server(config)#int fa0/0

    Server(config-if)#ip add 192.168.0.80 255.255.255.0

    Server(config-if)#no sh

    Server(config-if)#exit

     

    Internet配置:

    Internet#conf t

    Internet(config)#int fa0/0

    Internet(config-if)#ip add 202.100.100.100 255.255.255.0

    Internet(config-if)#no sh

    Internet(config-if)#exit

    R1配置:

    R1#conf t

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat inside //指定连接内部网络的内部接口,并启用NAT

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat outside //指定连接外部网络的外部接口,并启用NAT

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip nat inside source static 192.168.0.80202.100.100.80//指定内部源地址192.168.0.80静态一对一转换为202.100.100.80。当然可以设置转换为外部接口的IP:202.100.100.1,但是这样外部网络访问202.100.100.1的时候就全部转向访问Server了,如果内部网络不要求上网或没有其他服务时可以这样做,否则会影响内部网络的使用。所以不推荐

     

    测试检查:

    PC#ping 202.100.100.100 //PC没有转换

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    .....

    Success rate is 0 percent (0/5)

     

    Server#ping 202.100.100.100 //Server直接访问外部Internet

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    .!!!!

    Success rate is 80 percent (4/5), round-trip min/avg/max= 28/70/124 ms

     

    Internet#ping 202.100.100.80 //Internet直接通过公网IP访问内部Server

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.80, timeoutis 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 28/77/152 ms

     

    PC#ping 202.100.100.80 //PC可以通过公网IP访问内部服务器

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.80, timeoutis 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 8/39/140 ms

     

    R1#debug ip nat  //在R1调试转换信息,对于ICMP包,NAT通过更改ICMP的ID,来实现多对少的映射

    IP NAT debugging is on

    *Mar  100:12:25.683: NAT*: s=192.168.0.80->202.100.100.80, d=202.100.100.100 [0]

    *Mar  100:12:26.655: NAT*: s=192.168.0.80->202.100.100.80, d=202.100.100.100 [1]

    *Mar  100:12:26.751: NAT*: s=202.100.100.100, d=202.100.100.80->192.168.0.80 [1]

    *Mar  100:12:26.815: NAT*: s=192.168.0.80->202.100.100.80, d=202.100.100.100 [2]

     

    R1#sh ip nat translations //查看转换状态

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 202.100.100.80:1 192.168.0.80:1    202.100.100.100:1 202.100.100.100:1

    --- 202.100.100.80    192.168.0.80       ---                ---

     

    实验二、动态NAT

    PC1配置:

    PC1#conf t

    PC1(config)#no ip routing

    PC1(config)#ip default-gateway 192.168.0.1

    PC1(config)#int fa0/0

    PC1(config-if)#ip add 192.168.0.100 255.255.255.0

    PC1(config-if)#no sh

    PC1(config-if)#exit

     

    PC2配置:

    PC2#conf t

    PC2(config)#no ip routing

    PC2(config)#ip default-gateway 192.168.0.1

    PC2(config)#int fa0/0

    PC2(config-if)#ip add 192.168.0.101 255.255.255.0

    PC2(config-if)#no sh

    PC2(config-if)#exit

     

    PC3配置:

    PC3#conf t

    PC3(config)#no ip routing

    PC3(config)#ip default-gateway 192.168.0.1

    PC3(config)#int fa0/0

    PC3(config-if)#ip add 192.168.0.50 255.255.255.0

    PC3(config-if)#no sh

    PC3(config-if)#exit

     

     

    Internet配置:

    Internet#conf t

    Internet(config)#int fa0/0

    Internet(config-if)#ip add 202.100.100.100 255.255.255.0

    Internet(config-if)#no sh

    Internet(config-if)#exit

     

    R1配置:

    R1#conf t

    R1(config)#int fa0/0

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat inside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat outside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip access-list standard nat//定义可以进行转换的内部地址范围

    R1(config-std-nacl)#10 permit 192.168.0.0 0.0.0.255

    R1(config-std-nacl)#20 deny any

    R1(config-std-nacl)#exit

    R1(config)#ip nat pool global-pool 202.100.100.2202.100.100.3 netmask 255.255.255.0//创建只有两个公网IP的地址池。

    R1(config)#ip nat inside source list nat pool global-pool//创建动态转换将符合ACL的内部地址随机转换成公网IP地址池中的一个。动态NAT是临时映射关系,过一段时间没有用就会删除映射关系,释放公网IP。注意公网IP地址池有几个IP,那么同一时间只能有几台电脑可以上网,其他电脑要上网必须等临时映射关系结束才能使用被释放的公网IP再进行转换

    R1(config)#ip nat translation timeout 10 //配置动态NAT的超时时间为10s,默认为24小时,即空闲10s没有用,就删除临时映射关系。方便测试

     

    检查测试:

    PC1#ping 202.100.100.100 //PC1是第一个转换的,从公网IP池中可以取得一个公网进行转换,可以上网

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    ..!!!

    Success rate is 60 percent (3/5), round-trip min/avg/max= 28/96/172 ms

     

    PC2#ping 202.100.100.100 //PC2是第二个转换的,从公网IP池中可以取得第二个公网进行转换,可以上网

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    .!!!!

    Success rate is 80 percent (4/5), round-trip min/avg/max= 28/90/148 ms

     

    PC3#ping 202.100.100.100 r 100 //PC3由于公网IP池中地址耗尽,要等到其他内部用户的NAT临时映射关系结束,才能使用被释放出来的公网IP进行上网。

    Type escape sequence to abort.

    Sending 50, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Success rate is 0 percent (50/100)

     

    R1#debug ip nat

    IP NAT debugging is on

    *Mar  100:42:20.671: NAT*: s=192.168.0.100->202.100.100.2, d=202.100.100.100 [1]

    *Mar  1 00:42:22.795:NAT*: s=202.100.100.100, d=202.100.100.2->192.168.0.100 [2]

    *Mar  100:52:35.259: NAT*: s=192.168.0.101->202.100.100.3, d=202.100.100.100 [5]

    *Mar  100:52:35.367: NAT*: s=202.100.100.100, d=202.100.100.3->192.168.0.101 [5]

    *Mar  101:07:28.083: NAT: translation failed (A), dropping packet s=192.168.0.50d=202.100.100.100 [158] //拒绝

    *Mar  101:07:28.091: NAT: translation failed (A), dropping packet s=192.168.0.50d=202.100.100.100 [159]

    *Mar  101:07:59.007: NAT: expiring 202.100.100.2 (192.168.0.100) icmp 3 (3) //过期结束映射关系,释放公网IP

    *Mar  101:08:01.059: NAT: expiring 202.100.100.3 (192.168.0.101) icmp 2 (2)

    *Mar  101:08:06.463: NAT*: s=192.168.0.50->202.100.100.2, d=202.100.100.100 [160]

    *Mar  101:08:06.579: NAT*: s=202.100.100.100, d=202.100.100.2->192.168.0.50 [160]

    *Mar  101:08:06.659: NAT*: s=192.168.0.50->202.100.100.2, d=202.100.100.100 [161]

     

    R1#sh access-lists //查看ACL

    Standard IP access list nat

        10 permit192.168.0.0, wildcard bits 0.0.0.255 (303 matches)

    20 deny   any

     

    R1#sh ip nat translations //注意10s超时后映射关系清空

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 202.100.100.2:4  192.168.0.100:4   202.100.100.100:4 202.100.100.100:4

    --- 202.100.100.2     192.168.0.100      ---                ---

    icmp 202.100.100.3:3  192.168.0.101:3   202.100.100.100:3 202.100.100.100:3

    --- 202.100.100.3     192.168.0.101      ---                ---

     

     

     

    实验三、端口多路复用的NAT

    PC1配置:

    PC1#conf t

    PC1(config)#no ip routing

    PC1(config)#ip default-gateway 192.168.0.1

    PC1(config)#int fa0/0

    PC1(config-if)#ip add 192.168.0.100 255.255.255.0

    PC1(config-if)#no sh

    PC1(config-if)#exit

     

    PC2配置:

    PC2#conf t

    PC2(config)#no ip routing

    PC2(config)#ip default-gateway 192.168.0.1

    PC2(config)#int fa0/0

    PC2(config-if)#ip add 192.168.0.101 255.255.255.0

    PC2(config-if)#no sh

    PC2(config-if)#exit

     

    Internet配置:

    Internet#conf t

    Internet(config)#int fa0/0

    Internet(config-if)#ip add 202.100.100.100 255.255.255.0

    Internet(config-if)#no sh

    Internet(config-if)#exit

     

    R1配置:

    R1#conf t

    R1(config)#int fa0/0

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat inside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat outside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip access-list standard nat //定义可以进行NAT转换的内部IP范围

    R1(config-std-nacl)#permit 192.168.0.0 0.0.0.255

    R1(config-std-nacl)#deny any

    R1(config-std-nacl)#exit

    R1(config)#ip nat inside source list nat interface fa0/1overload//在外网接口启用端口复用NAT转换,转换我们的内部IP

     

    检查测试:

    PC1#ping 202.100.100.100

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 40/153/372 ms

     

    PC2#ping 202.100.100.100

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 28/124/388 ms

     

    R1#debug ip nat

    *Mar  100:15:31.883: NAT*: s=192.168.0.100->202.100.100.1, d=202.100.100.100 [25]

    *Mar  100:15:32.107: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.100 [25]

    *Mar  100:16:18.395: NAT*: s=192.168.0.101->202.100.100.1, d=202.100.100.100 [45]

    *Mar  100:16:18.639: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.101 [45]

     

    R1#sh ip nat translations

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 202.100.100.1:4  192.168.0.100:4   202.100.100.100:4 202.100.100.100:4

    icmp 202.100.100.1:5  192.168.0.101:4   202.100.100.100:4 202.100.100.100:5

     

    R1#sh access-lists

    Standard IP access list nat

        10 permit192.168.0.0, wildcard bits 0.0.0.255 (4 matches)

        20 deny   any

     

    实验四、动态NAT端口多路复用

    PC1配置:

    PC1#conf t

    PC1(config)#no ip routing

    PC1(config)#ip default-gateway 192.168.0.1

    PC1(config)#int fa0/0

    PC1(config-if)#ip add 192.168.0.101 255.255.255.0

    PC1(config-if)#no sh

    PC1(config-if)#exit

     

    PC2配置:

    PC2#conf t

    PC2(config)#no ip routing

    PC2(config)#ip default-gateway 192.168.0.1

    PC2(config)#int fa0/0

    PC2(config-if)#ip add 192.168.0.102 255.255.255.0

    PC2(config-if)#no sh

    PC2(config-if)#exit

     

    PC3配置:

    PC3#conf t

    PC3(config)#no ip routing

    PC3(config)#ip default-gateway 192.168.01.

    PC3(config)#ip default-gateway 192.168.0.1

    PC3(config)#int fa0/0

    PC3(config-if)#ip add 192.168.0.103 255.255.255.0

    PC3(config-if)#no sh

    PC3(config-if)#exit

     

    Internet配置:

    Internet#conf t

    Internet(config)#int fa0/0

    Internet(config-if)#ip add 202.100.100.100 255.255.255.0

    Internet(config-if)#no sh

    Internet(config-if)#exit

    R1配置:

    R1#conf t

    R1(config)#int fa0/0

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat inside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat outside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip access-list standard go-internet

    R1(config-std-nacl)#10 permit 192.168.0.0 0.0.0.255

    R1(config-std-nacl)#20 deny any

    R1(config-std-nacl)#exit

    R1(config)# ip nat pool public-ip202.100.100.80 202.100.100.81 prefix-length 24

    R1(config)#ip nat inside source list go-internet poolpublic-ip overload //注意overload参数关键,启用复用

     

    检查测试:

    PC1#ping 202.100.100.100 r 10

    Type escape sequence to abort.

    Sending 10, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    .!!!!!!!!!

    Success rate is 90 percent (9/10), round-trip min/avg/max= 28/46/108 ms

     

    PC2#ping 202.100.100.100 r 10

    Type escape sequence to abort.

    Sending 10, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    .!!!!!!!!!

    Success rate is 90 percent (9/10), round-trip min/avg/max= 28/55/80 ms

     

    PC3#ping 202.100.100.100 r 10

    Type escape sequence to abort.

    Sending 10, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    !!!!!!!!!!

    Success rate is 100 percent (10/10), round-trip min/avg/max= 40/154/1056 ms

     

    R1#debug ip nat //可见三台主机可以同时访问外网,并且只用了公网ip地址池中的其中一个IP

    IP NAT debugging is on

    *Mar  100:13:27.883: NAT*: s=202.100.100.100, d=202.100.100.80->192.168.0.101[                                                                                      9]

    *Mar  100:13:27.887: NAT*: ICMP id=0->1

    *Mar  100:13:27.887: NAT*: s=192.168.0.102->202.100.100.80, d=202.100.100.100[                                                                                      1]

    *Mar  100:13:27.895: NAT*: ICMP id=2->0

    *Mar  100:13:27.895: NAT*: s=202.100.100.100, d=202.100.100.80->192.168.0.103[                                                                                      1]

    *Mar  100:13:27.903: NAT*: ICMP id=1->0

    *Mar  100:13:27.903: NAT*: s=202.100.100.100, d=202.100.100.80->192.168.0.102[                                                                                      1]

    *Mar  100:13:27.911: NAT*: ICMP id=0->2

    *Mar  100:13:27.911: NAT*: s=192.168.0.103->202.100.100.80, d=202.100.100.100 [

     

    R1#sh ip nat translations

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 202.100.100.80:1 192.168.0.101:1   202.100.100.100:1 202.100.100.100:1

    icmp 202.100.100.80:0 192.168.0.102:1   202.100.100.100:1  202.100.100.100:0

    icmp 202.100.100.80:2 192.168.0.103:1   202.100.100.100:1 202.100.100.100:2

     

     

    实验五、网络地址端口转换(NAPT)

    PC1配置:

    PC#conf t

    PC(config)#no ip routing

    PC(config)#ip default-gateway 192.168.0.1

    PC(config)#int fa0/0

    PC(config-if)#ip add 192.168.0.100 255.255.255.0

    PC(config-if)#no sh

    PC(config-if)#exit

     

    Server配置:

    Server#conf t

    Server(config)#no ip routing

    Server(config)#ip default-gateway 192.168.0.1

    Server(config)#int fa0/0

    Server(config-if)#ip add 192.168.0.80 255.255.255.0

    Server(config-if)#no sh

    Server(config-if)#exit

     

    Internet配置:

    Internet#conf t

    Internet(config)#int fa0/0

    Internet(config-if)#ip add 202.100.100.100 255.255.255.0

    Internet(config-if)#no sh

    Internet(config-if)#exit

    Internet(config)#ip http server

     

    R1配置:

    R1#conf t

    R1(config)#int fa0/0

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat inside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat outside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip access-list standard nat //定义可以进行NAT转换的内部IP范围

    R1(config-std-nacl)#permit 192.168.0.0 0.0.0.255

    R1(config-std-nacl)#deny any

    R1(config-std-nacl)#exit

    R1(config)#ip nat inside source list nat interface fa0/1overload//开启端口多路复用让内网用户上网

    R1(config)#ip nat inside source static tcp 192.168.0.8080 202.100.100.1 80//把server的web端口80放出来,跟我们的外网IP的80建立映射。

     

    检查测试:

    PC#ping 202.100.100.100 //PC可以访问外网

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    .!!!!

    Success rate is 80 percent (4/5), round-trip min/avg/max= 44/130/216 ms

     

    PC#telnet 202.100.100.1 80 //PC不可以通过外网IP访问局域网内的服务器 (注意),传说的回流问题

    Trying 202.100.100.1, 80 ...

    % Connection refused by remote host

     

    Internet#telnet 202.100.100.1 80 //外网可以访问内网服务器的80

    Trying 202.100.100.1, 80 ... Open

    HTTP/1.1 400 Bad Request

    Date: Fri, 01 Mar 2002 00:15:36 GMT

    Server: cisco-IOS

    Accept-Ranges: none

    400 Bad Request

    [Connection to 202.100.100.1 closed by foreign host]

     

    Server#ping 202.100.100.100 //服务器可以上网

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 36/108/324 ms

     

    R1#debug ip nat

    IP NAT debugging is on

    *Mar  100:13:40.583: NAT: s=192.168.0.100->202.100.100.1, d=202.100.100.100 [0]

    *Mar  100:13:41.559: NAT*: s=192.168.0.100->202.100.100.1, d=202.100.100.100 [1]

    *Mar  100:14:43.879: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [59621]

    *Mar  100:14:44.039: NAT*: s=192.168.0.80->202.100.100.1, d=202.100.100.100 [5521]

    *Mar  100:14:44.299: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [59622]

    *Mar  100:14:44.367: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [59623]

    *Mar  100:25:08.591: NAT*: s=192.168.0.80->202.100.100.1, d=202.100.100.100 [4]

    *Mar  100:25:08.611: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [4]

     

    R1#sh ip nat translations

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 202.100.100.1:1  192.168.0.80:1     202.100.100.100:1  202.100.100.100:1

    tcp 202.100.100.1:80  192.168.0.80:80   202.100.100.100:35356 202.100.100.100:35356

    tcp 202.100.100.1:80  192.168.0.80:80    ---                ---

    icmp 202.100.100.1:2  192.168.0.100:2    202.100.100.100:2  202.100.100.100:2

     

    R1#sh access-lists

    Standard IP access list nat

        10 permit192.168.0.0, wildcard bits 0.0.0.255 (6 matches)

    20 deny   any   20 deny   any

     

     

    实验六、区域无关NAT(Domainless NAT)(推荐使用)

    PC配置:

    PC#conf t

    PC(config)#no ip routing

    PC(config)#ip default-gateway 192.168.0.1

    PC(config)#int fa0/0

    PC(config-if)#ip add 192.168.0.100 255.255.255.0

    PC(config-if)#no sh

    PC(config-if)#exit

     

    Server配置:

    Server#conf t

    Server(config)#no ip routing

    Server(config)#ip default-gateway 192.168.0.1

    Server(config)#int fa0/0

    Server(config-if)#ip add 192.168.0.80  255.255.255.0

    Server(config-if)#no sh

    Server(config-if)#exit

    Server(config)#ip http server

     

    Internet配置:

    Internet#conf t

    Internet(config)#int fa0/0

    Internet(config-if)#ip add 202.100.100.100 255.255.255.0

    Internet(config-if)#no sh

    Internet(config-if)#exit

     

    R1配置:

    R1#conf t

    R1(config)#int fa0/0

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat enable //开启nat支持,注意没有区域之分

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat enable //开启nat支持,注意没有区域之分

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip access-list standard Internet

    R1(config-std-nacl)#10 permit 192.168.0.0 0.0.0.255

    R1(config-std-nacl)#20 deny any

    R1(config-std-nacl)#exit

    R1(config)#ip nat source list Internet int fa0/1 overload//注意没有区域之分

    R1(config)#ip nat source static tcp 192.168.0.80 80202.100.100.1 80//注意没有区域之分

     

    检查测试:

    PC#ping 202.100.100.100 //PC可以上网

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 88/120/192 ms

     

    Server#ping 202.100.100.100 //Server可以上网

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 202.100.100.100,timeout is 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 80/310/1160 ms

     

    Internet#telnet 202.100.100.1 80 //外网可以访问Server的80服务

    Trying 202.100.100.1, 80 ... Open

    HTTP/1.1 400 Bad Request

    Date: Fri, 01 Mar 2002 00:21:03 GMT

    Server: cisco-IOS

    Accept-Ranges: none

    400 Bad Request

    [Connection to 202.100.100.1 closed by foreign host]

     

    PC#telnet 202.100.100.1 80 //PC可以通过外网IP访问Server的80服务

    Trying 202.100.100.1, 80 ... Open

    HTTP/1.1 400 Bad Request

    Date: Fri, 01 Mar 2002 00:26:32 GMT

    Server: cisco-IOS

    Accept-Ranges: none

    400 Bad Request

    [Connection to 202.100.100.1 closed by foreign host]

     

    R1#debug ip nat //调试NAT

    *Mar  100:19:15.107: NAT*: s=192.168.0.100->202.100.100.1, d=202.100.100.100 [19]

    *Mar  100:19:15.211: NAT: s=202.100.100.100, d=202.100.100.1->192.168.0.100 [19]

     

    *Mar  100:19:32.875: NAT*: s=192.168.0.80->202.100.100.1, d=202.100.100.100 [0]

    *Mar  100:19:32.963: NAT: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [0]

     

    *Mar  100:20:19.479: NAT: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [11992]

    *Mar  100:20:19.595: NAT*: s=192.168.0.80->202.100.100.1, d=202.100.100.100 [4167]

    *Mar  100:20:19.659: NAT: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [11993]

    *Mar  100:20:19.667: NAT: s=202.100.100.100, d=202.100.100.1->192.168.0.80 [11994]

     

    *Mar  100:22:25.551: NAT: s=192.168.0.100->202.100.100.1, d=202.100.100.1 [2180]

    *Mar  100:22:25.555: NAT: s=202.100.100.1, d=202.100.100.1->192.168.0.80 [2180]

    *Mar  100:22:25.663: NAT: s=192.168.0.80->202.100.100.1, d=202.100.100.1 [908]

    *Mar  100:22:25.667: NAT: s=202.100.100.1, d=202.100.100.1->192.168.0.100 [908]

     

    R1#sh ip nat nvi translations //查看NVI转换

    Pro Source global     Source local       Destin  local     Destin  global

    icmp 202.100.100.1:1  192.168.0.80:1    202.100.100.100:1 202.100.100.100:1

    tcp 202.100.100.1:80  192.168.0.80:80    ---                ---

    icmp 202.100.100.1:4  192.168.0.100:4   202.100.100.100:4 202.100.100.100:4

    tcp 202.100.100.1:40023 192.168.0.100:40023 202.100.100.1:80192.168.0.80:80

    tcp 202.100.100.100:63747 202.100.100.100:63747202.100.100.1:80 192.168.0.80:80

     

    R1#sh access-lists //查看ACL

    Standard IP access list Internet

        10 permit192.168.0.0, wildcard bits 0.0.0.255 (8 matches)

        20 deny   any (2 matches)

     

       ip nat inside source 数据包由inside 接口outside接口发包时,是先路由再NAT转换;而数据包由outside 接口向inside接口发包时是先NAT转换再路由,数据包的发送方向不同,则处理过程也不同

    ip nat source做NAT转换时,在需要NAT转换接口上使用的命令为ip nat enable,数据包在由一个接口向另一个接口发包时,顺序是先路由再NAT然后再路由(第一个路由只是匹配一下路由,而没有真正的路由行为,第二个路由则是真实的路由行为),不管数据包从哪个接口发向哪个接口,处理过程都是一样的。

     

     

    实验七、NAT解决网络地址重叠

    PC1配置:

    PC1#conf t

    PC1(config)#no ip routing

    PC1(config)#ip default-gateway 192.168.0.1

    PC1(config)#int fa0/0

    PC1(config-if)#ip add 192.168.0.101 255.255.255.0

    PC1(config-if)#no sh

    PC1(config-if)#exit

     

    PC2配置:

    PC2#conf t

    PC2(config)#no ip routing

    PC2(config)#ip default-gateway 192.168.0.1

    PC2(config)#int fa0/0

    PC2(config-if)#ip add 192.168.0.101 255.255.255.0

    PC2(config-if)#no sh

    PC2(config-if)#exit

     

    R1配置:

    R1#conf t

    R1(config)#int fa0/0

    R1(config-if)#ip add 192.168.0.1 255.255.255.0

    R1(config-if)#ip nat inside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#int fa0/1

    R1(config-if)#ip add 202.100.100.1 255.255.255.0

    R1(config-if)#ip nat outside

    R1(config-if)#no sh

    R1(config-if)#exit

    R1(config)#ip route 172.168.20.0 255.255.255.0202.100.100.2 //注意添加去往对端内部全局地址路由

    R1(config)#ip nat inside source static 192.168.0.101172.168.10.101

     

    R2配置:

    R2#conf t

    R2(config)#int fa0/0

    R2(config-if)#ip add 192.168.0.1 255.255.255.0

    R2(config-if)#ip nat inside

    R2(config-if)#no sh

    R2(config-if)#exit

    R2(config)#int fa0/1

    R2(config-if)#ip add 202.100.100.2 255.255.255.0

    R2(config-if)#ip nat outside

    R2(config-if)#no sh

    R2(config-if)#exit

    R2(config)#ip route 172.168.10.0 255.255.255.0 202.100.100.1//注意添加去往对端内部全局地址路由

    R2(config)#ip nat inside source static  192.168.0.101 172.168.20.101

     

    检查测试:

    PC1#ping 172.168.20.101

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 172.168.20.101, timeoutis 2 seconds:

    ..!!!

    Success rate is 60 percent (3/5), round-trip min/avg/max= 40/40/40 ms

     

    PC2#ping 172.168.10.101

    Type escape sequence to abort.

    Sending 5, 100-byte ICMP Echos to 172.168.10.101, timeoutis 2 seconds:

    !!!!!

    Success rate is 100 percent (5/5), round-trip min/avg/max= 40/258/1100 ms

     

    R1#debug ip nat

    IP NAT debugging is on

    *Mar  100:14:49.599: NAT*: s=192.168.0.101->172.168.10.101, d=172.168.20.101 [1]

    *Mar  100:14:51.103: NAT*: s=172.168.20.101, d=172.168.10.101->192.168.0.101 [0]

    *Mar  100:14:51.151: NAT*: s=192.168.0.101->172.168.10.101, d=172.168.20.101 [0]

    *Mar  100:14:51.203: NAT*: s=172.168.20.101, d=172.168.10.101->192.168.0.101 [1]

     

    R2#debug ip nat

    IP NAT debugging is on

    *Mar  100:14:48.267: NAT*: s=172.168.10.101, d=172.168.20.101->192.168.0.101 [1]

    *Mar  100:14:49.723: NAT*: s=192.168.0.101->172.168.20.101, d=172.168.10.101 [0]

    *Mar  100:14:49.795: NAT*: s=172.168.10.101, d=172.168.20.101->192.168.0.101 [0]

    *Mar  100:14:49.843: NAT*: s=192.168.0.101->172.168.20.101, d=172.168.10.101 [1]

     

    R1#sh ip nat translations

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 172.168.10.101:1 192.168.0.101:1   172.168.20.101:1  172.168.20.101:1

    --- 172.168.10.101    192.168.0.101      ---               ---

     

    R2#sh ip nat translations

    Pro Inside global     Inside local       Outsidelocal      Outside global

    icmp 172.168.20.101:1 192.168.0.101:1   172.168.10.101:1  172.168.10.101:1

    --- 172.168.20.101    192.168.0.101      ---                ---

     

     

  1. 实验八、NAT的Extendable参数使用

    Server配置:

    Server#conf t

    Server(config)#noip routing

    Server(config)#ipdefault-gateway 192.168.0.1

    Server(config)#intfa0/0

    Server(config-if)#ipadd 192.168.0.80 255.255.255.0

    Server(config-if)#nosh

    Server(config-if)#exit

    Server(config)#usernamecisco password cisco

    Server(config)#linevty 0 4

    Server(config-line)#loginlocal

    Server(config-line)#end

     

    ISP1配置:

    ISP1#conf t

    ISP1(config)#intfa0/0

    ISP1(config-if)#ipadd 11.11.11.11 255.255.255.0

    ISP1(config-if)#nosh

    ISP1(config-if)#exit

     

    ISP2配置

    ISP2#conf t

    ISP2(config)#intfa0/0

    ISP2(config-if)#ipadd 22.22.22.22 255.255.255.0

    ISP2(config-if)#nosh

    ISP2(config-if)#exit

     

    R1配置:

    R1#conf t

    R1(config)#intfa0/0

    R1(config-if)#ipadd 192.168.0.1 255.255.255.0

    R1(config-if)#ipnat inside

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)#intfa0/1

    R1(config-if)#ipadd 11.11.11.1 255.255.255.0

    R1(config-if)#ipnat outside

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)#intfa1/0

    R1(config-if)#ipadd 22.22.22.1 255.255.255.0

    R1(config-if)#ipnat outside

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)# ip nat inside sourcestatic tcp 192.168.0.80 23 11.11.11.80 23 extendable

    R1(config)# ip nat inside sourcestatic tcp 192.168.0.80 23 22.22.22.80 23 extendable

     

    检查测试:

    ISP1#telnet11.11.11.80

    Trying11.11.11.80 ... Open

    User AccessVerification

    Username: cisco

    Password:

    Server>

     

    ISP2#telnet22.22.22.80

    Trying22.22.22.80 ... Open

    User AccessVerification

    Username: cisco

    Password:

    Server>

     

    R1#debug ip nat

    *Mar  1 01:28:56.271: NAT*: s=11.11.11.11,d=11.11.11.80->192.168.0.80 [33886]

    *Mar  1 01:28:56.311: NAT*:s=192.168.0.80->11.11.11.80, d=11.11.11.11 [2465]

    *Mar  1 01:28:56.379: NAT*: s=11.11.11.11,d=11.11.11.80->192.168.0.80 [33887]

    *Mar  1 01:28:56.471: NAT*: s=11.11.11.11,d=11.11.11.80->192.168.0.80 [33888]

    *Mar  1 01:29:26.407: NAT*: s=22.22.22.22,d=22.22.22.80->192.168.0.80 [44393]

    *Mar  1 01:29:26.491: NAT*:s=192.168.0.80->22.22.22.80, d=22.22.22.22 [36105]

    *Mar  1 01:29:26.547: NAT*: s=22.22.22.22,d=22.22.22.80->192.168.0.80 [44394]

    *Mar  1 01:29:26.587: NAT*: s=22.22.22.22,d=22.22.22.80->192.168.0.80 [44395]

     

    R1#sh ip nattranslations

    Pro Insideglobal      Inside local       Outside local      Outside global

    tcp11.11.11.80:23     192.168.0.80:23    11.11.11.11:14462  11.11.11.11:14462

    tcp22.22.22.80:23     192.168.0.80:23    22.22.22.22:62983  22.22.22.22:62983

    tcp11.11.11.80:23     192.168.0.80:23    ---                ---

    tcp22.22.22.80:23     192.168.0.80:23    ---                ---

     

    用户可以使用Extendable参数配置多个静态转换,其中每一个转换都可以使用用相同的本地或全局地址转换。



  1. 实验九、NAT实现TCP负载均衡   

Server1配置:

Server1#conf t

Server1(config)#no ip routing

Server1(config)#ip default-gateway 192.168.0.1

Server1(config)#int fa0/0

Server1(config-if)#ip add 192.168.0.101 255.255.255.0

Server1(config-if)#no sh

Server1(config-if)#exit

Server1(config)#line vty 0 4

Server1(config-line)#password cisco

Server1(config-line)#login

Server1(config-line)#exit

 

Server2配置:

Server2#conf t

Server2(config)#no ip routing

Server2(config)#ip default-gateway 192.168.0.1

Server2(config)#int fa0/0

Server2(config-if)#ip add 192.168.0.102 255.255.255.0

Server2(config-if)#no sh

Server2(config-if)#exit

Server2(config)#line vty 0 4

Server2(config-line)#password cisco

Server2(config-line)#login

Server2(config-line)#exit

 

Server3配置:

Server3#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Server3(config)#no ip routing

Server3(config)#ip default-gateway 192.168.0.1

Server3(config)#int fa0/0

Server3(config-if)#ip add 192.168.0.103 255.255.255.0

Server3(config-if)#no sh

Server3(config-if)#exit

Server3(config)#line vty 0 4

Server3(config-line)#password cisco

Server3(config-line)#login

Server3(config-line)#exit

 

Internet配置:

Internet#conf t

Internet(config)#int fa0/0

Internet(config-if)#ip add 202.100.100.100 255.255.255.0

Internet(config-if)#no sh

Internet(config-if)#exit

 

R1配置:

R1#conf t

R1(config)#int fa0/0

R1(config-if)#ip add 192.168.0.1 255.255.255.0

R1(config-if)#ip nat inside

R1(config-if)#no sh

R1(config-if)#exit

R1(config)#int fa0/1

R1(config-if)#ip add 202.100.100.80 255.255.255.0 //主ip

R1(config-if)#ip add 202.100.100.1 255.255.255.0 secondary//副ip

R1(config-if)#ip nat outside

R1(config-if)#no sh

R1(config-if)#exit

R1(config)#ip access-list extended VIP //标识用来转换的公网IP

R1(config-ext-nacl)#permit ip any host 202.100.100.1

R1(config-ext-nacl)#deny ip any any

R1(config-ext-nacl)#exit

R1(config)#ip nat poolserverfarm 192.168.0.101 192.168.0.103 netmask 255.255.255.0 type rotary//定义NAT地址池来标识内部服务器的本地地址,注意要用到关键字rotary,表明我们要使用轮循的方式从NAT地址池中取出相应IP地址来转换合法IP报文。最后,把目标地址为访问表中IP的报文转换成地址池中定义的IP地址。

R1(config)#ip nat inside destination list VIP poolserverfarm

 

检查测试:

Internet#telnet 202.100.100.1 //第一次telnet 进入server3

Trying 202.100.100.1 ... Open

User Access Verification

Password:

Server3>q

[Connection to 202.100.100.1 closed by foreign host]

 

Internet#telnet 202.100.100.1 //第二次telnet进入server2

Trying 202.100.100.1 ... Open

User Access Verification

Password:

Server1>q

[Connection to 202.100.100.1 closed by foreign host]

 

Internet#telnet 202.100.100.1//第三次telnet进入server1

Trying 202.100.100.1 ... Open

User Access Verification

Password:

Server2>q

[Connection to 202.100.100.1 closed by foreign host]

 

R1#debug ip nat

*Mar  101:05:35.271: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.103[32504]

*Mar  101:05:35.303: NAT*: s=192.168.0.103->202.100.100.1, d=202.100.100.100[62175]

*Mar  101:05:36.047: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.101 [60711]

*Mar  101:05:36.147: NAT*: s=192.168.0.101->202.100.100.1, d=202.100.100.100[26348]

*Mar  101:06:42.691: NAT*: s=202.100.100.100, d=202.100.100.1->192.168.0.102 [6985]

*Mar  101:06:42.751: NAT*: s=192.168.0.102->202.100.100.1, d=202.100.100.100 [35992]

 

R1#sh ip nat translations

Pro Inside global     Inside local       Outsidelocal      Outside global

tcp 202.100.100.1:23  192.168.0.101:23  202.100.100.100:61090 202.100.100.100:61090

tcp 202.100.100.1:23  192.168.0.102:23  202.100.100.100:47549 202.100.100.100:47549

tcp 202.100.100.1:23  192.168.0.103:23  202.100.100.100:61337 202.100.100.100:61337

 

R1#sh access-list

Extended IP access list VIP

10 permit ip any host 202.100.100.1 (26 matches)

20 deny ip any any

 

通过目的地址循环轮询转换实现服务器的TCP负载均衡,可以把一个虚拟主机映射到多个真实的主机(如Web服务器)上。虚拟主上每次发起的新TCP会话将与一个不同的真实主机进行。通过NAT,你可以在你的内部网络建立多个真实主机,以分担众多用户对一个虚拟主机访问的负荷。每次从外部网络发起的新会话所对应的真实主机的循环是通过对目的地址以地址池的方式进行轮回转换实现的。它是一种反向NAT转换,是对目的地址的转换,而不是对源地址的转换. TCP负载转换原理


a.外部网络用户主机发起与虚拟主机(内部全局地址)的连接。此时数据包中的源地址为外部本地地址,目的地址为虚拟主机地址。


b.当路由器接收到连接请求数据包时,创建一个内部网络中真实主机(如1.1.1.1)进行关联的新的NAT转换条目。


c.NAT路由器把连接请求的数据包中的目的地址用真实主机的本地地址进行替换(源地址不变),然后继续发送连接请求数据包。


d.内部网络中真实主机1.1.1.1接收到这个连接请求数据包,并发出一个应答数据包。应答数据包中的源地址是内部真实主机本地地址(1.1.1.1),目的地址为外部网络主机的IP地址


e.当NAT路由器接收到这个应答数据包后,使用内部本地地址和端口号,以及外部地址和端口号作为关键字在NAT表中进行查找。找到后把应答包中的源地址转换成虚拟主机地址(内部全局地址)进行替换(目的地址不变),继续转发应答数据包。直接外部网络用户收到应答数据包。


f.之后的转换过程就是不断重复,但每一次转换时虚拟主机所对应的内部主机本地地址不再是1.1.1.1,可能是1.1.1.2,或者1.1.1.3。这是一个动态NAT转换,不是静态的。

注意:这种反向的NAT只支持TCP,而且这种技术不会自动检查后端的多台服务器是否在线,直接就会将数据包转发过去,如果后端服务器中的其中一台出现问题,而此时刚好NAT转换后将数据发给它,就会导致不能正确的提供服务给客户。企业不推荐使用

 

 




实验十、ServerLoad balance(NATSERVER)



Cisco IOS SLB(服务器负载分担)可以在多台服务器之间智能地为TCP/IP流量提供负载分担。它是一个基于Cisco IOS的第4层或第7层交换(实质为:服务器负载均衡)解决方案。Cisco IOS SLB 会为发出请求的客户端呈现出一个单独的虚拟服务器IP地址。举例来说,多个客户端向这个虚拟IP地址发出IP 请求,比如HTTP Get 请求。交换机会把这些请求分发(负载分担)到多台服务器上。然后交换机根据多种因素来实施负载分担,比如TCP和UDP协议、负载和其他负载分担参数。除此之外,有必要的话,交换机还会把客户端发来的请求转发给同一台服务器,比如在使用FTP时,一个客户端必须在整个回话或数据流过程中,与相同的服务器进行通信。通常情况下,客户端设备会使用DNS来解析虚拟服务器IP地址。使用Cisco IOS SLB 来提供冗余性、可扩展性和高性能(负载分担),可以获得以下好处。


  1. 通过把客户端请求分布到服务器集群中,获得了更高的性能。

  2. 服务器应用管理员的工作更为轻松。客户端只知道虚拟服务器,因此真实服务器发生变化时无需对客户端进行管理,从而使Cisco IOS SLB 具有可扩展性。

  3. 为真实服务器提供了安全保障,因为真实服务器的地址永远不需要通告给外部网络。而用户只需要知道虚拟的IP地址。管理员还可以根据IP地址和IP端口号来过滤不必要的流量。

  4. 零停运时间,易于维护,在替换物理(真实)服务器时其他服务器负责处理客户端的请求。

  5. 交换机可以检测到无法进行响应的服务器,然后不再向这些服务器转发请求,直到这些服务器可以回应交换机的测试为止。

    SLB 的运作模式

    分派模式(Dispatched Mode):每个真实服务器都要把虚拟服务器地址配置为环回地址或辅助IP地址。Cisco IOS SLB 会在MAC层把数据包重定向到真实服务器。由于分派模式不会对虚拟IP地址进行修改,因此真实服务器为了实现Cisco IOS SLB 必须建立二层邻接关系,或者使接入的路由器无需通过路由就可以找到所选的真实服务器。在分派模式中,SLB路由器、真实服务器地址和虚拟服务器地址不需要在同一子网中。采用分派模式时,服务器必须选择下面的一种做法,否则丢弃数据包:

      1>在真实服务器上添加环回口地址,并把地址设置为虚拟服务器的IP地址

      2>添加第二个IP地址为虚拟服务器的IP地址:因为SLB服务器)会把目的IP为虚拟IP的数据包分派到真实

          的服务器上,在接口下增加一个“secondary”地址即可;采用这种方式时,会报“IP地址重复”

          的错误,但是这不影响使用。

    定向模式(Directed mode):所有的真实服务器都无需知道虚拟服务器的IP地址。Cisco IOS SLB 会对客户端和真实服务器之间交换的数据包进行转换,也就是通过NAT把虚拟服务器IP地址转换为真实服务器地址。在定向模式中,路由器会更改客户计算机发来的数据包,把目的IP地址改为真实服务器的IP地址


     

    WWW1配置:

    WWW1#conf t

    WWW1(config)#noip routing

    WWW1(config)#ipdefault-gateway 192.168.0.1

    WWW1(config)#intfa0/0

    WWW1(config-if)#ipadd 192.168.0.81 255.255.255.0

    WWW1(config-if)#nosh

    WWW1(config-if)#exit

    WWW1(config)#iphttp server

     

    WWW2配置:

    WWW2#conf t

    WWW2 (config)#noip routing

    WWW2 (config)#ipdefault-gateway 192.168.0.1

    WWW2 (config)#intfa0/0

    WWW2 (config-if)#ipadd 192.168.0.82 255.255.255.0

    WWW2 (config-if)#nosh

    WWW2 (config-if)#exit

    WWW2 (config)#iphttp server

     

    WWW3配置:

    WWW3#conf t

    WWW3 (config)#noip routing

    WWW3 (config)#ipdefault-gateway 192.168.0.1

    WWW3 (config)#intfa0/0

    WWW3 (config-if)#ipadd 192.168.0.83 255.255.255.0

    WWW3 (config-if)#nosh

    WWW3 (config-if)#exit

    WWW3 (config)#iphttp server

     

    Client1配置:

    Client1#conf t

    Client1(config)#intfa0/0

    Client1(config-if)#ipadd 200.200.200.200 255.255.255.0

    Client1(config-if)#nosh

    Client1(config-if)#exit

     

    Client2配置:

    Client2#conf t

    Client2(config)#intfa0/0

    Client2(config-if)#ipadd 200.200.200.100 255.255.255.0

    Client2(config-if)#nosh

    Client2(config-if)#exit

     

    R1配置:

    R1#conf t

    R1(config)#intfa0/0

    R1(config-if)#ipadd 192.168.0.1 255.255.255.0

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)#intfa0/1

    R1(config-if)#ipadd 200.200.200.1 255.255.255.0

    R1(config-if)#nosh

    R1(config-if)#exit

    R1(config)#ipslb serverfarm webserver //创建服务器组

    R1(config-slb-sfarm)#natserver //开启NAT,即定向模式

    R1(config-slb-sfarm)#predictorroundrobin//配置采用负载平衡的方式为轮询,即为默认方式

    R1(config-slb-sfarm)#real192.168.0.81 //添加真实服务器到组中

    R1(config-slb-real)#faildetect//配置检测服务器的可用状态,如果服务器发生故障,SLB将不会把流量转发到该服务器

    R1(config-slb-real)#inservice//让服务器生效

    R1(config-slb-real)#exit

    R1(config-slb-sfarm)#real192.168.0.82

    R1(config-slb-real)#faildetect

    R1(config-slb-real)#inservice

    R1(config-slb-real)#exit

    R1(config-slb-sfarm)#real192.168.0.83

    R1(config-slb-real)#faildetect

    R1(config-slb-real)#inservice

    R1(config-slb-real)#exit

    R1(config-slb-sfarm)#exit

    R1(config)#ipslb vserver VIP //创建服务器虚拟IP

    R1(config-slb-vserver)#virtual200.200.200.80 tcp www//设置IP和对应服务

    R1(config-slb-vserver)#serverfarmwebserver //把IP关联到服务器组

    R1(config-slb-vserver)#inservice//启用虚拟服务器

    R1(config-slb-vserver)#exit

     

    检查测试:

    Client1#telnet200.200.200.80 80

    Trying200.200.200.80, 80 ... Open

    HTTP/1.1 400 BadRequest

    Date: Fri, 01Mar 2002 00:34:50 GMT

    Server:cisco-IOS

    Accept-Ranges:none

    400 Bad Request

    [Connection to200.200.200.80 closed by foreign host]

     

    Client2#telnet200.200.200.80 80

    Trying200.200.200.80, 80 ... Open

    HTTP/1.1 400 BadRequest

    Date: Fri, 01Mar 2002 00:50:49 GMT

    Server:cisco-IOS

    Accept-Ranges:none

    400 Bad Request

    [Connection to200.200.200.80 closed by foreign host]

     

    R1#sh ip slbconns

    vserver         prot client                real                  state     nat

    -------------------------------------------------------------------------------

    VIP             TCP  200.200.200.200:59073 192.168.0.82          ESTAB     S

    VIP             TCP  200.200.200.100:16259 192.168.0.83          SYNCLIENT S

    VIP             TCP  200.200.200.100:47978 192.168.0.83          ESTAB     S

     

    R1#sh ip slbstats

    Pkts via normalswitching:  156

    Pkts via specialswitching: 0

    ConnectionsCreated:        12

    ConnectionsEstablished:    10

    ConnectionsDestroyed:      9

    ConnectionsReassigned:     0

    ZombieCount:               0

     

    R1#sh ip slbvservers

    slb vserver      prot virtual               state         conns

    -------------------------------------------------------------------

    VIP              TCP   200.200.200.80:80     INSERVICE     3

     

    R1#sh ip slbreals

    real                  server farm      weight state          conns

    -------------------------------------------------------------------

    192.168.0.81          WEBSERVER        8      OPERATIONAL    0

    192.168.0.82          WEBSERVER        8      OPERATIONAL    1

    192.168.0.83          WEBSERVER        8      FAILED         1



实验七————EIGRP协议配置 实验目的通过本实验,可以掌握以下技能:配置接口IP地址。配置EIGRP协议。验证EIGRP协议配置。设备需求Cisco路由器4台,分别命名为twins、sa、gill和hua。其中twins具有两个串行接口和1个以太网接口;sa具有1个串行接口;gill具有1个串行接口;hua具有1个以太网接口。两条串行线。1条交叉线序双绞线。1台access server,及用于反向Telnet的相应电缆。1台... 阅读详情

相关推荐

【信息科学与工程学】【通信工程】第八十六篇 通信网络设备及通信网络组网的所有学科知识01

编号001类型网络虚拟化与覆盖技术网络领域数据中心网络子领域大二层网络 / 网络虚拟化核心数学方程式/算法模型核心算法:VXLAN封装与解封装。关键在于24位VNI(虚拟网络标识符)到物理网络的三层IP地址的映射。封装:收到原始以太帧后,为其添加 VXLAN 头部(含 VNI)、外层 UDP 头(目的端口 4789)、外层 IP 头(源 IP 为本地 VTEP IP,目的 IP 为对端 VTEP IP)以及外层 MAC 头。解封装:对端 收到报文后,剥离外层头部,根据内层帧的目的 MAC 和 VNI 进行二

weixin_49199313的博客 848

IP NAT常见误解笔记

NAT是解决公网地址不够用大家最熟悉的网络技术之一,而NAT最依赖的是NAT translation表项,至于NAT的概念和背景这里不再解释,网络上有很多关于此的类似介绍,自己搜索即可。下面主要是针对大家对NAT的一些误解进行分析。误解一:inside和outside大家常规的理解可能认为inside就是指私网;outside就是公网。正解一:inside和outside是在接口上用户自己定义的,...

weixin_33845881的博客 502

基于多物理参数数据融合和先进人工智能算法的锂电池热失控监测传感器

基于多物理参数数据融合和先进人工智能算法的锂电池热失控监测传感器是多种方案中的优选项!是一种快速、准确、可靠、应用广泛的传感方案!可有效监测锂离子电池热失控风险,保障化学能储能电站安全!

chicheng_danxin的博客 2414

CCNP综合实验

实验要求 1. 北京总公司计划使用VLSM技术为公司总部各部门划分相应IP地址段;现公司研发部97人、营销部56人、行政部16人、财务部10人;请使用10.30.10.0/24网段根据研发、营销、行政、财务分别对应vlan 10 20 30 40每部门人数依次进行子网划分。上海分公司营销部销售部87人,财务部20人分别对应vlan10 20 使用10.30.20.0/24进行划分使IP地址浪费最少。SW1使用划分的第一个地址SW2使用划分的第二地址。分公司网关在R3上。R11为公网只能进行地址的配置。

商务合作|种草文章|产品测评 2203

Flotherm XT学习历程

大家好,通过半年的热仿真软件学习使用,最终发现最好用,最好上手的软件就是Flotherm XT,对新手非常友好,但由于软件近几年才发布,网上教程非常少,后面我将在这里持续分析软件使用心得,和大家一起学习。

xiaoredred的博客 6268

RLC电阻电容电感基础知识——电感篇

电感 等效电路 电感线圈由铜导线绕制,等效电路如图所示。 寄生电阻RS,包括了绕线电阻、引脚串联电阻以及磁芯损耗电阻三部分组成,其中绕线电阻与线径、长度、铜线电阻率有关;引脚电阻与引线长短、粗细有关;磁芯损耗电阻与磁芯材料特性有关,显然磁芯损耗电阻还与工作频率有关.寄生电容C主要是绕线圈与圈之间的杂散电容(为PF级),与绕线工艺有关。 等效导纳 显然: (1)当角频率ω(频率f)较小时,呈电感性. (2)当角频率ω等于ω0时,导纳Y虚部为0,呈现电阻性,即发生共振。令导纳Y虚部为0,即可求出共振角频率ω

azj2019的博客 1万+

设备调试之Super VLAN技术实践

Super vlan又称为vlan 聚合,专门优化管理IP地址。将一个网段的IP分给不同的子vlan,这些子vlan同属于一个super vlan。每个子vlan都是一个独立的广播域,不同子vlan之间二层网络相互隔离,当子vlan间的用户进行三层网络通信时,使用super vlan的vlan接口的IP地址作为网关地址,这样实现多个子vlan共享一个IP地址,节省了IP地址资源。同时,为了实现不同子vlan间的三层通信及子vlan与其他网络的互通,需要利用ARP代理功能。

王明的博客 576

渗透测试面试题

渗透测试面试题 一.思路流程 1.信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,...

千寻的博客 12万+

CCNA实验二十六 实战多种NAT地址转换

                      CCNA实验二十六 实战多种NAT地址转换环境:Windows XP 、PacketTracert5.3 、GNS3.0.7.2 、VMware workstation 7.1.2目的:了解各种NAT的作用和并学会如何配置NAT说明:NAT(网络地址转换)是将私有IP地址转化为合法IP的转换技术,它被广泛应于各种类型Internet接入方式和各种类型的网络中。NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算

kkfloat博客 3791

Android 14 (AOSP) 源码架构深度解析与开发者指南

Android14源码的仓库指南信息

保持专注,保持热爱 1188

USLE模型(1.2):LS因子的计算

基于USLE的甘南川西北土壤侵蚀研究。准备好30米分辨率的dem。

所有专家都曾始于新手 3481

NAT环境下,内网用户使用公网地址访问内网服务器

一、原理分析(cisco路由器) 1、传统NAT 内网用户、服务器上外网和外网用户访问内网的服务器均正常。 NAT设备,改变了syn包的目的地址,但是没有改变syn包的源地址,导致服务器的syn ack包直接给了client,从而导致三次握手失败。 2、传统NAT+PBR(借鉴NAT-on-stick) ...

phoenix1415的博客 1万+

Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言 ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。 项目主页:http://www.ode.org/ 线上手册:http://ode.org/wiki/index.php?title=Manual 本教程为博主亲自亲测过程的总结,转载请注明出处! ...

腿足机器人领域 2216

NAT网络地址转换

意义: 1、NAT缓解了IPv4地址短缺的问题, 2、NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性网络地址转换:把内网地址转换成可以访问外网的地址 总结: 从内网到外网,经过地址转换,变化的是源IP地址

Mo_nor的博客 1439

uniapp [安卓苹果App端] - 实现判断并开启消息通知/提示权限,监测通知权限未开启时弹框提示用户并引导用户跳转至设置界面,uniApp检查通知权限+提示是否打开+点击跳转设置(详细示例代码)

uni-app判断有无通知权限,并进行设置,设置手机通知权限,开启通知权限,uni-app解决权限问题,uniapp 拉起授权(拒绝后重新开启权限)uniApp打包的手机app如果用户没开启通知权限、引导用户开启,uni-app动态打开应用通知权限,拒绝后跳转设置页面,uniapp获取通知栏权限,苹果ios系统打开通知权限,被拒绝怎么办,uniapp安卓判断通知权限,uniapp打包的APP引导用户打开手机通知权限,uniapp权限被拒绝,跳转手机设置页面 权限设置,IOS应用内跳转系统设置,uni-app

🏆 前端领域优质创作者 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

NAT网络地址转换技术入门到详解

本文会从NAT的简介入手,详解NAT技术本身,通过本文,你可以清楚了理解NAT,SNAT, DNAT, PAT, NAPT, Full NAT的定义,它个之间的区别与联系。最后会详细给出如何将一台多网卡的Linux主机配置成一台NAT路由器。

meihualing的专栏 4499

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NAT网络地址转换协议

文章目录一、NAT认识私有网络二、NAT的工作原理NAT包含4类地址三、NAT功能优点:缺点:四、NAT的实现方式1、静态转换(Static Translation)配置方法2、动态转换(dynamic Translation)3、端口多路复用(Port Address Translation----PAT)总结 一、NAT 认识NAT(Network Address Translation):网络地址转换协议,一般用于实现私有网络与公有网络之间的访问 认识私有网络 A类私有地址:10.0.0.0~10.

weixin_51099370的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

思科模拟器配置-NAT 概念与实训

一. NET概述 NAT(Network Address Translation,网络地址转换) NAT将企业私网IP地址转换成全球唯一公网IP地址,使内部网络可以连接到Internet等外部网络上,不仅解决了公网IP地址的不足,而且还能够隐藏内部网络的细节,避免来自外部网络的攻击,起到一定的安全作用。 1. NET相关术语 内部本地(Inside local)地址:分配给内部网络中主机的地址,通常是私有地址。 内部全局(Inside global)地址:对外代表一个或多个内部本地地址,通常是公有地址。 外

欢迎关注微💌,不定期发布安全运维、甲方视角安全建设、乙方厂商专业安全服务内容。 6351

cisco 的网络地址转换ip nat inside|outside source|destination

ip nat inside source 内部数据为源 (推出数据包是发往outside的 源地址转换) ip nat inside destination 内部数据为目标 (推出数据包是发往inside的 目标地址转换) ip nat outside source 外部数据为源 (推出数据包是发往inside的 源地址转换) ip nat outside destination 外部数据为目标 (推出数据包是发往outside的 目标地址转换) ...

cztvu的专栏 3045

NAT地址转换

一、NAT网络地址转换正常数据转发时,IP头部的源和目的地址以及端口号是不会被更改的,而使用了NAT 技术后,它将更改头部内容以达实现隐藏内外部主机真实地址、多台主机共享少量IP访问内外部网络、解决IP 地址空间重叠、服务器负载均衡等功能 二、PAT端口地址转换又叫网络地址端口转换(NAPT)或NAT的端口复用(用 IP 地址+端口号来对应和区别各个数据流进行网络地址转换,以达到多内部主机通过一...

xwupiaomiao的博客 313

网络基础入门篇,VLAN基础配置

一、拓扑 二、 VLAN配置 此处SW1配置举例: 1、创建VLAN SW1(config)#vlan 10 SW1(config-vlan)#name JISHU SW1(config)#vlan 20 SW1(config-vlan)#name XIAOSHOU 2、接口划分VLAN interface Ethernet0/0 switchport access vlan 10 switchport mode access interface Ether...

Bert_Wang的博客 2246

GRE隧道技术

同时还为了确保在创建隧道时,隧道源与隧道目标的IP地址相互可见。再次在R1或者R3上使用PING命令,检测是否可以PING通对方的环回接口的私有网络地址。1.配置各台路由器的IP地址,并且使用ping命令确认个路由器的直连接口的互通。在R1和R3分别配置目标为R1和R3的回环接口,下一跳为隧道接口的路由。UP :当R1和R3方配置好隧道后,在本地查看隧道接口,其状态为up。在R1或R3路由器上ping路由器R3或R1的环回口。在R1上PING路由器R3的隧道接口。在R1路由器上配置GRE隧道。

商务合作|种草文章|产品测评 1999

启用静态NVI的NAT的配置步骤及示例

配置NAT虚拟接口 1、NVI(NAT Virtual Interface,NAT虚拟接口)是一个虚拟接口,是NAT的一种功能,而不是一种NAT类型。它允许所有NAT通信在虚拟接口上进行,而不必指定路由器上的接口属于NAT内部,或者外部接口,也就是这时没有内部接口和外部接口之分。实际上就是相当于在原来的NAT内部接口和外部接口之间多了一个虚拟接口。内部和外部接口的通信都重定向到这个虚拟接口上,以

Galdys的专栏 3482

Cisco NAT --- ip nat enable NVI方式

NAT,网络地址转换,让内网用户可以访问公网,让公网用户可以访问内网,让某人能用特定的地址访问某个服务,等等等等。 绝大多数情况下NAT解决的是缺路由记录或者缺IP的问题。 如图: 服务器需要同时被2条线路的用户访问。 大多数情况下,在SW上加一些静态的路由记录,2台路由器上分别配ip nat ins / out /ip nat ins so list xxx g0/0

delicioustian的专栏 6377

CCNA NAT 实验–NAT和PAT的配置

NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。 地址转换配置步骤:   1在全局设置模式下,定义内部合地址池 ip nat pool 地址池名字 起始IP地址 终止IP地址 子网掩码   2.在全局设置模式下,定义一个标准的access-list规则以允许哪些内部本地地址可以进行动态地址转换。   ac...

weixin_34174132的博客 1221

CCNP路由实验之十 组播(多播)

                   CCNP路由实验之十 组播(多播)  单播(Unicast):网络节点之间的通信通讯的模式是“一对一”的,此时信息的接收和传递只在两个节点之间进行。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送

kkfloat博客 2万+
上一篇: CCNP路由实验之十四 路由器的访问控制ACL
下一篇: CCNP路由实验之十六 策略路由(PBR)
kkfloat
博客等级 码龄17年 923粉丝 201原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值