关于CISCO NAT静态地址的配置

默认分类 未结 1 1613
≮逍♂遥≯
≮逍♂遥≯ 2023-03-21 09:12
相关标签:
1条回答
  • 2023-03-21 09:59

    CISCO NAT 经典 配置 合集 网络学习 2009-05-20 13:43 阅读 228 评论 1 字号: 大 大 中 中 小 小 ip nat inside source Translates the source of IP packets that are traveling inside to outside. Translates the destination of the IP packets that ar

    CISCO NAT 经典配置合集

    网络学习 2009-05-20 13:43 阅读228 评论1

    字号: 大大 中中 小小

    ip nat inside sourceTranslates the source of IP packets that are traveling inside to outside.Translates the destination of the IP packets that are traveling outside to inside.ip nat outside sourceTranslates the source of the IP packets that are traveling outside to inside.Translates the destination of the IP packets that are traveling inside to outside.ip nat inside destinationTranslates the destination of IP packets that are traveling inside to outside.Translates the source of the IP packets that are traveling outside to inside.ip nat outside destinationTranslates the destination of the IP packets that are traveling outside to inside.Translates the source of the IP packets that are traveling inside to outside.ip nat inside 是对配置了ip nat inside的接口的数据包进行nat转换,相应的ip nat outside是对配置了ip nat outside的接口的数据包进行nat转换。而source和destination是对数据包的源地址活着目的地址进行转换。NAT基础知识

      ● NAT简介

      NAT(Network Address Translation)的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请。在网络内部,各计算机间通过内部的IP地址进行通讯。而当内部的计算机要与外部internet网络进行通讯时,具有NAT功能的设备(比如:路由器)负责将其内部的IP地址转换为合法的IP地址(即经过申请的IP地址)进行通信。

      ● NAT 的应用环境:

      情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet 隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。

      CISCO NAT经典基础配置

      ● 全部采用端口:ISP分配的IP202.99.160.129

    interface fastethernet0/0 ip address 192.168.1.1 255.255.255.0 duplex auto speed auto in nat inside no shutdown interface fastethernet0/1 ip address 192.168.2..1 255.255.255.0 duplex auto speed auto in nat outside no shutdown ip nat pool OnlyYou 202.99.160.130 202.99.160.130 netmask 255.255.255.252 //OnlyYou代表地址池的名称。 2个202.99.160.130是代表只用一个ip做转换后ip. access-list 1 permit 192.168.1.0 0.0.0.255 access-list 1 permit 192.168.2.0 0.0.0.255 ip nat inside source list1 pool OnlyYou overload

      ● 动态地址转换+端口:ISP分配的IP 有:202.99.160.130~190 255.255.255.192

    Interface fastethernet0/1 Ip address 192.168.1.1 255.255.255.0 Ip address 192.168.2.1 255.255.255.0 secondary Duplex auto Speed auto Ip nat inside No shutdown Interface serial 0/0 Ip address 202.99.160.129 255.255.255.192 Duplex auto Speed auto Ip nat outside No shutdwon Ip nat pool OutPort 202.99.160.190 202.99.160.190 netmask 255.255.255.192 Ip nat pool OutPool 202.99.160.130 202.99.160.190 netmask 255.255.255.192 Ip nat inside source list1 pool OutPort //192.168.1.0段主机全部转成202.99.160.190 Ip nat inside source list2 pool OutPool //出于访问ftp站点等考虑:192.168.2.0和192.168.3.0段主机全部 //转成202.99.160.130到202.99.160.189中的所有地址。 Access-list1 permit 192.168.1.0 0.0.0.255 Access-list2 permit 192.168.2.0 0.0.0.255 Access-list2 permit 192.168.3.0 0.0.0.255

      ● 静态地址转换:ISP分配的IP地址是:211.82.220.80~211.82.220.87、211.82.220.81 255.255.255.248。要求Intranet上的Web.E-mail.Ftp.Media可以被外部访问。

    Interface fastethernet0/0Ip address 192.168.1.1 255.255.255.0Duplex autoSpeed autoIp nat insideNo shutdown

    Interface fastethernet0/1Ip address 211.82.220.81 255.255.255.248Speed autoDuplex autoIp nat outsideNo shutdown

    Ip nat pool Outpool 211.82.220.86 211.82.20.86 netmask 255.255.255.248Access-list 1 permit 192.168.1.2 0.0.0.255Access-list 1 permit 192.168.1.3 0.0.0.255Access-list 1 permit 192.168.1.4 0.0.0.255Access-list 1 permit 192.168.1.5 0.0.0.255Ip nat inside source list1 pool Outpool overloadIp nat inside source static 192.168.1.2 211.82.220.82Ip nat inside source static 192.168.1.3 211.82.220.83Ip nat inside source static 192.168.1.4 211.82.220.84Ip nat inside source static 192.168.1.5 211.82.220.85

      ● NAT映射:如果ISP提供的IP地址比较多还可以,但如果不是的时候(如就两个时),一个用于内网地址转换,另一个用于对外网提供服务。ISP提供的内网上网IP。

    Interface ethernet0 Ip address 192.168.1.1 255.255.255.0 Duplex auto Speed auto Ip nat inside No shutdown Interface fastethernet0/0 Ip address 211.82.220.129 255.255.255.248 Duplex auto Speed auto Ip nat outside No shutdown Access-list 1 permit 192.168.1.0 0.0.0.255 Ip nat pool Everybody 211.82.220.130 211.82.220.130 network 255.255.255.252 Ip nat inside source list1 pool Everybody overload Ip nat inside source static tcp 192.168.1.2 80 202.99.220.130 80 Ip nat inside source static tcp 192.168.1.3 21 202.99.220.130 21 Ip nat inside source static tcp 192.168.1.4 25 202.99.220.130 25 Ip nat inside source static tcp 192.168.1.5 110 202.99.220.130 110

      ● 利用地址转换实现负载均衡:当有如象腾讯公司似的多服务器时,使用路由器实现负载平衡,可以使它们有平等的访问机会.

    Interface fastethernet0/1 Ip address 192.168.1.1 255.255.255.0 Duplex auto Speed auto Ip nat inside No shutdown Interface fastethernet0/0 Ip address 202.110.198.81 255.2555.255.248 Duplex auto Speed auto Ip nat outside Access-list 1 permit 202.110.198.82 Access-list 2 permit 202.110.198.83 Access-list 3 permit 192.168.1.0 0.0.0.255 Ip nat pool Webser 192.168.1.2 192.168.1.3 255.255.255.248 type rotary Ip nat pool Ftpser 192.168.1.4 192.168.1.5 255.255.255.248 type rotary Ip nat pool normal 202.110.198.84 202.110.198.84 netmask 255.255.255.248 Ip nat inside destination list 1 pool Webser Ip nat inside destination list 2 pool Ftpser

    示例1在本例中,公司使用一台两接口路由器,一个是Ethernet,另一个是串行接口。Ethernet0连接到内部网络,而串行接口则通过PPP链路连接到 ISP路由器。在内部网络中,公司使用10.0.0.0/24地址范围内的地址。公司已从其供应商那里获得了一个单一的全局可路由的IP地址 171.100.1.1,并且该地址用于路由器的串行接口上。公司使用PAT将其所有的内部本地地址转换成单一的内部全局地址171.100.1.1。公司希望提供可以从Internet访问的FTP和Web服务器,并且对Web服务器的请求应被送到Web服务器所在的地址10.1.1.100,而FTP 请求则被送到FTP服务器所在的地址10.1.1.101。1 解决方案interface ethernet0ip address 10.1.1.1 255.255.255.0ip nat inside!interface serial0ip address 171.100.1.1 255.255.255.252ip nat outside!ip access-list permit 10.0.0.0 0.255.255.255!ip nat inside source list 1 interface serial0 overloadip nat inside source list 1 static tcp 10.1.1.100 80 171.100.1.1 80ip nat inside source list 1 static tcp 10.1.1.101 21 171.100.1.1 212 分析先定义NAT所用的接口,并通过将合适的命令放在每个接口下面来定义接口是NAT内部或外部接口。通常,在定义NAT接口之后,就要定义NAT池来指定所用的内部全局地址。但是,在本例中只使用了一个单一的内部全局地址,并且将该单一内部全局地址用于路由器的serial 0接口上。由于只有一个单一内部全局地址并且用于路由器自己的接口上,所以我们不需要定义NAT池。我们只简单地使用示例中所示的inside source list语句即可。所定义源列表使用路由器接口的IP地址,并且超载该单一IP地址。该命令允许来自10.0.0.0/24网络的内部主机访问 Internet。路由器执行PAT来创建TCP / UDP端口的NAT映射。完成该步以后,接下来需要为内部Web和FTP服务器创建静态映射。由于只有一个单一的内部全局IP地址,因此要根据IP地址以及TCP或UDP端口来定义静态映射。在本例中,将目的地址为171.100.1.1和目的 TCP端口为80的报文地址转换成TCP端口80上的10.1.1.100内部主机地址。我们还将目的地址为171.100.1.1和目的TCP端口为 21的报文地址转换成TCP端口21上的10.1.1.101内部主机地址。这样我们就在不同的内部服务器上提供了Web和FTP服务,虽然我们只有一个单一的内部全局地址。注意,由于该命令语法允许指定内部服务器的IP地址和端口,所以可以在内部提供多个Web和FTP服务器。例如,可以创建如下的静态映射:ip nat inside source static tcp 10.1.1.102 21 21.171.100.1 27该转换*作将所有目的地址为171.100.1.1且目的端口为27的向内报文的地址转换为FTP端口上的地址10.1.1.102。当然,我们必须保证,外部用户能够知道我们的FTP服务器使用非标准的端口,而大多数的FTP客户机都提供这一能力。显然公司可以使用各种不同的端口转换方法来提供服务,即使公司只有一个全局可路由的IP地址。这些方法使Cisco NAT的功能更加强大。示例2在本例中,某公司使用一台具有两个Ethernet的路由器。Ethernet0连接到内部网络,而Ethernet1则连接到一个LAN网段。公司与其 ISP的路由器共享该网段。在内部网络中,公司使用10.0.0.0/24地址空间中的地址。公司为自己提供一个IP地址或171.100.1.0 /24。公司路由器的接口使用IP地址171.100.1.1,而ISP路由器接口则使用IP地址171.100.1.2,而将那些从 171.100.1.0/24开始的其余地址留给NAT转换。公司希望在路由器上使用必要的命令,以使其内部用户能够使用ISP所提供的地址空间中的有效,全局可路由的地址,以访问Internet。1 解决方案interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface Ethernet1 ip address 171.100.1.1 255.255.255.0 ip nat outside!ip access-list 1 permit 10.0.0.0 0.255.255.255!ip nat pool internet 171.100.1.3 171.100.1.254 netmask 255.255.255.0!ip nat inside source list 1 pool internet2 分析在该方案中定义了用于NAT的接口。通过将相应的命令放在每个接口下面,指定该接口是一个NAT外部接口或内部接口。这是配置NAT的第一步。如果读者不将接口指定为一个NAT内部或NAT外部接口,或者指定的不正确,则NAT就不能正确工作。如果不定义NAT接口,NAT根本不工作,并且debug ip nat detail命令也不会输出任何结果。如果读者已定义了所有其他的NAT命令,但NAT还是不工作,则确认每个接口下面的所放的NAT命令是否合理。在每个接口下面定义了合适的NAT命令之后,就可以定义存放内部全局地址的NAT池。我们定义的起始IP地址是171.100.1.3,而结束地址为 171.100.1.254。我们不使用.1和.2地址是因为这两个地址分别用于用户路由器和ISP路由器。由于这两个地址也与用户路由器上的 Ethernet1接口所在的子网是同一子网地址,用户路由器将使用自己的MAC地址回答来自ISP路由器的ARP请求。这允许ISP路由器从NAT池中解析出IP地址,并使用从NAP池中取出的目的IP地址将报文发送给用户路由器。注意,MAT地址池并非必须来自与用户路由器接口上所配置的子网相同。

    示例3在本例中,公司使用一台具有两个接口的路由器,分别是以太网和串行接口。Ethernet0连接到内部网络,而串行接口则通过点到点协议(PPP)链路连接到ISP路由器。在内部网络中,公司使用的地址来自地址空间10.0.0.0/24,该地址空间在Internet上是不可路由的。公司自己使用IP地址范围171.100.1.0/24。到ISP的PPP链路使用来自198.50.1.0/30子网的地址。公司希望在路由器上配置合适的命令,以便内部用户可以通过使用有效的、全局可路由的地址访问Internet。这些地址应该是来自ISP所提供的地址空间171.100.1.0/24。我们打算与上游的ISP路由器交换OSPF(开放式最短路径优先)更新信息。从而可以从该路由器接收缺省路由,并将其通知ISP路由器,该路由正在公司路由器上使用。1 解决方案1interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface serial0 ip address address 198.50.1.1 255.255.255.252ip nat outside!ip access-list 1 permit 10.0.0.0 0.255.255.555!ip nat pool internet 171.100.1.1 171.100.1.254 netmask 255.255.255.0!ip nat inside source list 1 pool internet!ip route 171.100.1.0 255.255.255.0 null0!router ospf 1 network 198.50.1.0 0.0.0.255 area 0 redistribute static2 解决方案2interface loopback 0 ip address 171.100.1.1 255.255.255.0 ip ospf network point-to-point!interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface serial0 ip address address 198.50.1.1 255.255.255.252ip nat outside!ip access-list 1 permit 10.0.0.0 0.255.255.555!ip nat pool internet 171.100.1.1 171.100.1.254 netmask 255.255.255.0!ip nat inside source list 1 pool internet!ip route 171.100.1.0 255.255.255.0 null0!router ospf 1 network 198.50.1.0 0.0.0.255 area 0 network 171.100.1.0 0.0.0.255 area 03 分析在解决方案1中,先定义了用于NAT的接口,并通过将合适的命令放在每个接口下面,来指定该接口是一个NAT内部或外部接口。在每个接口下面定义了适当的 NAT命令之后,再定义内部全局地址所在的NAT池。定义全局地址的起始IP地址为171.100.1.1,结束IP地址为171.100.1.254。我们使用除.1和.2地址之外的所有主机地址,是因为这些主机地址都不用于路由器接口。通过在NAT池中使用与用户路由器接口所用子网不同的子网,可以获得一些主机地址。但这又引入了一个新的问题。在前一个示例中,ISP路由器直接连接到分配给NAT池的子网上。这种情况下,ISP路由器只发出一个ARP请求,以请求NAT池中的单个NAT地址,而用户路由器则使用自己的MAC地址来响应,此时工作正常。但是,上游的ISP路由器并不直接连接到NAT地址池子网171.100.1.0/24,所以必须告诉它如何通过路由协议或静态路由的方法到达NAT池所在的子网。在解决方案1中,我们启用了OSPF并且为171.100.1.0/24重新分配一个静态路由到OSPF中。上游的ISP路由器会接收到该路由,并且将所有目的地址为NAT池中地址的报文转发到我们的路由器中。可选地,ISP可以在其路由器上安装一个静态路由,用来将所有171.100.1.0/24网络的报文指向我们的路由器。但是,我们希望:当NAT池地址不是直接从相连的子网上取出时,能够显示出路由信息的传播路径。注意,我们将整个171.10.10/24子网的NAT地址表置为null0。由于我们要指定NAT地址表中的某些表项,而非整个171.100.1.0/24子网,这时路由器并不丢弃这些报文,而是将它们转发到NAT表中所定义的内部主机上。在解决方案2中,我们使用了另一种方法来通知ISP路由器有关NAT池的信息。这种方法是创建一个闭环(loopback)接口,并给其分配一个NAT池中的IP地址。通过将network171.100.1.00.0.0.255 area 0语句包含在我们的OSPF路由进程下面,可以将该闭环地址作为OSPF路由的一部分。注意,我们将.1地址从NAT池中删除,而使用主机地址.2作为 NAT池的起始地址,这样就减少了NAT池地址和用于闭环接口上的IP地址重叠的可能性。另外,我们在闭环接口下面使用接口命令ip ospf ntwork point-to-point。一般地,OSPF将闭环接口看成是一个OSPF桩(stub)网络,并且将接口的32位表项作为路由,而非整个子网。在本例中,OSPF进程会发送172.100.1.1/32而非表172.100.1.0/24。在这种情况下,由于需要将整个171.100.1.0/24 子网信息传送给上游的ISP路由器,所以该地址转换过程不能工作。OSPF接口命令告诉OSPF传送该接口的路由,就像该网络是点到点网络一样,而不像是一个桩(stub)网络。这意味着它将通过OSPF传送整个171.100.1.0/24子网信息(ip ospf network point-to-point命令在IOS版本11.3或更高版本中使用),这两种方法都能正常工作,但使用哪一种则是读者的偏好问题了。注意:我们知道一个公司通常会在其路由器和ISP路由器之间运行边界网关协议(Border Gateway Protocol, BGP)。在本例中,我们选择了OSPF路由协议,目的是为了分析ip ospf network point-to-point命令。

    示例4在本例中,公司与示例2中的公司相同,但情况稍有不同。这里公司处于Internet环境中,它决定提供一个能从Internet访问的Web服务器,以便那些浏览Web的用户能够了解公司。该服务器位于内部网络中,并且能够从Internet上的主机访问该服务器。这样它将拥有IP地址 10.1.1.100。由于Web服务器必须能够通过Internet来访问,所以这个源IP地址在转发给ISP路由器之前,必须被转换成内部全局缓冲池中的地址。我们为公司Web服务器选择171.100.1.100作为其转换成的内部全局地址。如示例2那样,Ethernet0连接到内部网络,而串行接口则通过PPP链路连接到ISP路由器。在内部网络中,公司使用10.0.0.0/24中的地址,而全局池中的IP地址范围是171.100.1.0/24。在本例中,我们将假定ISP使用静态路由来找到我们的路由器,其中路由器地址在 172.100.1.0/24地址范围内。并且ISP将该路由传送到Internet上。

    1 解决方案interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside!interface serial0 ip address 198.50.1.1 255.255.255.252 ip nat outsideip access-list 1 permit 10.0.0.0 0.255.255.255!ip nat pool internet prefix-length 24 address 171.100.1.1 171.100.1.99address 171.100.1.101 171.100.1.254!ip nat inside source static 10.1.1.100 171.100.1.100ip nat inside source list 1 pool internet2 分析如其他示例那样,我们在使用任何其他NAT命令之前,应先定义NAT内部和外部接口。而后需要配置NAT池地址和NAT源列表,以允许能够从池中获得地址。本例与示例2的不同之处在于:我们需要为Web服务器设置IP地址171.100.1.100。另外,必须在内部全局地址和内部本地地址之间给出静态映射关系。不然的话,就不能保证NAT表中的NAT转换会将NAT池中的特定IP地址映射到Web服务器。这也意味着无法从Internet上知道应该使用哪个地址才能到达Web服务器,显然这是毫无用处的。注意,我们在配置中使用ip nat inside source static 命令,以建立10.1.1.100和171.100.1.100之间的静态映射。注意到在本例中NAT池的语法有些不同。Cisco已扩展了NAT语法,所以可以拆分NAT池所用的IP地址范围。我们定义了两个不同的地址范围:从171.100.1.1到171.100.1.9 9,以及从171.100.1.1 0 1到171.100.1.254。所以我们可以将IP地址171.100.1.100从NAT池中排除出去,因为我们使用该地址进行静态转换。我们使用 ip nat inside source list命令来定义IP地址,以允许该IP地址从NAT池中获取

    以下是我之前做的实验,你可以参考一下,两种方式,做NAT的,PAT的没做

    R1:FastEthernet0/0 222.1.1.1 FastEthernet0/1 192.168.2.254

    C1 IP:192.168.2.200

    R2:FastEthernet0/0 222.1.1.2

    Loopback0 8.1.1.1

    R1 上的配置:

    interface FastEthernet0/0 ip address 222.1.1.1 255.255.255.0 ip nat outside 注意接*的接口用outside plex auto speed auto!interface FastEthernet0/1 ip address 192.168.2.254 255.255.255.0 ip nat inside 接内网的接口用Inside plex auto speed auto!ip nat pool servers 222.1.1.10 222.1.1.10 netmask 255.255.255.0 建立地址池ip nat inside source list 101 pool servers overload 做映射ip classlessip route 0.0.0.0 0.0.0.0 FastEthernet0/0no ip http server!access-list 101 permit ip host 192.168.2.200 any 建立acl,你需要映射出去的IP

    以下是测试结果:R2为*ping 192.168.2.200

    R2#ping 192.168.2.200

    Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.2.200, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 24/36/80 ms

    以下是在R1上debug ip nat

    00:31:46: NAT: s=192.168.2.200->222.1.1.10, d=222.1.1.2 [1794]00:31:46: NAT: s=192.168.2.200->222.1.1.10, d=222.1.1.2 [1795]00:31:46: NAT: s=192.168.2.200->222.1.1.10, d=222.1.1.2 [1796]00:31:46: NAT: s=192.168.2.200->222.1.1.10, d=222.1.1.2 [1797]00:31:46: NAT: s=192.168.2.200->222.1.1.10, d=222.1.1.2 [1798]

    所用的*IP就是建立地址池的222.1.1.10

    还有一种NAT命令,地址单对单映射,直接用 ip nat inside source static 192.168.2.200 222.1.1.10,接品的inside和outside还是一样,也实现你的要求。这里就不需要acl和建立地址池了

    首先你要 先考虑 ping 这个地址有没有去往 220.170.110.184 的路由如果没有你需要写一条默认路由(明细路由也可以) ip route 0.0.0.0 0.0.0.0 192.168.123.254这样才能把ping包 送到R2上接下来在考虑 网关设备 nat 过程你需要将R3的ping包源地址 转换为R2 outside 地址静态条目应该这么写ip nat inside source static 192.168.123.2 220.170.110.183只有这样 R1 收到该ping包 才能回包欢迎追问

    你应该配置为:access-list 100 permit ip 192.168.123.0 0.0.0.255 anyip nat inside source list 100 interface e0/0 overload 这个是普通的PAT的配置。

    静态映射的命令是ip nat inside source static x.x.x.x y.y.y.y

    0 讨论(0)
提交回复