缺省值:没有启用NAT。

命令模式:全局配置模式。

说明:静态NAT主要用于那些对需要对外部用户开放的服务,如Web服务器等,它可以把本地地址映射为指定的全局地址。

第一种格式实现的是一对一的NAT映射。第二种格式可实现一对多的映射,即一个全局地址可映射多个内部地址,用端口号区分各个映射。

范例1

Ruijie(config)#ip nat 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:

Ruijie(config)#ip nat inside source static tcp 192.168.1.6 80 200.10.10.2 80
Ruijie(config)#ip nat 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

语法:

ip nat outside source list access-list-number pool pool-name

no ip nat outside source list access-list-number

启用外部源地址转换的动态NAT。使用 no 选项可关闭该动态NAT。

参数:

access-list-number:访问控制列表的表号。它指定由哪个访问控制列表来定义源地址的规则。

pool-name:IP地址池名字。该地址池定义了用于NAT转换的外部本地地址。

缺省值:没有启用NAT。

命令模式:全局配置模式。

说明:外部源地址NAT用于有地址重叠的情况。当两个需要互访的私有网络使用了同样的IP地址,或一个私有网络和公有网络使用了同样的IP地址,则产生地址重叠。这时需要把外部全局地址映射为一个本地没有的外部本地地址才能实现互访。

配置外部源地址的动态NAT时,访问控制列表定义的是外部全局地址的格式,IP地址池中定义的是外部本地地址,它应该和内部本地地址没有重叠。

范例:

Ruijie(config)#ip nat pool outp 172.18.1.1 172.18.1.254 netmask 255.255.255.0
Ruijie(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Ruijie(config)#ip nat 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.*的地址替换,再进入内部网络。

相关命令:

ip nat pool 创建一个NAT地址池
access-list 定义访问控制列表

ip nat outside source static

语法:

ip nat outside source static global-address local-address

no ip nat outside source static global-address local-address

ip nat outside source static protocol global-address global-port local-address local-port

no ip nat outside source static protocol global-address global-port local-address local-port

启用外部源地址转换的静态NAT。使用 no 选项可删除该静态NAT。

参数:

global-address:外部全局地址。是外部主机在外部网络的地址。

local-address:外部本地地址。是外部主机在网络内部表现的IP地址。

protocol:协议。可以是 TCP 或 UDP。

global-port:外部全局地址的服务端口号。

local-port:外部本地地址的服务端口号,它可以和global-port不同。

缺省值:没有启用NAT。

命令模式:全局配置模式。

说明:外部源地址静态NAT用于有地址重叠的情况。第一种格式实现的是一对一的NAT映射。第二种格式可实现一对多的映射,即一个本地地址可映射多个全局地址,用端口号区分各个映射。

范例:

Ruijie(config)#ip nat 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

语法:

ip nat pool pool-name start-address end-address {netmask subnet-mask|prefix-length prefix-length} [type rotary]

ip nat pool pool-name {netmask subnet-mask|prefix-length prefix-length} [type rotary]

no ip nat pool pool-name

定义一个IP地址池。使用 no 选项可删除地址池。

参数:

pool-name:地址池名字。在动态NAT配置命令中用这个名字引用地址池。

start-address:地址块起始IP地址。

end-address:地址块结束IP地址。

subnet-mask:地址块的子网掩码。

prefix-length:使用长度表示的掩码,是掩码的简化写法。

type rotary:表示定义为轮转型地址池,每个地址分配的概率相等。锐捷路由器默认的地址池类型就是轮转型,所以有没有 rotary 关键字都一样,保留此关键字是为了和 Cisco 命令兼容。

缺省值:没有定义地址池。

命令模式:全局配置模式。

说明:第一种格式定义了一个包含地址块的地址池。第二种格式定义的是一个空地址池,之后可以用 address 命令向其中添加一个或多个地址块。

范例1

Ruijie(config)#ip nat 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:

Ruijie(config)#ip nat pool np2 200.10.10.1 200.10.10.9 prefix-length 24

本例定义的地址池和例1完全相同,只是掩码用的是长度写法。

范例3:

Ruijie(config)#ip nat pool np3 netmask 255.255.255.0
Ruijie(config)#address 200.10.10.1 200.10.10.9
Ruijie(config)#address 201.15.8.17 201.15.8.25

本例先定义了一个空地址池,再用 addess 命令向其中加入了两个地址块。

相关命令:

addess 向NAT地址池中添加地址

ip nat translation

语法:

ip nat translation 参数名 参数值

no ip nat translation 参数名

配置NAT转换记录的超时时间和转换记录条数限制。使用 no 选项可恢复缺省配置。

该命令有多种用法:

ip nat translation dns-timeout seconds

定义DNS转换记录的超时时间,单位为秒。缺省值为 60 秒。

ip nat translation finrst-timeout seconds

定义TCP连接FIN及RESET后转换记录的超时时间,单位为秒。缺省值为 60 秒。

ip nat translation icmp-timeout seconds

定义ICMP转换记录的超时时间,单位为秒。缺省值为 60 秒。

ip nat translation syn-timeout seconds

定义TCP发出syn后没有收到应答的超时时间,单位为秒。缺省值为 60 秒。

ip nat translation tcp-timeout seconds

定义TCP连接转换记录的超时时间,单位为秒。缺省值为 1 天。

ip nat translation udp-timeout seconds

定义UDP连接转换记录的超时时间,单位为秒。缺省值为 300 秒。

ip nat translation max-entries number

定义NAT转换记录的最大个数。缺省为 30000 条。

ip nat translation pre-user user-ip [number]

指定内网某个用户所允许的最大转换记录数。user-ip时用户的IP地址,如果为 0.0.0.0,则内网所有用户使用相同的条数限制。具体IP的配置优先级高于 0.0.0.0 的配置。如果user-ip后没有给出具体数值,则为300条。缺省情况下,不做限制。

命令模式:全局配置模式。

范例1

Ruijie(config)#ip nat translation pre-user 0.0.0.0 500
Ruijie(config)#ip nat translation pre-user 192.168.5.112 1000

本例对内网用户转换记录条数做了限制,用户192.168.5.112限制为1000条,其他用户统一限制为500条。

范例2:

Ruijie(config)#ip nat 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接口(内部或外部)

CISCO IP nat 常用命令及原理详解相关推荐

  1. docker实践(2)常用命令和DockerFile详解

    <docker实践(1) 入门和springBoot实践部署> <docker实践(2)常用命令和DockerFile详解> <docker实践(3) 仓库registr ...

  2. Linux系统常用命令及其使用详解大全

    Linux系统常用命令及其使用详解大全 整理了linux常用的命令,最长常用的也就几十个,cd,ls ,vi等等,有些容易忘记,经常拿出来看看. 其他的可以推荐一个网站,https://www.lin ...

  3. Linux系统常用命令,指令详解及案例

    现在的企业有90%甚至更过是使用Linux操作系统, 所以不管是开发还是运维, 不会点Linux知识肯定是无法进入到企业里工作. 而且, 全球500强超级计算机几乎都是使用Linux操作系统, 这也是 ...

  4. Shell常用命令grep用法详解

    1. 简介 1.1. 功能 搜索输入文件中满足匹配指定模式的文本行,并将匹配行输出到标准输出. 1.2. 用法 grep [option-] [patterns] [file-] 1.3. 参考 官方 ...

  5. 乌班图linux命令,乌班图Ubuntu常用命令及用法详解

    1.ls 这个相当于Windows 下的dir命令,可以列出当前窗口或指定窗口下的内容. 2.rm 这个相当于Windows 下的del 和rmdir 命令,可以删除文件及文件夹. 常见用法:rm - ...

  6. GIT常用命令以及使用详解图示

    1配置个人信息,方便提交代码管理 获取Git配置信息,执行以下命令: git config --list 如果你还没有设置名字 user.name 和 user.email的话,可以用以下指令设置: ...

  7. Linux ❉ 文件目录中常用命令 pwd / ls 详解

    一 pwd命令:显示当前路径 由于 Linux 文件系统中有许多目录,当用户执行一条 Linux 命令又没有指定该命令或参数所在的目录时,Linux 系统就会首先在当前目录(目前的工作目录)搜寻这个命 ...

  8. java -jar 工作原理_Spring Boot 的java -jar命令启动原理详解

    导语 在运用Spring Boot 后,我们基本上摆脱之前项目每次上线的时候把项目打成war包.当然也不排除一些奇葩的规定,必须要用war包上线,不过很多时候,我们对一些东西只是处在使用的阶段,并不会 ...

  9. linux常中的cat命令,cat命令-linux常用命令cat用法详解

    cat命令用于连接文件打印到输出设备中 cat是linux的基本文本输出命令,通常用于查看文件内容. 语法 cat (参数)(选项) -n 或 --number:由 1 开始对所有输出的行数编号. - ...

最新文章

  1. 发光二极管原理,理解,相关计算
  2. 突破NP屏蔽,实现按键模拟!
  3. 腾讯云+FFmpeg打造一条完备高效的视频产品链
  4. 基于webrtc多人音视频的研究(一)
  5. java rest 序列化_Django Rest Framework中的序列化和反序列化
  6. vivado中bit文件怎么没有生成_Xilinx FPGA bit 文件加密
  7. 让 API 端点的响应速度提高 50 倍!
  8. angularjs $state.go页面不刷新数据
  9. 网络协议之Netflow与sFlow协议
  10. java ocr 表格票据识别_OCR表格票据识别技术。
  11. R语言客户端RStudio快捷键大全
  12. 记-微服务CPU100%排查之windows版
  13. 地方门户网站的运营我们缺少的是什…
  14. 希望之路:市政道路拉线法定标高
  15. Element表单验证规则
  16. 查看xgboost版本
  17. 一篇可能让你每年多赚5万的写简历技术贴!
  18. 中国各省省会城市的坐标地址信息
  19. Vim中安装自动补全插件YouCompleteMe
  20. 408 2016 43

热门文章

  1. 0基础学python-0基础学python 全套教程送你参考
  2. python画圆简单代码-python实现画圆功能
  3. python七段数码管设计图案-Python 七段数码管绘制
  4. python面试常见问题-常见Python面试题
  5. python经典案例-Python递归的经典案例
  6. python文件输出-Python 文件和输入输出小结
  7. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么
  8. 爬虫python下载-python 下载 爬虫
  9. python线下培训-济南Python线下培训班哪个好
  10. 国内哪里培训python比较好-python培训哪家机构比较好?