NAT地址转换常用命令详解
缺省值:没有启用NAT。
命令模式:全局配置模式。
说明:静态NAT主要用于那些对需要对外部用户开放的服务,如Web服务器等,它可以把本地地址映射为指定的全局地址。
第一种格式实现的是一对一的NAT映射。第二种格式可实现一对多的映射,即一个全局地址可映射多个内部地址,用端口号区分各个映射。
范例1:
本例定义了一个内部源地址静态NAT,内部本地地址为192.168.1.6,内部全局地址为200.10.10.2。外网用户只能用200.10.10.2访问这台主机,内网用户只能用192.168.1.6访问这台主机,如果加上permit-inside关键字,内网用户也能用200.10.10.2访问。
范例2:
本例定义了两个内部源地址静态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地址池中定义的是外部本地地址,它应该和内部本地地址没有重叠。
范例:
本例定义了一个外部源地址动态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映射。第二种格式可实现一对多的映射,即一个本地地址可映射多个全局地址,用端口号区分各个映射。
范例:
本例定义了一个外部源地址静态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:
本例定义了一个名为 np 的地址池,地址范围是 200.10.10.1~200.10.10.9,掩码是 255.255.255.0。
范例2:
本例定义的地址池和例1完全相同,只是掩码用的是长度写法。
范例3:
本例先定义了一个空地址池,再用 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:
本例对内网用户转换记录条数做了限制,用户192.168.5.112限制为1000条,其他用户统一限制为500条。
范例2:
本例把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 outsidesource list |
|
|
ip nat inside source list |
|
以上表明有多种方法可以转换包。根据您的具体要求,您应该确定如何定义NAT接口(内部或外部
NAT地址转换常用命令详解的更多相关文章
- samtools常用命令详解(转)
转自:samtools常用命令详解 samtools的说明文档:http://samtools.sourceforge.net/samtools.shtml samtools是一个用于操作sam和ba ...
- cisco常用命令详解
cisco常用命令详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用命令用法展示 1.命令行模式的来回切换 yinzhengjie>enable #从用户模式切换到 ...
- H3C常用命令详解
H3C常用命令详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.关闭后台日志输出 <yinzhengjie>sys [yinzhengjie]undo info- ...
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- 【转载】windbg 常用命令详解
windbg 常用命令详解 https://blog.csdn.net/chenyujing1234/article/details/7743460 vertarget 显示当前进程的大致信息 lmv ...
- DOS常用命令详解
DOS常用命令详解 dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录 copy 拷贝文件 diskcopy 复制磁盘 del 删除文件 format 格式化磁盘 edit ...
- Kubernetes,kubectl常用命令详解
kubectl概述 祭出一张图,转载至 kubernetes-handbook/kubectl命令概述 ,可以对命令族有个整体的概念. 环境准备 允许master节点部署pod,使用命令如下: kub ...
- Linux常用命令详解上
Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...
- hbase shell基础和常用命令详解(转)
HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...
随机推荐
- Linux中/etc/inittab文件
1. inittab基本概念 a) init进程: Linux在完成核内引导(内核镜像已被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,接着通过启动一个用户级程序init来启动其 ...
- C++ 新特性 笔记 2 右值引用
C ++ Rvalue引用说明 以下内容,主要是上述链接的摘要 介绍 Rvalue引用是C ++的一个特性,它是随C ++ 11标准添加的.使右值参考有点难以理解的是,当你第一次看到它们时,不清楚它们 ...
- vim复制到剪切板
作者:whinc链接:https://www.zhihu.com/question/19863631/answer/89354508来源:知乎 转载文章 Vim 中的复制.删除的内容都会被存放到默认( ...
- Centos7添加密码安全策略
设置密码中至少包含一个小写字符,执行命令:# authconfig --enablereqlower --update查看设置:# grep "^lcredit" /etc/sec ...
- 第11章 Spring Boot使用Actuator
在生产环境中,需要实时或定期监控服务的可用性,spring-Boot的Actuator 功能提供了很多监控所需的接口. Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能, ...
- 第二章 Vue快速入门--10-11 跑马灯效果制作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- JVM的四种GC算法
程序在运行过程中,会产生大量的内存垃圾(一些没有引用指向的内存对象都属于内存垃圾,因为这些对象已经无法访问,程序用不了它们了,对程序而言它们已经死亡),为了确保程序运行时的性能,java虚拟机在程序运 ...
- 小程序swiper组件的bindchange方法重复执行问题
这是官方文档的说法给出了swiper组件一直来回滑动的bug原因 以下是修正方法 <swiper autoplay="{{autoplay}}" interval=" ...
- Libreoffice/Office:禁止首字母自动大写功能
造冰箱的大熊猫@cnblogs 2019/1/24 在LibreOffice(5.1.6.2)中,要禁止或者使能首字母自动大写功能,点击菜单项“Tools>>AutoCorrect Op ...
- Linux环境下软件安装
下载——解压缩: 把得到的目录放到一个不碍事的目录,我们可以设置隐藏目录: 查看可执行程序: 如何变成系统命令? PATH:一个可执行程序只要放到这些目录中任何一个就可以,就可以变成系统识别的命令,当 ...