设为首页 收藏本站
查看: 938|回复: 0

[经验分享] Cisco ip nat 常用命令及原理详解

[复制链接]

尚未签到

发表于 2018-7-20 10:31:28 | 显示全部楼层 |阅读模式
  Cisco    IP nat 常用命令及原理详解
  ip nat
  语法:
  ipnat {inside | outside}
  noip nat {inside | outside}
  本命令用于设置应用NAT的内网和外网的接口。使用 no 选项可使接口不再应用NAT。
  参数:
  inside:表示该接口连接内部网络。
  outside:表示该接口连接外部网络。
  缺省值:接口上没有应用NAT。
  命令模式:接口配置模式。
  说明:数据包只有在 outside 接口和 inside 接口之间路由时,并且符合一定规则的,才会进行NAT转换。所以实现NAT的路由器必须配置至少一个 outside 接口和一个 inside 接口,也可配置多个。
  范例:
  cisco(config)#interfacef0/0
  cisco(config-if)#ipaddress 192.168.10.1 255.255.255.0
  cisco(config-if)#ipnat inside
  cisco(config-if)#noshutdown
  cisco(config-if)#interfacef0/1
  cisco(config-if)#ipaddress 200.19.12.17 255.255.255.0
  cisco(config-if)#ipnat outside
  cisco(config-if)#noshutdown
  本例路由器的 fastethernet 0/0 连接的是内网,被定义为 inside 接口, fastethernet 0/1 连接的是外网,被定义为 outside 接口。
  相关命令:
  showip nat statistics       查看NAT统计数据和规则,包括inside和outside接口
  ip nat inside destination
  语法:
  ipnat inside destination list access-list-number pool pool-name
  noip nat inside destination list access-list-number pool pool-name
  启用NAT内部目标地址转换。使用 no 选项可关闭NAT内部目标地址转换。
  参数:
  access-list-number:访问控制列表的表号。它指定由哪个访问控制列表来定义目标地址的规则。
  pool-name:IP地址池名字。该地址池定义了用于NAT转换的内部本地地址。
  缺省值:没有启用NAT内部目标地址转换。
  命令模式:全局配置模式。
  说明:NAT内部目标地址转换可用于实现TCP负载均衡,你可以用一台虚拟主机代替多台实际主机接收用户的TCP请求,由NAT把这些请求轮流映射到各个实际主机上,达到负载分流的目的。
  配置TCP负载均衡时,访问控制列表定义的是虚拟主机的地址,IP地址池中定义的是各台实际主机的地址。
  范例:
  cisco(config)#ipnat pool np 192.168.1.1 192.168.1.3 netmask 255.255.255.0 type rotary
  cisco(config)#access-list1 permit 60.8.1.1 0.0.0.0
  cisco(config)#ipnat inside destination list 1 pool np
  本例定义了一个TCP负载均衡,虚拟主机地址为60.8.1.1,由access-list 1定义,实际主机地址为192.168.1.1~192.168.1.3,由地址池np定义。
  相关命令:
  ipnat pool   创建一个NAT地址池
  access-list    定义访问控制列表
  ip nat inside source list
  语法:
  ipnat inside source list access-list-number {pool pool-name | interfaceinterface-id} [overload]
  noip nat inside source list access-list-number
  启用内部源地址转换的动态NAT。使用 no 选项可关闭该动态NAT。
  参数:
  access-list-number:访问控制列表的表号。它指定由哪个访问控制列表来定义源地址的规则。
  pool-name:IP地址池名字。该地址池定义了用于NAT转换的内部全局地址。
  interface-id:接口号。指定用该接口的IP地址作为内部全局地址。
  overload:启用端口复用,使每个全局地址可以和多个本地地址建立映射,在多对一的nat转换中才会使用overload,以使多个地址同时通过一个nat地址来通信,如果不加此命令则一个时间片内只有一条内部地址可以通信。此命令在nat地址下加子接口。
  缺省值:没有启用NAT。
  命令模式:全局配置模式。
  说明:在锐捷路由器中,端口复用默认是启用的,有没有overload关键字都是一样的,保留这个参数是为了和Cisco的命令兼容。
  配置内部源地址的动态NAT时,访问控制列表定义的是内部本地地址的规则,IP地址池中定义的是内部全局地址,它通常是注册的合法地址。
  范例1:
  cisco(config)#ipnat pool np 200.10.10.1 200.10.10.9 netmask 255.255.255.0
  cisco(config)#access-list1 permit 192.168.1.0 0.0.0.255
  cisco(config)#access-list1 permit 172.16.0.0 0.0.255.255
  cisco(config)#ipnat inside source list 1 pool np overload
  本例定义了一个内部源地址动态NAT,内部本地地址为192.168.1.*和172.16.*.*的格式,由access-list 1定义,只有这两种地址才会进行NAT转换。内部全局地址为200.10.10.1~200.10.10.9,共9个地址,由地址池np定义。每个全局地址都可以和多个本地地址建立映射,用端口号区分各个映射。
  范例2:
  Ruijie(config)#access-list1 permit 192.168.0.0 0.0.255.255
  Ruijie(config)#ipnat inside source list 1 interface s1/0 overload
  本例定义了一个内部源地址动态NAT,内部本地地址为192.168.*.*的格式,由access-list 1定义。内部全局地址为 Serial 1/0 的IP地址。所有本地地址都会映射为这一个IP地址,用端口号区分各个映射。
  相关命令:
  ipnat pool   创建一个NAT地址池
  access-list    定义访问控制列表
  ip nat inside source static
  语法:
  ipnat inside source static local-address global-address [permit-inside]
  noip nat inside source static local-address global-address [permit-inside]
  ipnat inside source static protocol local-address local-port global-addressglobal-port [permit-inside]
  noip nat inside source static protocol local-address local-port global-addressglobal-port [permit-inside]
  启用内部源地址转换的静态NAT。使用 no 选项可删除该静态NAT。
  参数:
  local-address:内部本地地址。是主机在网络内部的IP地址,一般是未注册的私有地址。
  global-address:内部全局地址。是内部主机在外部网络表现出的地址,一般是注册的合法地址。
  protocol:协议。可以是TCP 或 UDP。
  local-port:本地地址的服务端口号。
  global-port:全局地址的服务端口号,它可以和local-port不同。
  permit-inside:允许内部用户使用全局地址访问本地主机。
  缺省值:没有启用NAT。
  命令模式:全局配置模式。
  说明:静态NAT主要用于那些对需要对外部用户开放的服务,如Web服务器等,它可以把本地地址映射为指定的全局地址。
  第一种格式实现的是一对一的NAT映射。第二种格式可实现一对多的映射,即一个全局地址可映射多个内部地址,用端口号区分各个映射。
  范例1:
  cisco(config)#ipnat inside source static 192.168.1.6 200.10.10.2
  本例定义了一个内部源地址静态NAT,内部本地地址为192.168.1.6,内部全局地址为200.10.10.2。外网用户只能用200.10.10.2访问这台主机,内网用户只能用192.168.1.6访问这台主机,如果加上permit-inside关键字,内网用户也能用200.10.10.2访问。
  范例2:
  cisco(config)#ipnat inside source static tcp 192.168.1.6 80 200.10.10.2 80
  cisco(config)#ipnat inside source static tcp 192.168.1.8 80 200.10.10.2 8080
  本例定义了两个内部源地址静态NAT,两个服务都是Web服务,内网用户可以用http://192.168.1.6和http://192.168.1.8访问这两个网站,外网用户需要用http://200.10.10.2和http://200.10.10.2:8080访问这两个网站。
  ip nat outside source list
  语法:
  ipnat outside source list access-list-number pool pool-name
  noip nat outside source list access-list-number
  启用外部源地址转换的动态NAT。使用 no 选项可关闭该动态NAT。
  参数:
  access-list-number:访问控制列表的表号。它指定由哪个访问控制列表来定义源地址的规则。
  pool-name:IP地址池名字。该地址池定义了用于NAT转换的外部本地地址。
  缺省值:没有启用NAT。
  命令模式:全局配置模式。
  说明:外部源地址NAT用于有地址重叠的情况。当两个需要互访的私有网络使用了同样的IP地址,或一个私有网络和公有网络使用了同样的IP地址,则产生地址重叠。这时需要把外部全局地址映射为一个本地没有的外部本地地址才能实现互访。
  配置外部源地址的动态NAT时,访问控制列表定义的是外部全局地址的格式,IP地址池中定义的是外部本地地址,它应该和内部本地地址没有重叠。
  范例:
  cisco(config)#ipnat pool outp 172.18.1.1 172.18.1.254 netmask 255.255.255.0
  cisco(config)#access-list1 permit 192.168.1.0 0.0.0.255
  cisco(config)#ipnat outside source list 1 pool outp
  本例定义了一个外部源地址动态NAT,外部全局地址为192.168.1.*的格式,由access-list 1定义,它和内部地址有重叠。外部本地地址为172.18.1.1~172.18.1.254,由地址池outp定义,这组地址是内部网络中不使用的可路由地址。当从外部来的数据包,源地址是192.168.1.*的格式时,用172.18.1.*的地址替换,再进入内部网络。
  相关命令:
  ipnat pool   创建一个NAT地址池
  access-list    定义访问控制列表
  ip nat outside source static
  语法:
  ipnat outside source static global-address local-address
  noip nat outside source static global-address local-address
  ipnat outside source static protocol global-address global-port local-addresslocal-port
  noip nat outside source static protocol global-address global-port local-addresslocal-port
  启用外部源地址转换的静态NAT。使用 no 选项可删除该静态NAT。
  参数:
  global-address:外部全局地址。是外部主机在外部网络的地址。
  local-address:外部本地地址。是外部主机在网络内部表现的IP地址。
  protocol:协议。可以是TCP 或 UDP。
  global-port:外部全局地址的服务端口号。
  local-port:外部本地地址的服务端口号,它可以和global-port不同。
  缺省值:没有启用NAT。
  命令模式:全局配置模式。
  说明:外部源地址静态NAT用于有地址重叠的情况。第一种格式实现的是一对一的NAT映射。第二种格式可实现一对多的映射,即一个本地地址可映射多个全局地址,用端口号区分各个映射。
  范例:
  Ruijie(config)#ipnat outside source static 192.168.1.1 172.18.1.6
  本例定义了一个外部源地址静态NAT,外部全局地址为192.168.1.1,外部本地地址为172.18.1.6。当从外部来的数据包,源地址是192.168.1.1时,用172.18.1.6的地址替换,再进入内部网络。
  ip nat pool
  语法:
  ipnat pool pool-name start-address end-address {netmask subnet-mask|prefix-lengthprefix-length} [type rotary]
  ipnat pool pool-name {netmask subnet-mask|prefix-length prefix-length} [typerotary]
  noip nat pool pool-name
  定义一个IP地址池。使用 no 选项可删除地址池。
  参数:
  pool-name:地址池名字。在动态NAT配置命令中用这个名字引用地址池。
  start-address:地址块起始IP地址。
  end-address:地址块结束IP地址。
  subnet-mask:地址块的子网掩码。
  prefix-length:使用长度表示的掩码,是掩码的简化写法。
  typerotary:表示定义为轮转型地址池,每个地址分配的概率相等。锐捷路由器默认的地址池类型就是轮转型,所以有没有 rotary 关键字都一样,保留此关键字是为了和 Cisco 命令兼容。
  缺省值:没有定义地址池。
  命令模式:全局配置模式。
  说明:第一种格式定义了一个包含地址块的地址池。第二种格式定义的是一个空地址池,之后可以用 address 命令向其中添加一个或多个地址块。
  范例1:
  cisco(config)#ipnat pool np1 200.10.10.1 200.10.10.9 netmask 255.255.255.0
  本例定义了一个名为 np 的地址池,地址范围是 200.10.10.1~200.10.10.9,掩码是 255.255.255.0。
  范例2:
  cisco(config)#ipnat pool np2 200.10.10.1 200.10.10.9 prefix-length 24
  本例定义的地址池和例1完全相同,只是掩码用的是长度写法。
  范例3:
  cisco(config)#ipnat pool np3 netmask 255.255.255.0
  cisco(config)#address200.10.10.1 200.10.10.9
  cisco(config)#address201.15.8.17 201.15.8.25
  本例先定义了一个空地址池,再用 addess 命令向其中加入了两个地址块。
  相关命令:
  addess  向NAT地址池中添加地址
  ip nat translation
  语法:
  ipnat translation 参数名参数值
  noip nat translation 参数名
  配置NAT转换记录的超时时间和转换记录条数限制。使用 no 选项可恢复缺省配置。
  该命令有多种用法:
  ipnat translation dns-timeout seconds
  定义DNS转换记录的超时时间,单位为秒。缺省值为 60 秒。
  ipnat translation finrst-timeout seconds
  定义TCP连接FIN及RESET后转换记录的超时时间,单位为秒。缺省值为 60 秒。
  ipnat translation icmp-timeout seconds
  定义ICMP转换记录的超时时间,单位为秒。缺省值为 60 秒。
  ipnat translation syn-timeout seconds
  定义TCP发出syn后没有收到应答的超时时间,单位为秒。缺省值为 60 秒。
  ipnat translation tcp-timeout seconds
  定义TCP连接转换记录的超时时间,单位为秒。缺省值为 1 天。
  ipnat translation udp-timeout seconds
  定义UDP连接转换记录的超时时间,单位为秒。缺省值为 300 秒。
  ipnat translation max-entries number
  定义NAT转换记录的最大个数。缺省为 30000 条。
  ipnat translation pre-user user-ip [number]
  指定内网某个用户所允许的最大转换记录数。user-ip时用户的IP地址,如果为0.0.0.0,则内网所有用户使用相同的条数限制。具体IP的配置优先级高于 0.0.0.0 的配置。如果user-ip后没有给出具体数值,则为300条。缺省情况下,不做限制。
  命令模式:全局配置模式。
  范例1:
  cisco(config)#ipnat translation pre-user 0.0.0.0 500
  cisco(config)#ipnat translation pre-user 192.168.5.112 1000
  本例对内网用户转换记录条数做了限制,用户192.168.5.112限制为1000条,其他用户统一限制为500条。
  范例2:
  cisco(config)#ipnat translation icmp-timeout 30
  本例把ICMP的NAT转换记录的超时时间设置为30秒。
  使用 ip nat outside source list 命令(动态NAT)而不是 ip nat outside source static 命令(静态NAT)的主要区别在于,在(为NAT配置的)路由器检验数据包的转换标准之前,在转换表中没有条目。在上例中,SA为172.16.88.1的数据包(进入Router 2514x的外部接口)符合访问列表1,即 ip nat outside source list 命令使用的标准。因此,在内部网络的包可以与Router 2514w的loopback0接口通信之前,必须从外部网络始发数据包。
  本例中需要注意两点:
  第一,当数据包从外部传输到内部时,先进行转换,然后检查目的地的路由表。当数据包从内部传输到外部时,先检查目的地的路由表,然后进行转换。
  第二,使用上述每条命令时,记录IP数据包的哪个部分被转换很重要。下表给出了一个纲要:
  命令
  操作
  ip nat outside source list
  转换IP包的源,这些IP包正在从外部传输到内部
  转换IP包的目的地,这些IP包正在从内部传输到外部
  ip nat inside source list
  转换IP包的源,这些IP包正在从内部传输到外部
  转换IP包的目的地,这些IP包正在从外部传输到内部
  以上表明有多种方法可以转换包。根据您的具体要求,您应该确定如何定义NAT接口(内部或外部),以及路由表在转换之前或之后应该包含哪些路由。一定要记住,包被转换的部分取决于该包传输的方向以及您如何配置NAT。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-539072-1-1.html 上篇帖子: cisco的路由器上rip的被动接口,单播更新,水平分隔 下篇帖子: cisco 设备的IOS要支持WEB管理功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表