IP寻址配置命令包括:
l arp
l arp timeout
l clear arp-cache
l ip address
l ip directed-broadcast
l ip forward-protocol udp
l ip helper-address
l ip host
l ip proxy-arp
l ip unnumbered
l keepalive
l show arp
l show hosts
l show ip interface
配置静态ARP映射,静态ARP映射会永久保留在ARP缓存中。如果要删除配置的静态ARP映射的话,使用 no arp 命令。
arp [vrf vrf-name] ip-address hardware-address [alias]
no arp [vrf vrf-name] ip-address
参数
参数 | 参数说明 |
---|---|
Vrf-name | (支持VRF的版本可选)VRF名称。 |
ip-address | 本地数据链路接口的IP地址。 |
hardware-address | 本地数据链路接口的物理地址。 |
alias | (可选)路由器回答对这一IP地址的ARP请求,就象是本身拥有这个IP地址。 |
缺省
ARP缓存中不存在永久的静态ARP映射。
命令模式
全局配置态
使用说明
一般的主机都可以支持动态ARP解析,所以一般不需要用户特地为主机配置静态ARP映射。VRF子命令指明该arp表项属于哪个VRF。
示例
下面的这条命令配置IP地址为1.1.1.1的主机的MAC地址为00:12:34:56:78:90。
arp 1.1.1.1 00:12:34:56:78:90
相关命令
clear arp-cache
配置ARP缓存中动态ARP表项的存在时间。如果要恢复到缺省值的话,使用 no arp timeout 或default arp timeout命令。
arp timeout seconds
no arp timeout
default arp timeout
参数
参数 | 参数说明 |
---|---|
seconds | ARP缓存中动态ARP表项的存在时间(秒)。0 表示在这个接口动态解析得到的ARP缓存不会被超时释放。 |
缺省
180 秒 (3分钟)
命令模式
接口配置态
使用说明
如果在不使用ARP的接口上进行配置,则配置无效。show interface命令将显示在这个接口上配置的ARP表项超时时间,显示如下:
ARP type: ARPA, ARP timeout 00:03:00
示例
下面这条命令在接口Ethernet 1/0上配置动态ARP映射的生存时间是900秒,以便使ARP缓存更快地刷新。
!
interface ethernet 1/0
arp timeout 900
!
相关命令
show interface
清除所有动态ARP缓存。
clear arp-cache
参数
命令没有参数或关键字。
命令模式
管理态
示例
下面的命令清除所有的动态ARP缓存。
clear arp-cache
相关命令
arp
配置接口IP地址,同时设置网络掩码。目前已经不再严格区分A,B,C类IP地址,但是,不能使用多播地址和广播地址(主机部分全“1”)。除了以太网,其它类型的多个接口可以在同一个网段上。但是,以太网接口所配置的网段不能和其它任意类型的接口相同,除了无编号接口。一个接口上一般都可以配置一个主地址和无限多个从属地址。从属地址只能在配置了主地址后才可以配置,从属地址全部删除之后才可以删除主地址。系统本身生成的IP报文,如果上层应用没有指定源地址,路由器将使用发出接口上配置的与网关在同一网段上的IP地址作为报文的源地址,如果不能确定这个IP地址(例如接口路由),则采用发出接口的主地址。如果一个接口没有配置IP地址,而且也不是无编号接口(unnumbered 接口),则这个接口不处理IP报文。
如果要删除IP地址,或者停止某个接口对IP报文的处理,可以使用no ip address命令清除接口上的某个或所有IP地址。
ip address ip-address mask [secondary]
no ip address ip-address mask
no ip address
参数
参数 | 参数说明 |
---|---|
ip-address | IP 地址。 |
mask | IP 网络掩码。 |
secondary | (可选) 指明配置的是IP从属地址,如果没有指明,则配置的是IP主地址。 |
缺省
接口上不配置任何IP地址。
命令模式
接口配置态
使用说明
如果路由器在某个物理网段上配置了从属IP地址,其它同一物理网段上的系统也必须配置相同逻辑网段的从属地址,否则容易很快就引起路由循环。
当使用OSPF协议时,要确保一个接口上的从属地址和它的主地址在同一个OSPF area中。
示例
下列命令在ethernet1/0接口上配置主地址202.0.0.1,网络掩码255.255.255.0,另外配置了两个IP从属地址203.0.0.1和204.0.0.1。
interface ethernet1/0
ip address 202.0.0.1 255.255.255.0
ip address 203.0.0.1 255.255.255.0 secondary
ip address 204.0.0.1 255.255.255.0 secondary
转发IP定向广播,并将报文以物理广播的形式发送。
ip directed-broadcast [access-list-namer]
no ip directed-broadcast
参数
参数 | 参数说明 |
---|---|
access-list-name | (可选)访问表名称。如果定义了访问表,只有访问表允许的广播报文被转发。 |
缺省
缺省情况下,不转发IP定向广播。
命令模式
接口配置态
示例
下面的例子在接口ethernet1/0上配置转发IP定向广播。
!
interface ethernet 1/0
ip directed-broadcast
!
当接口上配置了ip helper-address后,用于指定对哪些 UDP 协议有限广播报文进行转发。
ip forward-protocol udp [port]
no ip forward-protocol udp [port]
default ip forward-protocol udp
参数
参数 | 参数说明 |
---|---|
port | (可选)需要被转发的UDP报文的目的端口。 |
缺省
转发NETBIOS名字服务(Name Service)报文。
命令模式
全局配置态
使用说明
目前缺省转发NETBIOS名字服务报文,如果要求不转发NETBIOS名字服务报文,可以使用下列任一命令:
no ip forward-protocol udp netbios-ns
no ip forward-protocol udp 137
使用下面的命令停止转发所有UDP有限广播报文:
no ip forward-protocol udp
示例
Router_config#ip forward-protocol udp 137
相关命令
ip helper-address
将IP定向广播报文转发到命令指定的IP帮助地址,可以是单目或者是广播地址。每个接口可以配置多个帮助地址。ip helper-address address
no ip helper-address [address]
参数
参数 | 参数说明 |
---|---|
address | IP 帮助地址。 |
缺省
未配置IP帮助地址。
命令模式
接口配置态
使用说明
该命令在X.25接口上不起作用,因为路由器不能辨别出物理广播。
示例
下面的命令在接口ethernet1/0上配置IP帮助地址1.0.0.1。
!
interface ethernet 1/0
ip helper-address 1.0.0.1
!
相关命令
ip forward-protocol udp
定义静态主机名称—地址映射。如果要删除主机名称—地址映射,使用no ip host命令。
ip host name address
no ip host name
参数
参数 | 参数说明 |
---|---|
name | 主机名称。 |
Address | IP地址。 |
缺省
没有配置任何映射。
命令模式
全局配置态
示例
下面的例子配置IP地址为202.96.1.3的主机名称是dns-server。
ip host dns-server 202.96.1.3
在接口上进行代理ARP。如果要关闭这项功能,使用no ip proxy arp命令。
ip proxy-arp
no ip proxy-arp
参数
命令没有参数或关键字。
缺省
进行代理ARP。
命令模式
接口配置态
使用说明
当路由器收到ARP请求时,如果路由器有到被请求IP地址的路由,且路由接口和收到请求的接口不同,路由器将以自己的MAC地址发出ARP响应,然后,在收到实际数据报文时,进行转发。这样,即使一台主机不完全了解网络的拓扑结构,或者没有配置准确的路由,也能和远端通信。对它来说,远端主机就和它直接连接在同一个物理子网中。
如果主机需要路由器提供这项服务,它和路由器必须在同一个IP网络中,或者,至少它的IP地址必须能够使路由器认为它们在同一个IP子网中,也就是说,可以使用不同的掩码。否则,路由器将不提供这项服务。
示例
下面的例子在接口ethernet1/0上打开代理ARP功能:
!
interface ethernet 1/0
ip proxy-arp
!
配置一个接口为无编号接口,可以不配置IP地址就开启IP处理功能。要停止这个接口上的IP处理,使用no ip unnumbered命令。
ip unnumbered type number
no ip unnumbered
参数
参数 | 参数说明 |
---|---|
type number | 另一个配置了IP地址的接口的类型和编号。这个接口不可以是使用其它接口IP地址的无编号接口。 |
缺省
不启动这项功能。
命令模式
接口配置态
使用说明
对于点到点链路接口来说,可以不配置独有的IP地址,而是使用这条命令在这个接口上启动IP处理,并指定借用其它接口上的有效IP地址作为这个接口发出报文的源地址,以便节省IP地址。这样的点到点接口称为无编号(unnumbered)接口。无编号接口上生成的IP报文,例如路由更新报文,将使用命令中指定的接口上配置的有效IP地址。它还用这一地址确定哪些路由进程在该接口上发送更新报文。但是,有下列限制:
(1) 使用HDLC,PPP, LAPB,SLIP和帧中继封装的串行接口和隧道接口可以使用该条命令配置成无编号接口。但是,X.25和SMDS接口不能使用这条命令。
(2) 无法通过ping命令检测这个接口是否正常工作。可以使用SNMP远程检测这个接口的状态。
这条命令根据RFC 1195中关于接口可以不配置有效IP地址的规定实现。
在不同的主网之间的使用其它接口IP地址的串行链路,必须小心对待:任何运行在这条链路上的路由协议不能广播任何有关各自子网的信息。
示例
下面的命令将接口serial0/0配置成无编号接口,使用接口ethernet0/1上配置的有效IP地址1.0.0.1作为这个接口上发出报文的源地址:
!
interface ethernet 0/1
ip address 1.0.0.1 255.255.255.0
!
interface serial 0/0
ip unnumbered ethernet 1/0
!
测试主机的可到达性和网络的连通性。通过发送ICMP回应请求报文给对方,但不等待对方的ICMP回应应答报文。
keepalive [ group group-id ] [ source source-address ] [interval interval-time] [number number] destination destination-address
参数
参数 | 参数说明 |
---|---|
group group-id | 可以配置多条 keepalive 命令,命令之间以group-id区分。缺省:0 |
source source-address | 设置报文采用的源IP地址。 缺省:发送接口的主IP地址。 |
interval interval-time | 每次报文发送之间的间隔,以秒为单位。缺省:1秒 |
number number | 每次报文发送的个数。缺省:5。 |
destination destination-address | 目的主机。 |
命令模式
管理态和全局配置态
使用说明
keepalive 命令支持广播地址和多播地址。如果是有限广播(255.255.255.255)或者是多播地址,将在所有支持广播或者是多播的可用接口上发送ICMP回应请求报文。
该命令不等待ICMP报文的应答,它只是定时向目的地址发送指定数目的ICMP报文。
示例
以下配置了两条keepalive 命令。
配置每 10 秒钟以源地址192.168.20.230 向目的地址 192.168.20.1 发送 10 个 ICMP request 报文。报文的发送端口由目的地址 192.168.20.1 和路由协议共同决定。
keepalive group 1 destination 192.168.20.1 source 192.168.20.230 interval 10 number 10
配置每 1 秒钟(默认值)以源地址172.16.20.232 向目的地址 172.16.20.5 发送 5个(默认值) ICMP request 报文。报文的发送端口由目的地址 172.16.20.2 和路由协议共同决定。
keepalive group 2 destination 172.16.20.2 source 172.16.20.232
显示所有ARP表项,包括接口IP地址的ARP映射,用户配置的静态ARP映射,动态ARP映射。者为恐的are Address wu。
show arp [vrf vrf-name]
参数
参数 | 参数说明 |
---|---|
Vrf-name | (支持VRF版本可选)指定显示哪个vrf的arp表项。 |
命令模式
管理态
使用说明
显示的信息包括:
参数 | 参数说明 |
---|---|
Protocol | 协议,与物理地址映射的网络地址的类型,例如IP。 |
Address | 地址,与物理地址相映射的网络地址,如IP地址。 |
Age | 生存时间,ARP表项从生成到现在的时间,以分钟为单位。路由器使用这条ARP表项不会影响这个值。 |
Hardware Address | 物理地址,与网络地址对应的物理地址,对于尚未解析完成的表项为空。 |
Type | 类型,表示接口使用的报文封装类型,包括ARPA,SNAP等。 |
Interface | 接口,与这个网络地址相关联的接口。 |
示例
下面的命令显示ARP缓存:
router#show arp
Protocol IP Address Age(min) Hardware Address Type Interface
IP 192.168.20.77 11 00:30:80:d5:37:e0 ARPA Ethernet1/0
IP 192.168.20.33 0 Incomplete
IP 192.168.20.22 - 08:00:3e:33:33:8a ARPA Ethernet1/0
IP 192.168.20.124 0 00:a0:24:9e:53:36 ARPA Ethernet1/0
IP 192.168.0.22 - 08:00:3e:33:33:8b ARPA Ethernet1/1
显示主机名—地址缓存中的所有表项。
show hosts
参数
命令没有参数或关键字。
命令模式
管理态
示例
下面的命令显示所有主机名称/地址映射:
show hosts
相关命令
clear host
显示接口上的IP配置。
show ip interface [type number]
参数
参数 | 参数说明 |
---|---|
type | (可选) 接口类型。 |
number | (可选) 接口编号。 |
命令模式
管理态
使用说明
如果接口的链路层可以有效收发数据,它就是一个可用接口,状态是“Protocol Up”。如果在这个接口上配置IP地址,路由器将在路由表中添加一条直连路由。如果链路层协议断开,也就是“Protocol Down”,这条直连路由将被删除。如果指定接口类型和编号,只显示指定接口信息。否则,显示所有接口的IP配置信息。
示例
下面的命令显示接口e0/1上的IP配置:
Router#show ip interface e0/1
Ethernet1/0 is up, line protocol is up
IP address : 192.168.20.167/24
Broadcast address : 192.168.20.255
Helper address : not set
MTU : 1500(byte)
Forward Directed broadcast : OFF
Multicast reserved groups joined:
224.0.0.9 224.0.0.6 224.0.0.5 224.0.0.2
224.0.0.1
Outgoing ACL : not set
Incoming ACL : not set
IP fast switching : ON
IP fast switching on the same interface : OFF
ICMP unreachables : ON
ICMP mask replies : OFF
ICMP redirects : ON
显示说明:
域 | 描述 |
---|---|
Ethernet1/0 is up | 如果接口硬件可用,接口被标为“up”。 如果接口可用,它的硬件和线路协议都必须是up的。 |
line protocol is up | 如果接口可以提供双向通信,它的线路协议被标为“up”。如果接口可用,接口硬件和线路协议都必须是up的。 |
IP address | 接口IP地址和网络掩码。 |
Broadcast address | 显示广播地址。 |
MTU | 显示接口设置的IP MTU。 |
Helper address | 显示帮助地址。 |
Directed broadcast forwarding | 接口是否转发定向广播报文。 |
Multicast reserved groups joined | 接口加入的多播组。 |
Outgoing ACL | 接口使用的输出访问控制表。 |
Incoming ACL | 接口使用的输入访问控制表。 |
IP fast switching | 路由器在该端口上是否启动快速转发 |
Proxy ARP | 接口是否支持代理ARP。 |
ICMP redirects | 接口是否发出ICMP重定向报文。 |
ICMP unreachables | 接口是否发出ICMP不可到达报文。 |
ICMP mask replies | 接口是否发出ICMP掩码应答报文。 |
NAT配置命令包括:
l ip nat
l ip nat local-service
l ip nat enable-peek
l ip nat inside destination
l ip nat inside source
l ip nat outside source
l ip nat pool
l ip nat translation
l clear ip nat statistics
l clear ip nat translation
l show ip nat statistics
l show ip nat translations
l debug ip nat
ip nat {inside | outside | mss }
no ip nat {inside | outside | mss MSS-value}
参数
参数 | 参数说明 |
---|---|
inside | 表明接口连接到内部网络(网络服从NAT翻译) |
outside | 表明接口连接到外部网络(网络服从NAT翻译) |
mss MSS-value | 设置MSS值为MSS-value(必须先配有ip nat outside) |
缺省
离开或到达这个接口的通信量不服从NAT。
命令模式
接口配置态
使用说明
只有那些在“内部”和“外部”接口之间传送的报文才可以被翻译。必须为每个想使用NAT的边界路由器至少指定一个内部接口和一个外部接口。
使用IP NAT接口配置命令来指定来自接口的或发往接口的通信量服从NAT(网络地址翻译),如果想禁止接口的翻译功能,使用这个命令的NO形式。
注意:
ip nat mss命令只能配在ip nat outside的接口下,它的作用是修改从内部网出去的带有SYN标志的TCP报文选项中的MSS(Maximum Segment Size)值。如果想禁止该接口修改MSS值的功能,使用这个命令的NO形式。
示例
下面的例子把来自192.168.1.0或192.168.2.0网络编址的内部主机间进行通信的IP地址翻译为171.69.233.208/28 网络中全局唯一的IP地址,并且修改MSS为1432值。
!
ip nat pool net-208 171.69.233.208 171.69.233.223 255.255.255.240
ip nat inside source list a1 pool net-208
!
interface ethernet 0
ip address 171.69.232.182 255.255.255.240
ip nat outside
ip nat mss 1432
!
interface ethernet 1
ip address 192.168.1.94 255.255.255.0
ip nat inside
!
ip access-list standard a1
permit 192.168.1.0 255.255.255.0
.permit 192.168.2.0 255.255.255.0
!
ip nat local-service {icmp | udp | tcp } disable
no ip nat local-service {icmp | udp | tcp } disable
参数
参数 | 参数说明 |
---|---|
icmp | Icmp 报文。 |
udp | udp报文。 |
tcp | tcp报文。 |
缺省
无
命令模式
接口配置态
使用说明
此命令应用于PAT规则。默认情况下,在标记为NAT外部端口的路由器接口,允许所有访问路由器本地的icmp/udp/tcp报文。该命令可以有限的防止外部网络用户对路由器的, 恶意攻击,当然也丢弃了正常的访问路由器的报文。
如果想某标记为NAT外部端口的路由器接口禁止接收访问本地的icmp/udp/tcp报文,可以在端口状态下配置如下命令,使用这个命令的NO形式可以恢复默认状态。
注意:
此命令只能配置标记为NAT外部端口所在的路由器接口下,并只能使本接口禁止接收icmp/udp/tcp本地报文。
ip fastaccess deny {tcp | udp | icmp} {port number}
no ip fastnat deny {tcp | udp | icmp} {port number}
参数
参数 | 参数说明 |
---|---|
deny | 定义阻止包的规则 |
tcp | 定义阻止TCP包的规则 |
udp | 定义阻止UDP包的规则 |
icmp | 定义阻止ICMP包的规则 |
Port number | TCP/UDP端口号, 范围为1~10000 |
缺省
无
命令模式
接口配置态
使用说明
由于ip fastaccess只能基于传输层限制报文转发,如果需要基于IP地址限制,则需要用到一般访问列表
建议:如果需要使用一般访问列表限制内网用户,如果使用到动态NAT规则,则强烈建议利用NAT所用的访问列表。特别对于那些需要定义非常多规则的访问列表,这样可以显著提高性能。
ip fastnat 1to1 outside {interface-type number} [backup-outside {interface-type number}] inside {interface-type number} [privateservices] [extend]
no ip fastnat
参数
参数 | 参数说明 |
---|---|
outside interface-type number | 指定的标记为NAT OUTSIDE的网络接口,该网络接口是主线路的出口。 |
backup-outside interface-type number | [可选]指定的标记为NAT OUTSIDE的网络接口,该网络接口是备份线路的出口。 |
inside interface type number | 指定的标记为NAT INSIDE的网络接口,该网络接口是备份线路的入口。 |
privateservices | [可选]开启私服功能 |
extend | [可选]开启支持扩展访问列表功能 |
缺省
无
命令模式
全局配置态
使用说明
该命令的使用对网络环境有限制,具体信息请参考配置说明书。
如果不使用私服或者扩展访问列表,则建议不要配置选项privateservices和extend。
用ip nat inside destination全局配置命令,开启内部目的地址的NAT.用这个命令的NO形式,删除和地址池的动态关联,注意,该规则正在使用时,不能删除。
ip nat inside destination list access-list-name pool name
no ip nat inside destination list access-list-name
参数
参数 | 参数说明 |
---|---|
list name | 标准IP访问列表的名字。 用来自被指定的池中的全局地址对带有目的地址的报文进行翻译,这些包用来发送访问列表。 |
pool name | 地址池的名字,在动态翻译的过程中,从这个池中分配内部本地的IP地址。 |
缺省
内部目的地址不被翻译。
命令模式
全局配置态
使用说明
这个命令用访问列表的格式来建立动态地址翻译。来自和标准访问列表相匹配的地址的报文,将用指定的地址池中分配的全局地址来进行地址翻译,这个地址池是用ip nat pool命令所指定的。
示例
下面的例子把发往171.69.233.208 网络通信的报文翻译为目的地址位于192.168.2.208网段的内部主机地址。
!
ip nat pool net-208 192.168.2.208 192.168.2.223 255.255.255.240
ip nat inside destination list a1 pool net-208
!
interface ethernet 0
ip address 171.69.232.182 255.255.255.240
ip nat outside
!
interface ethernet 1
ip address 192.168.1.94 255.255.255.0
ip nat inside
!
ip access-list standar a1
permit 171.69.233.208 255.255.255.240
!
使用ip nat inside source全局配置命令,开启内部源地址的NAT。用这个命令的NO形式可以删除静态翻译或删除和池的动态关联,注意:动态翻译规则和静态网段翻译规则在使用时,不能删除。
动态NAT:
ip nat inside source {list access-list-name} {interface type number | pool pool-name} [overload]
no ip nat inside source {list access-list-name} {interface type number | pool pool-name} [overload]
静态单个地址NAT:
ip nat inside source {static {local-ip global-ip}
no ip nat inside source {static {local-ip global-ip}
静态端口NAT:
ip nat inside source {static {tcp | udp local-ip local-port {global-ip | interface type number} global-port}
no ip nat inside source {static {tcp | udp local-ip local-port {global-ip | interface type number} global-port}
静态网段NAT:
ip nat inside source {static {network local-network global-network mask}
no ip nat inside source {static {network local-network global-network mask}
参数
参数 | 参数说明 |
---|---|
List access-list-name | IP访问列表的名字。源地址符合访问列表的报文将被用地址池中的全局地址来翻译。 |
pool name | 地址池的名字,从这个池中动态地分配全局IP地址。 |
interface type number | 指定网络接口 |
overload | (可选)使路由器对多个本地地址使用一个全局的地址。当OVERLOAD被设置后,相同或者不同主机的多个会话将用TCP或UDP端口号来区分。 |
static local-ip | 建立一条独立的静态地址翻译;参数为分配给内部网主机的本地IP地址。这个地址可以自由的选择,或从RFC 1918中分配。 |
local-port | 设置本地TCP/UDP端口号,范围为1~65535。 |
static global-ip | 建立一条独立的静态地址翻译;这个参数为内部主机建立一个外部的网络可以唯一访问的IP地址。 |
global-port | 设置全局TCP/UDP端口号,范围为1~65535。 |
tcp | 设置TCP端口翻译 |
udp | 设置UDP端口翻译 |
network local-network | 设置本地网段翻译 |
global-network | 设置全局网段翻译 |
mask | 设置网段翻译的网络掩码 |
缺省
任何内部源地址的NAT都不存在。
命令模式
全局配置态
使用说明
这个命令有两种形式:动态的和静态的地址翻译。带有访问列表的格式建立动态翻译。来自和标准访问列表相匹配的地址的报文,将用指定的池中分配的全局地址来进行地址翻译,这个池是用ip nat pool命令所指定的。
可以作为替代方法,带有关键字STATIC的语法格式创建一条独立的静态地址翻译。
静态NAT对于FTP的PASV模式的支持需要配合overload类型的命令使用,既:当设置一个NAT的静态FTP映射时,如果也需要使用FTP的PASV模式,也应该同时使用一个overload类型的转换,且pat规则中的外网接口地址中应该有一个和静态ftp的外网地址相同。
示例
下面的例子把来自192.168.1.0或192.168.2.0网络的内部主机间进行通信的IP地址翻译为171.69.233.208/28 网络中全局唯一的IP地址。
!
ip nat pool net-208 171.69.233.208 171.69.233.223 255.255.255.240
ip nat inside source list a1 pool net-208
!
interface ethernet 0
ip address 171.69.232.182 255.255.255.240
ip nat outside
!
interface ethernet 1
ip address 192.168.1.94 255.255.255.0
ip nat inside
!
ip access-list standard a1
permit 192.168.1.0 255.255.255.0
permit 192.168.2.0 255.255.255.0
!
静态FTP的PASV模式使用示例。
ip nat inside source static tcp 10.1.1.1 21 204.112.1.2 8021
ip nat inside source static tcp 10.1.1.1 20 204.112.1.2 8020
ip nat inside source list test1 interface f0/0
使用ip nat outside source全局配置命令,开启外部源地址的NAT。用这个命令的NO形式,可以删除静态条目或动态关联,注意:动态翻译规则和静态网段翻译规则在使用时,不能删除。
动态NAT:
ip nat outside source {list access-list-name} pool pool-name
no ip nat outside source {list access-list-name} pool pool-name
静态单个地址NAT:
ip nat outside source static {global-ip local-ip}
no ip nat outside source static {global-ip local-ip}
静态端口 NAT:
ip nat outside source {static {tcp | udp global-ip global-port local-ip local-port}
no ip nat outside source {static {tcp | udp global-ip global-port local-ip local-port}
静态网段 NAT:
ip nat outside source {static networkglobal-network local-network mask}
no ip nat outside source {static network global-network local-network mask}
参数
参数 | 参数说明 |
---|---|
List access-list-name | 标准IP访问列表的名字。目的地址符合访问列表的报文将被用地址池中的全局地址来翻译。。 |
pool name | 池的名字,从这个池重动态地分配全局IP地址。 |
Static global-ip | 建立一条独立的静态地址翻译;参数为建立外部网络的主机所分配的全局IP地址。这个地址可以从全局可路由的网络地址空间中分配。 |
global-port | 设置全局TCP/UDP端口号,范围为1~65535。 |
Static local-ip | 建立一条独立的静态地址翻译;这个参数为内部主机建立一个内部网络可以唯一访问的外部主机的本地IP地址。这个地址可以从内部网络可路由的地址空间中分配。(多遵从RFC 1918) |
local-port | 设置本地TCP/UDP端口号,范围为1~65535。 |
tcp | 设置TCP端口翻译 |
udp | 设置UDP端口翻译 |
network global-network | 设置全局网段翻译 |
local-network | 设置本地网段翻译 |
mask | 设置网段翻译的网络掩码 |
缺省
不存在来自外部网络的源地址到内部网络地址的翻译。
命令模式
全局配置态
使用说明
可能你用了不是合法的、正式分配得到的IP地址。可能你选择了已经被正式分配给其他网络的IP地址。这种IP地址既被合法的使用了(外部网)又被非法的使用着(内部网络)的情况叫做“地址重叠”(overlapping)。你可以用NAT来翻译和外部地址重叠的内部地址。如果你的单连接网络中的IP地址碰巧和分配给其他网络的合法IP地址相同,并且你需要和这些主机或路由器通信,那么你可以用这个功能。
这个命令有两种形式:动态的和静态的地址翻译。带有访问列表的格式建立动态地址翻译。来自和标准访问列表相匹配的地址的报文,将用指定的地址池中分配的本地地址来进行地址翻译,这个地址池是用ip nat pool命令所指定的。
作为可以替代的方法,带有关键字STATIC的语法格式创建一条单独的静态翻译。
示例
下面的例子把来自9.114.11.0网络的内部主机间进行通信的IP地址翻译为171.69.233.208/28 网络中全局唯一的IP地址。更进一步地,来自9.114.11.0网络(真实存在的9.114.11.0网络)编址的外部主机的报文,被翻译为以来自10.0.1.0/24网络的面目出现。
!
ip nat pool net-208 171.69.233.208 171.69.233.223 255.255.255.240
ip nat pool net-10 10.0.1.0 10.0.1.255 255.255.255.0
ip nat inside source list a1 pool net-208
ip nat outside source list a1 pool net-10
!
interface ethernet 0
ip address 171.69.232.182 255.255.255.240
ip nat outside
!
interface ethernet 1
ip address 9.114.11.39 255.255.255.0
ip nat inside
!
ip access-list standard a1
permit 9.114.11.0 255.255.255.0
!
用ip nat pool全局配置命令,定义一个用于NAT的IP地址池。用这个命令的NO形式,可以删除指定名字的IP地址池,可以配置相同名字的地址池来覆盖已配置的地址池。
ip nat pool name start-ip end-ip netmask [rotary]
no ip nat pool name
参数
参数 | 参数说明 |
---|---|
name | 池的名字。 |
start-ip | 定义IP地址池的范围:起始地址。 |
end-ip | 定义IP地址池的范围:结束地址。 |
netmask | 子网掩码。子网掩码表明地址中的那些位是属于网络和子网部分,而哪些位属于主机部分。指定IP池中地址所属的网络的子网掩码。 |
rotary | 轮循地址池 。 |
缺省
没有定义IP池。
命令模式
全局配置态
使用说明
这个命令用起始地址,结束地址以及子网掩码来定义一个地址池。
注意:在PAT规则下,地址池的轮循规则:只有当一个地址使用完结时(即关于这个地址的所有连接都老化后),才去取下一个地址,即同一使用时间内,内部全局地址始终只有一个。
示例
下面的例子把来自192.168.1.0或192.168.2.0网络的内部主机间进行通信的IP地址翻译为171.69.233.208/28 网络中全局唯一的IP地址。
!
ip nat pool net-208 171.69.233.208 171.69.233.223 255.255.255.240
ip nat inside source list a1 pool net-208
!
interface ethernet 0
ip address 171.69.232.182 255.255.255.240
ip nat outside
!
interface ethernet 1
ip address 192.168.1.94 255.255.255.0
ip nat inside
!
ip access-list standard a1
permit 192.168.1.0 255.255.255.0
permit 192.168.2.0 255.255.255.0
!
此命令是为Nat支持的各种服务提供的一个入口函数,目前支持三类的服务。缺省各种服务都为关闭状态。
ip nat service { h323 | privateservice | peek }
no ip nat service { h323 | privateservice | peek }
参数
无
缺省
关闭
命令模式
全局配置态
使用说明
h323 对voip的支持,它用来控制Nat对h323的支持;
privateservice 是Nat对网吧设置内部游戏服务器的支持,如:传奇等;它可以控制Nat对于私服的支持;
peek 是Nat对网吧内部监控游戏服务器的支持,通过搭配F-Engine公司的客户端软家,可以对内部用户出网的情况进行监控。
no方式可以关闭相应的功能;
示例
ip nat service privateservice
ip nat service peek
ip nat service h323
no ip nat service peek
ip nat translation全局配置命令,主要有以下两种用途:
其一,改变NAT翻译超时的时间值,用这个命令的NO形式,可以关闭超时。
ip nat translation {timeout | udp-timeout | dns-timeout | tcp-timeout | finrst-timeout | icmp-timeout | syn-timeout } seconds
no ip nat translation {timeout | udp-timeout | dns-timeout | tcp-timeout | finrst-timeout | icmp-timeout | syn-timeout }
其二,改变针对NAT翻译表项的一些参数值,用此命令的NO形式,可以去掉配置,有默认值的恢复默认值。
ip nat translation max-entries { host [A.B.C.D | any]} numbers
no ip nat translation max-entries { host [A.B.C.D | any]}
参数
参数 | 参数说明 |
---|---|
timeout | 指定用于除OVERLOAD翻译之外的动态翻译的超时值。缺省值是3600秒(1小时) |
udp-timeout | 指定用于UDP端口的超时值。缺省值是300秒(5分钟) |
dns-timeout | 指定用于连到DNS的超时值。缺省值是60秒 |
tcp-timeout | 指定用于TCP端口的超时值。缺省值是3600秒(1小时) |
finrst-timeout | 指定用于Finish and Reset TCP报文的超时值,这个值用于终止一个翻译表项。缺省值使60秒 |
icmp-timeout | 设置ICMP的NAT超时时间,缺省值是60秒 |
max-entries | 设置NAT的最大翻译条目数,缺省值是3000 |
syn-timeout | 设置TCP SYN状态的NAT超时时间,缺省值是60秒 |
seconds | 指定端口翻译的超时值。缺省值是在缺省部分所罗列出来的值 |
max-entries host A.B.C.D | 针对指定的内部IP地址,限制该IP地址能建立NAT翻译表项的最大数目,无缺省值,当用该命令的no形式时,即不在限制该IP地址建立NAT翻译表项的数目 |
max-entries host any | 针对所有的内部IP地址,限制单个IP地址能建立NAT翻译表项的最大数目。缺省值与max-entries相同 |
缺省
timeoutis 3600 seconds (1 hours)
udp-timeoutis 300 seconds (5 minutes)
dns-timeoutis 60 seconds (1 minute)
tcp-timeoutis 3600 seconds (1 hours)
finrst-timeout is 60 seconds (1 minute)
命令模式
全局配置态
使用说明
当配置了端口翻译之后,因为每个翻译条目包含了有关正在使用它的通信量更多的上下文信息,因此可以对翻译条目进行更好的控制。非域名系统(DNS)的UDP翻译在5分钟后超时,而域名系统的UDP翻译在1分钟后超时。如果数据流中没有RST或FIN,TCP翻译在1个小时后超时;而在有RST或FIN的情况下,将在1分钟后超时。
示例
例1:
下面的例子在10分钟之后使UDP端口翻译条目超时:
ip nat translation udp-timeout 600
例2:
下面的例子限制IP地址192.168.20.1建立的NAT翻译表项的最大数目为100:
ip nat translation max-entries host 192.168.20.1 100
配置nat限制上网用户数的功能。
[no] ip nat translation max-users <0-65536>
[no] ip nat translation max-users enable
参数
参数 | 参数说明 |
---|---|
0-65536 | 设置可以上网的内网用户数,缺省为256个。 |
缺省
缺省内网的用户数为256个,缺省不开启这个功能。
命令模式
全局配置态。
使用说明
通过这个命令可以开启和设置nat限制内网用户数的功能。当一个用户上网时,如果之前在nat中没有对应的记录,那么他就是一个新内网用户。如果这时内网用户上网数量已经达到设定值,那么这个用户发向外面的报文将被抛弃,该用户将不可以上网。如果内网用户数量没有达到限制值,nat就记录该用的ip地址,并进行正常的报文转发过程。
所记录用户ip地址的超时时间与该用户的最后一次发送的报文所属的link的ttl值相同。
NO方式关闭该功能。
示例
下列命令在全局态配置nat的限制功能:
ip nat translation max-users enable
ip nat translation max-users 124
为了清除NAT的统计信息,使用clear ip nat statistics命令。
clear ip nat statistics
参数
无
命令模式
管理态
使用说明
使用本命令可以把所有NAT统计信息置为初始状态。
注意:
只能清楚“Packets dropped”项后面的统计参数。
示例
Router#show ip nat statistics
Total active translations: 2 (1 static, 0 dynamic, 1 PAT)
Outside interfaces:
FastEthernet0/1
Inside interfaces:
FastEthernet0/0
Dynamic mappings:
--Inside Source
access-list nat
pool natp: netmask 255.255.255.0
start 172.16.20.125 end 172.16.20.127
total addresses 3, misses 0
--Inside Destination
--Outside Source
Link items:
PAT(ICMP=5 UDP=39 TCP=224 / TOTAL=268), Dynamic=6
Packets dropped: --Protocol:
Out: tcp 123, udp 39, icmp 10, others 6
In: tcp 46, udp 109, icmp 0, others 10
--Configuration:
max entries 0, max entries for host 178
Router#clear ip nat statistics
Router#show ip nat statistic
Total active translations: 2 (1 static, 0 dynamic, 1 PAT)
Outside interfaces:
FastEthernet0/1
Inside interfaces:
FastEthernet0/0
Dynamic mappings:
--Inside Source
access-list nat
pool natp: netmask 255.255.255.0
start 172.16.20.125 end 172.16.20.127
total addresses 3, misses 0
--Inside Destination
--Outside Source
Link items:
PAT(ICMP=5 UDP=39 TCP=224 / TOTAL=268), Dynamic=6
Packets dropped:
--Protocol:
Out: tcp 0, udp 0, icmp 0, others 0
In: tcp 0, udp 0, icmp 0, fragments 0
--Configuration:
max entries 0, max links for host 0
为了从翻译表项中清除动态网络地址翻译(NAT),使用clear ip nat translation 执行命令。
clear ip nat translation {* | [inside local-ip global-ip ] [outside local-ip global-ip]}
clear ip nat translation {tcp|udp} inside local-ip local-port global-ip global-port [outside local-ip global-ip]
参数
参数 | 参数说明 |
---|---|
* | 清除所有的动态翻译条目 |
Inside | 清除包含指定全局IP地址和本地IP地址的内部翻译。 |
global-ip | 指定全局IP地址 |
local-ip | 指定本地IP地址 |
outside | 清除包含指定全局IP地址和本地IP地址的外部翻译。 |
tcp|udp | 协议 |
global-port | 指定相应协议的全局端口。 |
local-port | 指定相应协议的本地端口。 |
命令模式
管理态
使用说明
使用本命令可以在动态翻译条目超时之前清除他们。
示例
下面的例子先显示NAT翻译条目,然后将UDP翻译条目清除:
Router# show ip nat translation
Pro Inside global Inside local Outside local Outside global
udp 171.69.233.209:1220 192.168.1.95:1220 171.69.2.132:53 171.69.2.132:53
tcp 171.69.233.209:11012 192.168.1.89:11012 171.69.1.220:23 171.69.1.220:23
tcp 171.69.233.209:1067 192.168.1.95:1067 171.69.1.161:23 171.69.1.161:23
Router# clear ip nat translation udp inside 171.69.233.209 1220 192.168.1.95 1220
171.69.2.132 53 171.69.2.132 53
Router# show ip nat translation
Pro Inside global Inside local Outside local Outside global
tcp 171.69.233.209:11012 192.168.1.89:11012 171.69.1.220:23 171.69.1.220:23
tcp 171.69.233.209:1067 192.168.1.95:1067 171.69.1.161:23 171.69.1.161:23
用show ip nat statistics命令,显示NAT统计表。
show ip nat statistics
参数
这个命令没有参数或关键字
命令模式
管理态
示例
下面是使用show ip nat statistics命令的例子的输出结果:
Router# show ip nat statistics
Total active translations: 2 (1 static, 0 dynamic, 1 PAT)
Outside interfaces:
FastEthernet0/1
Inside interfaces:
FastEthernet0/0
Dynamic mappings:
--Inside Source
access-list nat
pool natp: netmask 255.255.255.0
start 172.16.20.125 end 172.16.20.127
total addresses 3, misses 0
--Inside Destination
--Outside Source
Link items:
PAT(ICMP=0 UDP=5 TCP=24 / TOTAL=29), Dynamic=0
Packets dropped:
--Protocol:
Out: tcp 0, udp 0, icmp 0, others 0
In: tcp 46, udp 100, icmp 0, others 0
--Configuration:
max entries 0, max links for host 0
表9描述了输出结果中的重要字段:
表 2‑1 Show ip nat statistics字段描述
字段 | 描述 |
---|---|
Total active translations: | 系统中激活的指定翻译的数量。当建立了一个地址翻译规则时,这个数值将被加1,同时当一个地址翻译被清除或超时,这个数值将减1。 |
Outside interfaces: | 用ip nat outside 命令标识为外部接口的接口列表。 |
Inside interfaces: | 用ip nat outside 命令标识为内部接口的接口列表。 |
Dynamic mappings: | 显示跟在它后面的信息是关于动态映射的。 |
Inside Source: | 跟在它后面的是关于内部源地址翻译的信息. |
Access-list | 用于地址翻译的访问列表数量。 |
Pool | 池的名字(本例中池的名字是natp) |
Netmask | 池中所使用的IP网络掩码 |
Start | 池中地址范围的起始IP地址. |
End | 池中地址范围的结束IP地址. |
Total addresses | 池中可用于地址翻译的地址数. |
Misses | 无法从池中分配的地址数量. |
Inside Destination: | 跟在它后面的是关于内部目的地址翻译的信息. |
Outside Source: | 跟在它后面的是关于外部源地址翻译的信息. |
Link items: | 跟在它后面的是关于翻译表项数目和类别的信息. |
PAT | 表示动态端口翻译规则下的翻译表项数目,其中madia代表H323会话中的RTP/RTCP会话. |
Dynamic | 表示动态地址翻译规则下的翻译表项数目,包括静态地址翻译为FTP创建的翻译表项. |
Packets dropped: | 跟在它后面的是关于因为NAT而丢弃的报文的类型和数目,以及丢弃的原因. |
Protocol | 表示丢弃报文的数目、协议类型和报文的NAT方向. |
Configuration | 表示因为何种配置丢弃的报文的数目:max entries指超过最大允许翻译表项数,max links for host指超过每个或者特定地址允许的翻译表项数. |
用show ip nat translations 管理态命令,显示激活的NAT地址翻译。
show ip nat translations [host A.B.C.D | tcp | udp | icmp | verbose]
参数
参数 | 参数说明 |
---|---|
host A.B.C.D | (可选)显示承载本地局部地址(inside local)为A.B.C.D的翻译表项 |
tcp | (可选)显示承载TCP会话的翻译表项 |
udp | (可选)显示承载UDP会话的翻译表项 |
icmp | (可选)显示承载ICMP会话的翻译表项 |
Verbose | (可选)显示关于每个翻译表项的额外信息,包括它被建立了多久,还剩下多长时间超时 |
命令模式
管理态
使用说明
示例
下面是使用show ip nat translations命令的例子的输出结果。
(1) 两个内部主机和外部的一些主机进行报文交换,没有超载。
Router# show ip nat translations
Pro Inside local Inside global Outside local Outside global
--- 192.168.1.95 171.69.233.209 --- ---
--- 192.168.1.89 171.69.233.210 --- --
(2) 下面是带有超载的情况下的示例,有三条地址翻译表项是激活的,其中一条用于一个DNS业务,另外两条用于TELNET会话(来自两个不同的主机)。要注意:两个不同的内部主机能以具有相同外部地址的形式出现。
Router# show ip nat translations
Pro Inside local Inside global Outside local Outside global
udp 192.168.1.95:1220 171.69.233.209:1220 171.69.2.132:53 171.69.2.132:53
tcp 192.168.1.89:11012 171.69.233.209:11012 171.69.1.220:23 171.69.1.220:23
tcp 192.168.1.95:1067 171.69.233.209:1067 171.69.1.161:23 171.69.1.161:23
下面是带有关键字verbose的输出样例:
Router# show ip nat translations verbose
Pro Inside local Inside global Outside local Outside global
udp 192.168.1.95:1220 171.69.233.209:1220 171.69.2.132:53 171.69.2.132:53
create time 00:00:02 , left time 00:01:10 ,
tcp 192.168.1.89:11012 171.69.233.209:11012 171.69.1.220:23 171.69.1.220:23
create time 00:01:13 , left time 00:00:50 ,
tcp 192.168.1.95:1067 171.69.233.209:1067 171.69.1.161:23 171.69.1.161:23
create time 00:00:02 , left time 00:53:19 ,
表 2‑2 Show IP NAT Translations(例 2)命令输出结果的字段描述
字段 | 描述 |
---|---|
Pro | 确定地址的端口协议. |
Inside global | 合法的IP地址(被NIC或服务提供商所提供的),他们代表了通往外部网络的一个或多个内部本地IP地址。 |
Inside local | 被分配给内部网络中主机的IP地址;他们可能不是一个NIC或服务供应商所提供的合法地址。 |
Outside local | 一个外部主机当它看起来像是一个内部网络时的IP地址;他们可能不是一个NIC或服务供应商所提供的合法地址。 |
Outside global | 被它的所有者所分配的外部主机的IP地址。 |
Create time | 地址翻译条目是多久前建立的。(单位是 小时:分:秒) |
Left time | 地址翻译条目经过多久会超时。 |
显示当前允许通过的内网用户IP地址,以及数量。
show ip nat users
参数
无
缺省
无
命令模式
全局配置态。
使用说明
显示当前允许通过的内网用户IP地址,以及数量。
由于这个功能需要进行一定量的操作步骤,如果不是很必要,请不要开启这个功能。
示例
下列命令在全局态执行:
show ip nat users
一个可能的显示结果如下:
Current host count is 9, host count set is 12.
#host IP addr host ttl
172.16.20.67 20
172.16.20.70 55
172.16.20.81 3530
172.16.20.90 3600
为了调试网络地址翻译(NAT),使用debug ip nat执行命令。
debug ip nat {detail | h323}
no debug ip nat {detail | h323}
参数
无
命令模式
管理态
使用说明
使用命令debug ip nat detail可以输出翻译过程中的细节,包括报文的源、目的IP地址,协议、端口号,以及没有成功的翻译的原因等等。
使用命令debug ip nat h323可以输出NAT在翻译H323报文过程中的细节,主要包括NAT识别出的H323消息,以及嵌入在这些消息里的IP地址,如果是内部地址,将会显示翻译后的地址。
示例
例1 :
Router# debug ip nat detail
Ethernet1/1 recv ICMP Src 194.4.4.89 Dst 10.10.10.102 no link found
Ethernet1/0 send TCP Src 194.4.4.102:2000 Dst 192.2.2.1:21 no matched rule
表 2‑3 表描述了显示中的域。
域 | 描述 |
---|---|
Ethernet1/0 | 接口的类型、号。 |
send/recv | 发送/接收。 |
ICMP/TCP/UDP | ICMP/TCP/UDP协议 |
Src 194.4.4.102:2000 | 源IP地址和端口号。 |
Dst 192.2.2.1:21 | 目的IP地址和端口号。 |
no link found | 没有匹配到NAT翻译表项。 |
no matched rule | 没有匹配到NAT规则。 |
第1条:从Ethernet1/1接口接收到的ICMP报文(源地址是194.4.4.89,目的地址是10.10.10.102;ICMP),没有找到相应的NAT翻译表项(已经找到匹配的NAT规则)。
第2条:从Ethernet1/0接口发送出去的TCP报文(源地址是194.4.4.102,目的地址是192.2.2.1;源端口是2000,目的端口是21),没有找到匹配的NAT规则。
例2:
Router# debug ip nat h323
NAT:H225:[I] processing a Setup message
NAT:H225:[I] found Setup sourceCallSignalling
NAT:H225:[I] fix TransportAddress addr-192.168.122.50:11140
NAT:H225:[I] found Setup fastStart
NAT:H225:[I] Setup fastStart PDU length:18
NAT:H245:[I] processing OpenLogicalChannel message, forward channel 1
NAT:H245:[I] found OLC forward mediaControlChannel
NAT:H245:[I] fix TransportAddress addr-192.168.122.50:16517
NAT:H225:[I] Setup fastStart PDU length:29
NAT:H245:[I] processing OpenLogicalChannel message, forward channel 1
NAT:H245:[I] found OLC reverse mediaChannel
NAT:H245:[I] fix TransportAddress addr-192.168.122.50:16516
NAT:H245:[I] found OLC reverse mediaControlChannel
NAT:H245:[O] fix TransportAddress addr-192.168.122.50:16517
NAT:H225:[O] processing an Alerting message
NAT:H225:[O] found Alerting fastStart
NAT:H225:[O] Alerting fastStart PDU length:25
NAT:H245:[O] processing OpenLogicalChannel message, forward channel 1
重要域的描述见下表:
域 | 描述 |
---|---|
NAT | 表示报文已经被NAT翻译 |
RAS/H255/H245 | 报文协议类型 |
O | 表示报文的传输方向:Inside to Outside |
I | 表示报文的传输方向:Outside to Inside |
DHCP Client配置命令包括:
l ip address dhcp
l ip dhcp client
l ip dhcp-server
l show dhcp lease
l show dhcp server
l debug dhcp
要通过Dynamic Host Configuration Protocol(DHCP)为以太网接口获得一个IP地址,使用ip address dhcp接口配置命令。要删除所获得的IP地址,可以使用这条命令的no格式。
ip address dhcp
no ip address dhcp
参数
无
缺省
无
命令模式
接口配置态
使用说明
ip address dhcp命令允许接口通过DHCP协议获得IP地址,这对通过以太网接口动态连接Internet服务提供商(ISP)非常有用。一旦获得了动态的IP地址,这个以太网接口便可以使用端口转换技术(PAT)来实现网络地址翻译(NAT)。
如果路由器上配置了ip address dhcp命令,路由器将向网络上的DHCP服务器发送DHCPDISCOVER消息。
如果路由器上配置了no ip address dhcp命令,路由器将发送DHCP RELEASE消息。
示例
以下例子使得Ethernet1/1接口通过DHCP协议来获得接口的IP地址。
!
interface Ethernet1/1
ip address dhcp
!
相关命令
ip dhcp client
ip dhcp-server
show dhcp lease
show dhcp server
配置本地路由器DHCP客户端的参数。
ip dhcp client { minlease seconds | retransmit count | retry_interval | select seconds }
no ip dhcp client { minlease | retransmit | retry_interval | select }
参数
参数 | 参数说明 |
---|---|
minlease seconds | (可选)可接受的最小租用时间,范围从60~86400秒。 |
retransmit count | (可选)协议报文的重传次数,范围从1~10。 |
retry_interval | (可选) 重新发起DHCP请求的时间间隔,范围从1~1440分钟。 |
select seconds | (可选)SELECT的时间间隔,范围从0~30。 |
缺省
minlease参数缺省值为60秒。
retransmit参数缺省值为4次。
retry_interval参数缺省值为5分钟。
select参数缺省值为0秒。
命令模式
全局配置态。
使用说明
根据网络结构和DHCP服务器的需要,来调整这些参数。
如果配置了这些命令的no格式命令,则这些参数恢复成系统定义的缺省值。
示例
以下例子设置了路由器上DHCP客户端可接受的最小租用时间为100秒。
ip dhcp client minlease 100
以下例子设置了路由器上DHCP客户端协议报文重传次数为3次。
ip dhcp client retransmit 3
以下例子设置了路由器上DHCP客户端重新发起DHCP请求的时间间隔为10分钟。
ip dhcp client retry_interval 10
以下例子设置了路由器上DHCP客户端SELECT的时间间隔为10秒。
ip dhcp client select 10
相关命令
ip address dhcp
ip dhcp-server
show dhcp lease
show dhcp server
要指定已知的DHCP服务器,可以使用ip dhcp-server命令来指定DHCP服务器的IP地址。
ip dhcp-server ip-address
no ip dhcp-server ip-address
参数
参数 | 参数说明 |
---|---|
ip-address | DHCP服务器的IP地址。 |
缺省
无任何缺省的DHCP服务器IP地址。
命令模式
全局配置态。
使用说明
使用此命令可以指定一个DHCP服务器的IP地址,该命令不会覆盖以前指定的DHCP服务器IP地址。
使用此命令的no格式命令可以用来清除以前配置的DHCP服务器IP地址。
示例
下面的例子显示了在路由器上如何指定IP地址为192.168.20.1的服务器为DHCP服务器:
ip dhcp-server 192.168.20.1
相关命令
ip address dhcp
ip dhcp client
show dhcp lease
show dhcp server
要查看当前路由器所使用的DHCP服务器分配的信息,可以用show dhcp lease命令来实现。
Show dhcp lease
参数
无
缺省
无
命令模式
管理态
使用说明
使用此命令可以查看当前路由器所使用的DHCP服务器分配的信息。
示例
下面的例子显示了路由器所使用DHCP分配的信息:
router#show dhcp lease
Temp IP addr: 192.168.20.3 for peer on Interface: Ethernet1/1
Temp sub net mask: 255.255.255.0
DHCP Lease server: 192.168.1.3, state: 4 Rebinding
DHCP transaction id: 2049
Lease: 86400 secs, Renewal: 43200 secs, Rebind: 75600 secs
Temp default-gateway addr: 192.168.1.2
Next timer fires after: 02:34:26
Retry count: 1 Client-ID: router-0030.80bb.e4c0-Et1/1
相关命令
ip address dhcp
ip dhcp client
ip dhcp-server
show dhcp server
debug dhcp
要显示已知的DHCP服务器信息,可以使用show dhcp server命令来实现。
show dhcp server
参数
无
缺省
无
命令模式
管理态
使用说明
使用此命令可以显示已知的DHCP服务器信息。
示例
下面的例子已知的DHCP服务器信息。
router#show dhcp sever
DHCP server: 255.255.255.255
Leases: 0
Discovers: 62 Requests: 0 Declines: 0 Releases: 0
Offers: 0 Acks: 0 Naks: 0 Bad: 0
Subnet: 0.0.0.0, Domain name:
相关命令
ip address dhcp
ip dhcp client
ip dhcp-server
show dhcp lease
当路由器上dhcp运行时,要查看dhcp协议的处理状况,可以运行debug dhcp命令。
debug dhcp <detail>
no debug dhcp <detail>
参数
参数 | 参数说明 |
---|---|
detail | 显示DHCP协议报文内容。 |
缺省
缺省情况下不显示相关信息。
命令模式
管理态
使用说明
显示和DHCP处理相关的一些重要处理信息,举例如下:
router#debug dhcp
router#2000-4-22 10:50:40 DHCP: Move to INIT state, xid: 0x7
2000-4-22 10:50:40 DHCP: SDISCOVER attempt # 1, sending 277 byte DHCP packet
2000-4-22 10:50:40 DHCP: B'cast on Ethernet1/1 interface from 0.0.0.0
2000-4-22 10:50:40 DHCP: Move to SELECTING state, xid: 0x7
2000-4-22 10:50:46 DHCP: SDISCOVER attempt # 2, sending 277 byte DHCPpacket
2000-4-22 10:50:46 DHCP: B'cast on Ethernet1/1 interface from 0.0.0.0
2000-4-22 10:50:54 DHCP: SDISCOVER attempt # 3, sending 277 byte DHCPpacket
相关命令
show dhcp lease
DHCPD配置命令包括:
l ip dhcpd ping packet
l ip dhcpd ping timeout
l ip dhcpd write-time
l ip dhcpd database-agent
l ip dhcpd pool
l ip dhcpd enable
l ip dhcpd disable
ip dhcpd ping packet pkgs
参数
参数 | 参数说明 |
---|---|
pkgs | DHCP服务器用于检测地址是否已经分配所发送的ICMP包个数。 |
缺省
2
命令模式
全局配置态
使用说明
用户可以使用如下命令来配置DHCP服务器在检查地址是否已经分配时,发送n个ICMP包。
ip dhcpd ping packets n
示例
以下命令配置DHCP服务器在检查地址是否已经分配时,发送1个ICMP包。
ip dhcpd ping packets 1
参数
参数 | 参数说明 |
---|---|
timeout | DHCP服务器用于检测地址是否已经分配时,等待ICMP包响应的超时时间(以100毫秒为单位)。 |
缺省
5
命令模式
全局配置态
使用说明
用户可以使用如下命令来配置DHCP服务器在检查地址是否已经分配时,等待ICMP包响应的超时时间为n*100ms。
ip dhcpd ping timeout n
示例
以下命令配置DHCP服务器在检查地址是否已经分配时,等待ICMP包响应的超时时间为300ms。
ip dhcpd ping timeout 3
参数
参数 | 参数说明 |
---|---|
time | DHCP服务器将地址分配信息保存到数据库中的间隔时间(以分钟为单位)。 |
缺省
0
命令模式
全局配置态
使用说明
用户可以使用如下命令来配置DHCP服务器每隔n分钟就将地址分配信息写入数据库中
ip dhcpd write-time n
示例
以下命令配置DHCP服务器每隔1天将就将地址分配信息写入数据库中
ip dhcpd write-time 1440
参数
参数 | 参数说明 |
---|---|
Ip address | DHCP服务器将地址分配信息以文件形式保存到PC的地址 |
缺省
无
命令模式
全局配置态
使用说明
用户可以使用如下命令来配置保存DHCP服务器的地址分配信息的PC的地址。
ip dhcpd database-agent X.X.X.X
如果没有配置该地址,则将地址分配信息保存到flash。
备注:完成保存地址分配信息需要该PC启动TFTP服务器且该PC与DHCP服务器正确连接。
示例
ip dhcpd database-agent 192.168.1.1
参数
无
缺省
无
命令模式
全局配置态
使用说明
使用ip dhcp snooping arp命令可以开启ARP映射保护作用。当配置该命令后,DHCP server 将 DHCP client的MAC地址和分配的IP地址建立ARP映射并进行保护。
示例
ip dhcp snooping arp
DHCP relay传递DHCP option82选项时需要配置该命令。使用该命令的NO形式取消配置。Option82包含DHCP relay与client的接口的信息。DHCP relay通过该选项将接口信息上传到DHCP server,DHCP server根据该信息区分对待client。
参数
无
缺省
无
命令模式
全局配置态
使用说明
ip dhcp snooping information option配置DHCP relay在option82选项中按标准格式传递端口信息。
ip dhcp snooping information option format snmp-ifindex配置DHCP relay在option82选项中按SNMP接口索引格式传递端口信息。
示例
ip dhcp snooping information option
ip dhcp snooping information option format snmp-ifindex
参数
参数 | 参数说明 |
---|---|
name | DHCP地址池的名称。 |
缺省
无
命令模式
全局配置态
使用说明
用户可以使用如下命令来增加名为name的DHCP地址池,并进入DHCP地址池配置模式
ip dhcpd pool name
示例
以下命令增加名为test的DHCP地址池,同时进入DHCP地址池配置模式。
ip dhcpd pool test
参数
无
缺省
缺省情况下,关闭DHCP服务
命令模式
全局配置态
使用说明
用户可以使用如下命令来打开DHCP服务。 此时,DHCP服务器也支持relay操作,对于自身不能分配的地址请求,配置了ip helper-address的端口将转发DHCP请求。
ip dhcpd pool name
示例
以下命令打开DHCP服务。
ip dhcpd enable
DHCPD地址池的配置命令包括:
l network
l range
l default-router
l dns-server
l domain-name
l lease
l netbios-name-server
l ip-bind
network ip-addr netmask
参数
参数 | 参数说明 |
---|---|
ip-addr | 用于自动分配的地址池的网络地址。 |
netmask | 子网掩码。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置用于自动分配的地址池的网络地址。
在配置该命令时,务必确保接收DHCP协议报文的端口上有一个端口IP地址的网络号和network相同。
示例
以下命令配置DHCP地址池的网络地址为192.168.20.0,子网掩码为255.255.255.0。
network 192.168.20.0 255.255.255.0
range low-addr high-addr
参数
参数 | 参数说明 |
---|---|
low-addr | 用于自动分配地址区域的起始地址。 |
hogh-addr | 用于自动分配地址区域的终止地址。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置用于自动分配的地址区域。每个地址池最多可配置8个range,每个range均必须在network范围内。此命令只用于自动分配方式,
示例
以下命令配置DHCP地址池的地址分配区域为192.168.20.210-192.168.20.219。
range 192.168.20.210 192.168.20.219
default-router ip-addr
参数
参数 | 参数说明 |
---|---|
ip-addr | 分配给客户机的缺省路由。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置分配给客户机的缺省路由,最多可配置4个缺省路由,中间用空格分隔
示例
以下命令配置分配给DHCP客户机的缺省路由为192.168.20.1。
default-router 192.168.20.1
dns-server ip-addr …
参数
参数 | 参数说明 |
---|---|
ip-addr | 分配给客户机的DNS服务器地址。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置分配给客户机的DNS服务器地址,最多可配置4个DNS服务器,中间用空格分隔。
示例
以下命令配置分配给客户机的DNS服务器地址为192.168.1.3
dns-server 192.168.1.3
domain-name name
参数
参数 | 参数说明 |
---|---|
name | 分配给客户机的域名。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置分配给客户机的域名
示例
以下命令配置分配给客户机的域名为test.domain
domain-name test.domain
lease {days [hours][minutes] | infinite}
参数
参数 | 参数说明 |
---|---|
days | 地址分配的天数。 |
hours | 地址分配的小时数。 |
minutes | 地址分配的分钟数。 |
infinite | 地址永久分配。 |
缺省
1天
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置分配给客户机的地址的时间期限。
示例
以下命令配置分配客户机的地址的时间期限为2天12小时。
Lease 2 12
netbios-name-server ip-addr
参数
参数 | 参数说明 |
---|---|
ip-addr | 分配客户机的netbios名字服务器地址。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置分配给客户机的netbios名字服务器地址,最多可配置4个netbios名字服务器,中间用空格分隔。
示例
以下命令配置分配给客户机的netbios名字服务器地址为192.168.1.10
netbios-name-server 192.168.1.10
ip-bind ip-addr [hardware-address][identifier] [host-name]
参数
参数 | 参数说明 |
---|---|
ip-addr | 用于手动分配的主机地址 |
hardware-address | 将IP地址与跟在后面的主机硬件地址绑定,硬件地址为线分十六进制数格式:00-12-3F-28-AE-35 |
identifier | 将IP地址与跟在后面的主机标识符绑定,主机标识符为线分十六进制数格式或单引号字符串格式 |
host-name | 将IP地址与跟在后面的主机名称绑定,主机名称采用字符串格式 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置用于手动分配的地址池的主机地址。
示例
以下命令配置手动分配地址192.168.20.200与硬件地址00-12-3F-28-AE-35绑定。
Ip-bind 192.168.20.200 hardware-address 00-12-3F-28-AE-35
以下命令配置手动分配地址192.168.20.200与主机名称F-Engine-315绑定。
Ip-bind 192.168.20.200 host-name F-Engine-315
hardware-address hardware-address{ type}
参数
参数 | 参数说明 |
---|---|
hardware-address | 用于匹配客户机的硬件地址。 |
type | 硬件地址类型。 |
缺省
type缺省值为1 ,表示以太网
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置用于匹配客户机的硬件地址,地址格式为冒号分隔的两位16进制数ab:cd:ef:gh。此命令只用于手动分配方式
示例
以下命令配置DHCP手动分配地址池的硬件地址为10:a0:0c:13:64:7d
hardware-address 10:a0:0c:13:64:7d
client-identifier unique-identifier
参数
参数 | 参数说明 |
---|---|
unique-identifier | 用于匹配客户机的客户端ID。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置用于匹配客户机的客户端ID,格式为点分两位16进制数ab.cd.ef.gh。此命令只用于手动分配方式。
示例
以下命令配置DHCP手动分配地址池的客户端ID为01:10:a0:0c:13:64:7d
client-identifier 01.10.a0.0c.13.64.7d
client-name name
参数
参数 | 参数说明 |
---|---|
name | 分配给客户机的名称。 |
缺省
无
命令模式
DHCP地址池配置模式
使用说明
用户可以使用此命令来配置用于手动分配给客户机的主机名。此命令只用于手动分配方式 。
示例
以下命令配置分配给客户机的主机名为test。
client-name test
DHCPD的调试命令包括:
l debug ip dhcpd packet
l debug ip dhcpd event
debug ip dhcpd packet
参数
无
缺省
无
命令模式
管理态
使用说明
用户可以使用此命令来打开DHCPD数据包信息的debug开关。
示例
以下命令打开对DHCPD数据包的调试信息输出开关。
debug ip dhcpd packet
debug ip dhcpd event
参数
无
缺省
无
命令模式
管理态
使用说明
用户可以使用此命令来打开DHCPD事件信息的debug开关。
示例
以下命令打开对DHCPD事件的调试信息输出开关。
debug ip dhcpd event
DHCPD的管理命令包括:
l show ip dhcpd statistic
l show ip dhcpd binding
l clear ip dhcpd statistic
l clear ip dhcpd binding
参数
无
缺省
无
命令模式
除了用户态以外的其它状态
使用说明
用户可以使用此命令来显示DHCPD的统计信息,包括各类报文的数量和自动分配、手动分配的地址数
示例
以下命令显示DHCPD的统计信息。
Show ip dhcpd statistic
show ip dhcpd binding{ip-addr}
参数
参数 | 参数说明 |
---|---|
ip-addr | 需要显示绑定信息的地址. |
缺省
显示所有的地址绑定信息。
命令模式
除了用户态以外的其它状态
使用说明
用户可以使用此命令来显示DHCPD的地址绑定信息,IP地址、硬件地址、绑定类型和超时时间
示例
以下命令显示DHCPD的绑定信息。
Show ip dhcpd binding
参数
无
缺省
无
命令模式
除了用户态以外的其它状态
使用说明
用户可以使用此命令来显示DHCPD的地址池信息,包括地址池的网络号、地址范围、已分配地址的数目、暂时废弃的地址的数目、可以用来分配的地址数目、手动分配的IP地址和硬件地址。
示例
以下命令显示DHCPD的地址池统计信息。
show ip dhcpd pool
参数
无
缺省
无
命令模式
管理态
使用说明
用户可以使用此命令来删除DHCPD的关于报文数量的统计信息 。
示例
以下命令删除DHCPD关于报文数量的统计信息。
Clear ip dhcpd statistic
clear ip dhcpd binding {ip-addr|*}
参数
参数 | 参数说明 |
---|---|
ip-addr | 需要删除绑定信息的地址。 |
* | 删除所有的绑定信息。 |
缺省
删除指定地址绑定信息。
命令模式
管理态
使用说明
用户可以使用此命令来删除指定地址的绑定信息 。
示例
以下命令删除192.168.20.210的绑定信息。
clear ip dhcpd binding 192.168.20.210
以下命令删除192.168.20.210和192.168.20.211的绑定信息。
clear ip dhcpd binding 192.168.20.210 192168.20.211
以下命令删除所有的绑定信息。
clear ip dhcpd binding *
参数
无
缺省
无
命令模式
管理态
使用说明
用户可以使用此命令来清除abandon标志。
示例
以下命令清除abandon标志。
Clear ip dhcpd abandoned
IP Server配置命令包括:
l clear tcp
l clear tcp statistics
l debug arp
l debug ip icmp
l debug ip packet
l debug ip raw
l debug ip rtp
l debug ip tcp packet
l debug ip tcp transactions
l debug ip udp
l ip mask-reply
l ip mtu
l ip redirects
l ip route-cache
l ip source-route
l ip tcp synwait-time
l ip tcp window-size
l ip unreachables
l show ip cache
l show ip irdp
l show ip sockets
l show ip traffic
l show tcp
l show tcp brief
l show tcp statistics
l show tcp tcb
清除一个TCP连接。
clear tcp {local host-name port remote host-name port | tcb address}
参数
参数 | 参数说明 |
---|---|
local host-name port | 本地主机IP地址和TCP端口。 |
remote host-name port | 远端主机IP地址和TCP端口。 |
tcb address | 要清除的TCP连接的传输控制块(TCB)地址。TCB是系统内部对TCP连接的标识,可以用命令show tcp brief得到。 |
命令模式
管理态
使用说明
clear tcp命令主要是用于清除已经终止的TCP连接。在某些情况下,例如通信线路故障,TCP连接或对方主机重启,TCP连接实际已经终止,但是由于TCP连接上一直没有通信,系统无法及时发现这种情况,这时可以使用clear tcp命令关闭已经无效的TCP连接。其中,clear tcp local host-name port remote host-name port 命令用于终止指定的本地主机IP地址/端口和远端主机IP地址/端口之间的TCP连接。clear tcp tcb address 命令用于终止指定TCB地址所标识的TCP连接。
示例
下面的例子清除192.168.20.22:23(本地)和192.168.20.120:4420(远端)之间的TCP连接。show tcp brief命令显示了当前TCP连接的本地和远端主机信息。
Router#show tcp brief
TCB Local Address Foreign Address State
0xE85AC8 192.168.20.22:23 192.168.20.120:4420 ESTABLISHED
0xEA38C8 192.168.20.22:23 192.168.20.125:1583 ESTABLISHED
Router#clear tcp local 192.168.20.22 23 remote 192.168.20.120 4420
Router#show tcp brief
TCB Local Address Foreign Address State
0xEA38C8 192.168.20.22:23 192.168.20.125:1583 ESTABLISHED
下面的例子清除TCB地址为0xea38c8的TCP连接。show tcp brief命令显示了TCP连接的TCB地址。
Router#show tcp brief
TCB Local Address Foreign Address State
0xEA38C8 192.168.20.22:23 192.168.20.125:1583 ESTABLISHED
Router#clear tcp tcb 0xea38c8
Router#show tcp brief
TCB Local Address Foreign Address State
相关命令
show tcp
show tcp brief
show tcp tcb
清除TCP统计数据。
clear tcp statistics
参数
该命令没有参数或关键字。
命令模式
管理态
示例
用下列命令清除TCP统计数据:
Router#clear tcp statistics
相关命令
show tcp statistics
显示ARP交互信息,例如发出ARP请求,收到ARP响应,收到ARP请求,发出ARP响应等。当路由器和主机无法通信时,可以用于分析ARP交互情况。用no debug arp停止显示信息。
debug arp
no debug arp
参数
该命令没有参数或关键字。
命令模式
管理态
示例
Router#debug arp
Router#IP ARP: rcvd req src 192.168.20.116 00:90:27:a7:a9:c2, dst 192.168.20.111, Ethernet1/0
IP ARP: req filtered src 192.168.20.139 00:90:27:d5:a9:1f, dst 192.168.20.82 00:
00:00:00:00:00, wrong cable, Ethernet1/1
IP ARP: created an incomplete entry for IP address 192.168.20.77, Ethernet1/0
IP ARP: sent req src 192.168.20.22 08:00:3e:33:33:8a, dst 192.168.20.77, Ethernet1/0
IP ARP: rcvd reply src 192.168.20.77 00:30:80:d5:37:e0, dst 192.168.20.22, Ethernet1/0
第一条信息表明:路由器在接口Ethernet 1/0上收到一个ARP请求,发出请求的主机IP地址为192.168.20.116,MAC地址为00:90:27:a7:a9:c2,它请求IP地址为192.168.20.111的主机的MAC地址:
IP ARP: rcvd req src 192.168.20.116 00:90:27:a7:a9:c2, dst 192.168.20.111, Ethernet1/0
第二条信息表明:路由器在接口Ethernet 1/1上收到一个来自192.168.20.139的ARP地址请求。但是,根据路由器的接口配置,这个接口并不在这台主机所宣称的网络上。所以,可能是主机配置不正确。路由器如果根据这条信息建立了ARP缓存,就可能无法和连接在正常接口上的某台配置了相同地址的主机通信。
IP ARP: req filtered src 192.168.20.139 00:90:27:d5:a9:1f, dst 192.168.20.82 00:
00:00:00:00:00, wrong cable, Ethernet1/1
第三条信息表明,路由器要解析主机192.168.20.77的MAC地址,所以在ARP缓存中为它建立了一条不完整的ARP表项,等收到ARP应答时再填入MAC地址。根据路由器的配置,这台主机连接在接口Ethernet 1/0上。
IP ARP: created an incomplete entry for IP address 192.168.20.77, Ethernet1/0
第四条信息表明,路由器在接口Ethernet 1/0上发出ARP请求,所带的路由器的IP地址是192.168.20.22,接口的MAC地址是08:00:3e:33:33:8a,所请求的主机IP地址是192.168.20.77。这条信息和第三条信息是相关的。
IP ARP: sent req src 192.168.20.22 08:00:3e:33:33:8a, dst 192.168.20.77, Ethernet1/0
第五条信息表明,路由器在接口Ethernet1/0上收到了192.168.20.77发给路由器接口192.168.20.22的ARP响应,告知它的MAC地址为00:30:80:d5:37:e0。这条信息是和第三、四条信息相关的。
IP ARP: rcvd reply src 192.168.20.77 00:30:80:d5:37:e0, dst 192.168.20.22, Ethernet1/0
显示Internet控制信息协议(ICMP)的交互信息。使用命令no debug ip icmp关闭调试输出。
debug ip icmp
no debug ip icmp
参数
该命令没有参数或关键字。
命令模式
管理态
使用说明
该命令可以显示系统收到和发出的ICMP报文,从而解决网络端到端到的连接问题。如果要了解debug ip icmp命令输出的详细含义,请参见RFC 792,“Internet Control Message Protocol”。
示例
Router#debug ip icmp
Router#ICMP: sent pointer indicating to 192.168.20.124 (dst was 192.168.20.22), len 48
ICMP: rcvd echo from 192.168.20.125, len 40
ICMP: sent echo reply, src 192.168.20.22, dst 192.168.20.125, len 40
ICMP: sent dst (202.96.209.133) host unreachable to 192.168.20.124, len 36
ICMP: sent dst (192.168.20.22) protocol unreachable to 192.168.20.124, len 36
ICMP: rcvd host redirect from 192.168.20.77, for dst 22.0.0.3 use gw 192.168.20.26, len 36
ICMP: rcvd dst (22.0.0.3) host unreachable from 192.168.20.26, len 36
ICMP: sent host redirect to 192.168.20.124, for dst 22.0.0.5 use gw 192.168.20.77, len 36
ICMP: rcvd dst (2.2.2.2) host unreachable from 192.168.20.26, len 36
关于第一条信息的说明如下:
ICMP: sent pointer indicating to 192.168.20.124 (dst was 192.168.20.22), len 48
域 | 描述 |
---|---|
ICMP: | 显示的是Internet控制信息协议(ICMP)报文的信息。 |
Sent | 发送ICMP报文。 |
pointer indicating | ICMP报文类型,这个ICMP报文表示原始IP报文参数错误,并指出错误的域。其它类型的ICMP报文有: echo reply(回应应答) dst unreachable(目的不可到达),包括: ---net unreachable(网络不可到达) ---host unreachable(主机不可到达) ---protocol unreachable(协议不可到达) ---port unreachable(端口不可到达) ---fragmentation needed and DF set(需要分片,但DF位被置位) ---source route failed(源路由失败) ---net unknown(未知网络) ---destination host unknown(未知主机) ---source host isolated(源主机被隔离) ---net prohibited(与网络的通信被禁止) ---host prohibited(与主机的通信被禁止) ---net tos unreachable(对请求的服务类型,网络不可到达) ---host tos unreachable(对请求的服务类型,主机不可到达) source quench(源抑制) redirect(重定向),包括: ---net redirect(网络重定向) ---host redirect(主机重定向) ---net tos redirect(对服务类型和网络的重定向) ---host tos redirect(对服务类型和主机的重定向) echo(回应请求) router advertisement(路由器广告) router solicitation(路由器请求) time exceeded(超时),包括: ---ttl exceeded(ttl超时) ---reassembly timeout(重组超时) parameter problem(一般参数问题),包括: ---pointer indicating(指出错误参数) ---option missed(缺少选项) ---bad length(长度错误) timestamp(时戳) timestamp reply(时戳应答) information request(信息请求) information reply(信息应答) mask request(掩码请求) mask reply(掩码应答) 如果是系统未知的ICMP类型,系统将显示ICMP类型和代码的值。 |
to 192.168.20.124 | ICMP报文的目的地址是192.168.20.124,这也是引起这个ICMP报文的原始报文的源地址。 |
(dst was 192.168.20.22) | 引起ICMP报文的原始报文的目的地址是192.168.20.22。 |
len 48 | ICMP报文的长度是48字节,其中不包括IP报头长度。 |
关于第二条信息的说明如下:
ICMP: rcvd echo from 192.168.20.125, len 40
域 | 描述 |
---|---|
rcvd | 收到ICMP报文。 |
echo | ICMP报文类型,是回应请求报文。 |
from 192.168.20.125 | ICMP报文的源地址是192.168.20.125。 |
关于第三条信息的说明如下:
ICMP: sent echo reply, src 192.168.20.22, dst 192.168.20.125, len 40
域 | 命令 |
---|---|
src 192.168.20.22 | ICMP报文的源地址是192.168.20.22。 |
dst 192.168.20.125 | ICMP报文的目的地址是192.168.20.125。 |
根据ICMP报文类型的不同,产生的ICMP报文信息采用不同的格式,以便显示报文内容。
例如,对于ICMP重定向报文,采用下列格式打印:
ICMP: rcvd host redirect from 192.168.20.77, for dst 22.0.0.3 use gw 192.168.20.26, len 36
ICMP: sent host redirect to 192.168.20.124, for dst 22.0.0.5 use gw 192.168.20.77, len 36
其中第一条信息表示,收到来自主机192.168.20.77的ICMP主机重定向报文,建议使用网关192.168.20.26到达目的主机22.0.0.3,ICMP报文长度36字节。
第二条信息表示,发送ICMP主机重定向报文到192.168.20.124,通知它使用网关192.168.20.77到达主机22.0.0.5, ICMP报文长度36字节。
对于ICMP目的不可到达报文,采用下列格式打印:
ICMP: sent dst (202.96.209.133) host unreachable to 192.168.20.124, len 36
ICMP: rcvd dst (2.2.2.2) host unreachable from 192.168.20.26, len 36
其中,第一条信息表示,路由器无法路由某个IP报文,所以向报文的源主机192.168.20.124发送ICMP目的主机(202.96.209.133)不可到达报文, ICMP报文长度36字节。
第二条信息表示,路由器收到一个来自主机192.168.20.26的ICMP报文,通知目的主机(2.2.2.2)不可到达, ICMP报文长度36字节。
显示Internet协议(IP)的交互信息。使用no debug ip packet停止显示信息。
debug ip packet [detail] [ip-access-list-name]
no debug ip packet
参数
参数 | 参数说明 |
---|---|
detail | (可选)输出IP报文封装的协议信息,如协议号,UDP、TCP端口号,ICMP报文类型等。 |
ip-access-list-name | (可选)用于过滤输出信息的IP访问表名称。只有满足指定IP访问表的IP报文的信息才会被输出。 |
access-group | (可选)用于过滤输出信息的IP访问表名称。只有满足指定IP访问表的IP报文的信息才会被输出。 |
interface | (可选)用于过滤输出信息的端口名称。只有满足指定端口的IP报文的信息才会被输出。 |
命令模式
管理态
使用说明
这条命令可以帮助了解每个收到的或是本地产生的IP报文的最终流向,了解通信发生问题的原因。
可能的情况有:
l 被转发
l 被作为广播报文或多播报文转发
l 转发时寻径失败
l 发送redirect报文
l 由于带有源路由选项被拒绝
l 由于非法的IP options被拒绝
l 源路由
l 本地发送报文需要分片,但是DF位被置位
l 收到报文
l 收到IP分片
l 发送报文
l 发送广播/多播
l 本地生成报文寻径失败
l 本地生成报文被分片
l 收到报文被过滤
l 发送报文被过滤
l 链路层封装失败(只限于以太网)
l 未知协议
使用这条命令可能会有大量的输出信息,所以最好在路由器比较空闲的时候使用,否则将严重影响系统性能。另外,尽可能使用访问表过滤输出,使系统只显示用户感兴趣的报文信息。
命令模式
管理态
示例
router#debug ip packet
router#IP: s=192.168.20.120 (Ethernet1/0), d=19.0.0.9 (Ethernet1/0), g=192.168.20.1, len=60, redirected
IP: s=192.168.20.22 (local), d=192.168.20.120 (Ethernet1/0), g=192.168.20.120, len=56, sending
IP: s=192.168.20.120 (Ethernet1/0), d=19.0.0.9 (Ethernet1/0), g=192.168.20.1, len=60, forward
IP: s=192.168.20.81 (Ethernet1/0), d=192.168.20.22 (Ethernet1/0), len=56, rcvd
域 | 描述 |
---|---|
IP | 表示这条信息是关于IP报文的。 |
s=192.168.20.120 (Ethernet1/0) | IP报文的源地址和收到报文的接口名称(如果不是本地生成的报文)。 |
d=19.0.0.9 (Ethernet1/0) | IP报文的目的地址和发送报文的接口名称(如果路由成功的话)。 |
g=192.168.20.1 | IP报文的下一跳目的地址,可能是网关地址,也可能就是目的地址。 |
len | IP报文的长度。 |
redirected | 表示路由器将向这个报文的源主机发送ICMP重定向报文。其它情况还有: forward---报文被转发。 forward directed broadcast---报文作为定向广播被转发,报文将在发送接口上转成物理广播。 unroutable---报文寻径失败,将被丢弃。 source route---源路由。 rejected source route---系统当前不支持源路由,因此拒绝带IP源路由选项的报文。 bad options---IP选项错误,报文被丢弃。 need frag but DF set---本地报文需要分片,但是DF被置位。 rcvd---报文被本地接收。 rcvd fragment---收到报文分片。 sending---发送本地生成报文。 sending broad/multicast---发送本地生成的广播/多播报文。 sending fragment---发送在本地分片的IP报文。 denied by in acl---被接收接口的接收访问表拒绝。 denied by out acl---被发送接口的发送访问表拒绝。 unknown protocol---未知协议。 encapsulation failed---协议封装失败,只限于以太网。当要在以太网接口上发送的报文由于ARP解析失败而被丢弃时,显示这条信息。 |
第一条信息表明,路由器收到一个IP报文,它的源地址是192.168.20.120,来自接口Ethernet1/0所连接的网段,目的地址是19.0.0.9,根据路由表确定的发送接口是Ethernet1/0,网关地址是192.168.20.1,报文长度为60字节。发现网关和发出IP报文的源主机直连在同一网络上,也就是路由器的接口Ethernet1/0所连接的网络上,所以路由器发出 ICMP 重定向报文。
IP: s=192.168.20.120 (Ethernet1/0), d=19.0.0.9 (Ethernet1/0), g=192.168.20.1, len=60, redirected
第二条信息,描述了ICMP重定向报文的发送,源地址是本地地址192.168.20.22,目的地址是上述报文的源地址192.168.20.120,从接口Ethernet1/0发出,由于是直接到达目的地,所以网关地址就是目的地址192.168.20.120,ICMP重定向报文长度为56字节。
IP: s=192.168.20.22 (local), d=192.168.20.120 (Ethernet1/0), g=192.168.20.120, len=56, sending
第三条信息表明,IP层收到一个IP报文,报文的源地址是192.168.20.120,接收接口为Ethernet1/0,报文的目的地址是19.0.0.9,通过查找路由表,发现需要转发这个报文到接口Ethernet1/0,网关是192.168.20.77,报文长度为60字节。这条信息显示的是系统在发出ICMP重定向报文以后,转发第一条信息显示的报文。
IP: s=192.168.20.120 (Ethernet1/0), d=19.0.0.9 (Ethernet1/0), g=192.168.20.77, len=60, forward
第四条信息表示,IP层收到一个IP报文,源地址是192.168.20.81,接收接口是Ethernet1/0, 目的地址是192.168.20.22,是在路由器接口Ethernet1/0上配置的一个IP地址,报文长度是56字节,本地接收。
IP: s=192.168.20.81 (Ethernet1/0), d=192.168.20.22 (Ethernet1/0), len=56, rcvd
下面介绍debug ip packet detail命令的输出,只说明其中新增的部分:
router#debug ip packet detail
router#IP: s=192.168.12.8 (Ethernet1/0), d=255.255.255.255 (Ethernet1/0), len=328, rcvd, UDP: src=68, dst=67
IP: s=192.168.20.26 (Ethernet1/0), d=224.0.0.5 (Ethernet1/0), len=68, rcvd, proto=89
IP: s=192.168.20.125 (Ethernet1/0), d=192.168.20.22 (Ethernet1/0), len=84, rcvd, ICMP: type=0, code = 0
IP: s=192.168.20.22 (local), d=192.168.20.124 (Ethernet1/0), g=192.168.20.124, len=40, sending, TCP: src=1024, dst=23, seq=75098622, ack=161000466, win=17520, ACK
域 | 描述 |
---|---|
UDP | 协议名称,例如UDP, ICMP, TCP等。其它协议用协议号表示。 |
type, code | ICMP报文的类型和代码值。 |
src, dst | UDP和TCP报文的源端口和目的端口。 |
seq | TCP报文的序列号。 |
ack | TCP报文的确认号。 |
win | TCP报文的窗口值。 |
ACK | TCP报文的控制比特中ACK被置位,表明确认序列号有效。其它的控制比特是SYN, URG, FIN, PSH, RST。 |
第一条信息表明,收到UDP报文,源端口是68,目的端口是67。
IP: s=192.168.12.8 (Ethernet1/0), d=255.255.255.255 (Ethernet1/0), len=328, rcvd, UDP: src=68, dst=67
第二条信息表明,收到报文的协议号为89。
IP: s=192.168.20.26 (Ethernet1/0), d=224.0.0.5 (Ethernet1/0), len=68, rcvd, proto=89
第三条信息表明,收到ICMP报文,报文类型为0,代码为0。
IP: s=192.168.20.125 (Ethernet1/0), d=192.168.20.22 (Ethernet1/0), len=84, rcvd, ICMP: type=0, code = 0
第四条信息表明,发送TCP报文,源端口为1024,目的端口为23,序列号为75098622,确认号为161000466,接收窗口尺寸为17520,ACK标志位被置位。关于这些域的含义,请参见RFC 793— TRANSMISSION CONTROL PROTOCOL。
IP: s=192.168.20.22 (local), d=192.168.20.124 (Ethernet1/0), g=192.168.20.124, len=40, sending, TCP: src=1024, dst=23, seq=75098622, ack=161000466, win=17520, ACK
下面介绍如何使用访问控制表。例如,要求只显示源地址是192.168.20.125的报文信息,首先定义标准访问控制表abc,只允许源地址是192.168.20.125的IP报文。然后,在debug ip packet命令中使用该访问控制表。
Router#config
Router_config#ip access-list standard abc
Router_config_std_nacl#permit 192.168.20.125
Router_config_std_nacl#exit
Router_config#exit
Router#debug ip packet abc
Router#IP: s=192.168.20.125 (Ethernet0/1), d=192.168.20.22 (Ethernet0/1), len=48, rcvd
上述命令使用的是标准的访问控制表,也可以使用扩展访问控制表。
相关命令
debug ip tcp packet
显示Internet协议(IP)的交互信息。使用no debug ip raw停止显示信息。
debug ip raw [detail] [access-list-group] [interface]
no debug ip raw
参数
参数 | 参数说明 |
---|---|
detail | (可选)输出IP报文封装的协议信息,如协议号,UDP、TCP端口号,ICMP报文类型等。 |
access-group | (可选)用于过滤输出信息的IP访问表名称。只有满足指定IP访问表的IP报文的信息才会被输出。 |
interface | (可选)用于过滤输出信息的端口名称。只有满足指定端口的IP报文的信息才会被输出。 |
命令模式
管理态
使用说明
这条命令可以帮助了解每个收到的或是本地产生的IP报文的最终流向,了解通信发生问题的原因。
可能的情况有:
l 被转发
l 被作为广播报文或多播报文转发
l 转发时寻径失败
l 发送redirect报文
l 由于带有源路由选项被拒绝
l 由于非法的IP options被拒绝
l 源路由
l 本地发送报文需要分片,但是DF位被置位
l 收到报文
l 收到IP分片
l 发送报文
l 发送广播/多播
l 本地生成报文寻径失败
l 本地生成报文被分片
l 收到报文被过滤
l 发送报文被过滤
l 链路层封装失败(只限于以太网)
l 未知协议
使用这条命令可能会有大量的输出信息,所以最好在路由器比较空闲的时候使用,否则将严重影响系统性能。另外,尽可能使用访问表过滤输出,使系统只显示用户感兴趣的报文信息。
示例
与debug ip packet一至,故略。
相关命令
debug ip tcp packet
显示头部压缩的交互信息。使用no debug ip rtp停止显示信息。
debug ip rtp {header-compression|packets |rtcp}
no debug ip rtp {header-compression|packets |rtcp}
参数
参数 | 参数说明 |
---|---|
header-compress | RTP/UDP/IP头部压缩事件。 |
packets | RTP/UDP/IP头部压缩交互数据报。 |
rtcp | TCP/IP头部压缩交互数据报。 |
命令模式
管理态
使用说明
这条命令可以帮助了解头部压缩交互的具体过程。
使用这条命令可能会有大量的输出信息,所以最好在路由器比较空闲的时候使用,否则将严重影响系统性能。
示例
router#debug ip rtp header-compress
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: new connection, conn 0,
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7078, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7079, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7080, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7081, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7082, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7083, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7084, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7085, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7086, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4024, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7087, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4025, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4026, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7088, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7089, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4027, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7090, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4028, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7091, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4029, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7092, Gen = 0
2002-1-9 21:36:42
21:32:05: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4030, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7093, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7094, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4032, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7095, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4033, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7096, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4034, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7097, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7098, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4036, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7099, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4037, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7100, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4038, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7101, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: tossing error packet
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7102, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4040, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7103, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4041, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7104, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4042, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7105, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7106, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4044, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7107, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4045, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output uncompressed, conn 0, cksum 0x0000, seq 7108, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv COMPRESSED_RTP, conn 0, cksum 0x0000, seq 4046, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7109, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: output COMPRESSED_RTP, conn 0, cksum 0x0000, seq 7110, Gen = 0
2002-1-9 21:36:43
21:32:06: RHC Serial1/0: recv uncompress, conn 0, cksum 0x0000, seq 4048, Gen = 0
no deb all
显示传输控制协议(TCP)报文的收发信息。用no debug ip tcp packet停止显示。
debug ip tcp packet
no debug ip tcp packet
参数
该命令没有参数或关键字。
命令模式
管理态
示例
Router#debug ip tcp packet
Router#tcp: O ESTABLISHED 192.168.20.22:23 192.168.20.125:3828 seq 50659460
DATA 1 ACK 3130379810 PSH WIN 4380
tcp: I ESTABLISHED 192.168.20.22:23 192.168.20.125:3828 seq 3130379810
DATA 2 ACK 50659460 PSH WIN 16372
tcp: O ESTABLISHED 192.168.20.22:23 192.168.20.125:3828 seq 50659461
DATA 50 ACK 3130379812 PSH WIN 4380
tcp: O FIN_WAIT_1 192.168.20.22:23 192.168.20.125:3828 seq 50659511
ACK 3130379812 FIN WIN 4380
tcp: I FIN_WAIT_1 192.168.20.22:23 192.168.20.125:3828 seq 3130379812
ACK 50659511 WIN 16321
tcp: I FIN_WAIT_1 192.168.20.22:23 192.168.20.125:3828 seq 3130379812
ACK 50659512 WIN 16321
tcp: I FIN_WAIT_2 192.168.20.22:23 192.168.20.125:3828 seq 3130379812
ACK 50659512 FIN WIN 16321
tcp: O TIME_WAIT 192.168.20.22:23 192.168.20.125:3828 seq 50659512
ACK 3130379813 WIN 4380
tcp: I LISTEN 0.0.0.0:23 0.0.0.0:0 seq 3813109318
DATA 2 ACK 8057944 PSH WIN 17440
tcp: O LISTEN 0.0.0.0:23 0.0.0.0:0 seq 8057944
RST
域 | 描述 |
---|---|
tcp: | 表示关于TCP报文的信息。 |
O | 发送TCP报文。 |
ESTABLISHED | TCP连接的当前状态。关于TCP连接状态的描述,参见debug ip tcp transactions命令说明。 |
192.168.20.22:23 | 报文的源地址是192.168.20.22,源端口是23。 |
192.168.20.125:3828 | 报文的目的地址是192.168.20.125,目的端口是3828。 |
seq 50659460 | 报文的序列号是50659460。 |
DATA 1 | 报文包含的有效数据字节数是1个。 |
ACK 3130379810 | 报文的确认号是3130379810。 |
PSH | 报文的控制比特中PSH被置位。 其它的控制比特位有ACK, FIN, SYN, URG, RST。 |
WIN 4380 | 报文的窗口域用于通知对方接收端接收缓存区大小,目前是4380字节。 |
I | 接收TCP报文。 |
如果上述某些域没有出现在显示中,说明在这个TCP报文中该域没有有效值。
相关命令
debug ip tcp transactions
显示传输控制协议(TCP)的重要交互信息,例如TCP连接状态改变等。用no debug ip tcp transactions停止显示。
debug ip tcp transactions
no debug ip tcp transactions
参数
该命令没有参数或关键字。
命令模式
管理态
示例
Router#debug ip tcp transactions
Router#TCP: rcvd connection attempt to port 23
TCP: TCB 0xE88AC8 created
TCP: state was LISTEN -> SYN_RCVD [23 -> 192.168.20.125:3828]
TCP: sending SYN, seq 50658312, ack 3130379657 [23 -> 192.168.20.125:3828]
TCP: state was SYN_RCVD -> ESTABLISHED [23 -> 192.168.20.125:3828]
TCP: connection closed by user, state was LISTEN [23 -> 0.0.0.0:0]
TCP: state was TIME_WAIT -> CLOSED [23 -> 192.168.20.125:3827]
TCP: TCB 0xE923C8 deleted
TCP: TCB 0xE7DBC8 created
TCP: connection to 192.168.20.124:513 from 192.168.20.22:1022, state was CLOSED to SYN_SENT
TCP: sending SYN, seq 52188680, ack 0 [1022 -> 192.168.20.124:513]
TCP: state was SYN_SENT -> ESTABLISHED [1022 -> 192.168.20.124:513]
TCP: rcvd FIN, state was ESTABLISHED -> CLOSE_WAIT [1022 -> 192.168.20.124:513]
TCP: connection closed by user, state was CLOSE_WAIT [1022 -> 192.168.20.124:513]
TCP: sending FIN [1022 -> 192.168.20.124:513]
TCP: connection closed by user, state was LAST_ACK [1022 -> 192.168.20.124:513]
TCP: state was LAST_ACK -> CLOSED [1022 -> 192.168.20.124:513]
TCP: TCB 0xE7DBC8 deleted
域 | 描述 |
---|---|
TCP: | 表示显示TCP交互信息。 |
rcvd connection attempt to port 23 | 收到对端口23(telnet端口)的连接请求。 |
TCB 0xE88AC8 created | 生成一个新的TCP连接控制块,其标识为0xE88AC8。 |
state was LISTEN -> SYN_RCVD | 表示TCP状态机的状态从LISTEN 转到 SYN_RCVD。 可能的TCP状态有: LISTEN---等待来自任意远端主机的TCP连接请求。 SYN_SENT---发出连接请求以发起TCP连接协商,正在等待对方的应答。 SYN_RCVD---收到对方的连接请求并发出确认,也发出了自己的连接请求,正在等待对方的连接请求确认。 ESTABLISHED---表示连接建立成功,处于数据传送阶段,可以收发上层应用的数据。 FIN_WAIT_1---已经向对方发出连接终止请求,等待对方的确认,以及对方的连接终止请求。 FIN_WAIT_2---已经向对方发出连接终止请求,并收到对方的确认,正在等待对方的连接终止请求。 CLOSE_WAIT---收到对方的连接终止请求,发出确认,正在等待本地用户关闭连接,一旦用户要求关闭连接,系统将发出连接终止请求。 CLOSING---已经向对方发出连接终止请求,也收到对方的连接终止请求并发出确认,正在等待对方对本地连接终止请求的确认。 LAST_ACK---已经收到对方的连接终止请求并确认,发出连接终止请求,正在等待确认。 TIME_WAIT---正在等待足够的时间以确定对方收到了本地对它的连接终止请求的确认,以及仍在网络中传输的有关这个连接的报文到达目的地或是被丢弃。 CLOSED---表示完全没有连接或者连接已经完全关闭。 如果要了解更为详细的信息,请参阅RFC 793,TRANSMISSION CONTROL PROTOCOL。 |
[23 -> 192.168.20.125:3828] | 在括号中: 第一个域(23)表示本地TCP端口。 第二个域(192.168.20.125)表示远端IP地址。 第三个域(3828)表示远端TCP端口。 |
sending SYN | 发出一个连接请求报文(TCP报头控制比特中的SYN置位)。其它的TCP控制比特包括SYN, ACK, FIN, PSH, RST和URG。 |
seq 50658312 | 发出报文的序列号为50658312。 |
ack 3130379657 | 发出报文的确认号为3130379657。 |
rcvd FIN | 收到连接终止请求(TCP报头控制比特中的FIN置位)。 |
connection closed by user | 上层应用要求关闭TCP连接。 |
connection timed out | 连接超时被关闭。 |
相关命令
debug ip tcp packet
显示用户数据报协议(UDP)的交互信息。使用命令no debug ip udp停止显示。
debug ip udp
no debug ip udp
参数
该命令没有参数或关键字。
命令模式
管理态
示例
Router#debug ip udp
Router#UDP: rcvd src 192.168.20.99(520), dst 192.168.20.255(520), len = 32
UDP: sent src 192.168.20.22(20001), dst 192.168.20.43(1001), len = 1008
域 | 描述 |
---|---|
UDP: | 表示这条信息是关于UDP报文的。 |
rcvd | 收到报文。 |
sent | 发出报文。 |
src | UDP报文的源IP地址和UDP端口。 |
dst | UDP报文的目的IP地址和UDP端口。 |
len | UDP报文的长度。 |
所以,第一条信息说明收到一个UDP报文,来自主机192.168.20.99,端口为520,目的地址是192.168.20.255,目的端口是520,报文长度为32字节。
第二条信息说明发出一个UDP报文,本地地址是192.168.20.22,端口是20001,目的地址是192.168.20.43,目的端口是1001,报文长度为1008字节。
要求路由器在指定接口上回应 IP 地址掩码请求。如果要关闭这项功能,使用no ip mask-reply。
ip mask-reply
no ip mask-reply
default ip mask-reply
参数
该命令没有参数或关键字。
缺省
不应答IP地址掩码请求。
命令模式
接口配置态
示例
!
interface ethernet 1/1
ip mask-reply
!
设置接口发出的IP报文的最大发送单元(MTU)长度,使用ip mtu命令。如果要重新使用MTU缺省值,使用no ip mtu命令。
ip mtu bytes
no ip mtu
参数
参数 | 参数说明 |
---|---|
bytes | 以字节计算的IP最大传输长度。 |
缺省
根据接口物理介质的不同,和接口上的最大传输长度(mtu)相同。最小是68字节。
命令模式
接口配置态
使用说明
如果IP报文长度超过接口设置的IP MTU,路由器将对报文分片。所有连在同一物理介质上的设备,应该设置相同的协议MTU才能通信。MTU值(通过接口配置命令mtu设置)会影响IP MTU值。如果IP MTU值和MTU值相同,当改变MTU值时,IP MTU的值会自动改变为新的MTU值。反之,改变IP MTU值不会影响MTU值。
IP MTU最小值为68字节,最大值不超过接口配置的MTU。
示例
下列命令把接口的IP MTU设为200:
!
interface serial0/0
ip mtu 200
!
相关命令
mtu
发送IP ICMP重定向报文。不发送ICMP重定向报文,用命令no ip redirects。
ip redirects
no ip redirects
参数
命令没有参数或关键字。
缺省
一般情况下,IP重定向报文是缺省被发送的。但是,如果用户在接口上配置了热备份路由器协议,该项功能将被自动关闭。而且,如果以后热备份路由器协议的配置被取消,这项功能不会自动打开。
命令模式
接口配置态
使用说明
当路由器在转发报文时发现网关所在的转发接口和收到报文的接口相同,而且发送报文的主机就直连在这个接口的逻辑网络上的话,根据协议,它可以发出一个ICMP重定向报文,通知源主机直接把那个路由器作为到报文目的地址的网关,而不再经过这台路由器转发。
如果接口配置了热备份路由器协议,发送IP重定向报文可能导致报文丢失。
示例
下面的命令在接口ethernet1/0上打开发送ICMP重定向报文的功能:
!
interface ethernet 1/0
ip redirects
!
在接口上设置是否允许使用路由缓存来转发IP报文。使用no ip route-cache命令禁止使用路由缓存。
ip route-cache
no ip route-cache
ip route-cache same-interface
no ip route-cache same-interface
参数
参数 | 参数说明 |
---|---|
same-interface | 允许IP报文被快速交换出接收接口。 |
缺省
在接口上允许快速交换,禁止同一接口的快速交换。
命令模式
接口配置态
使用说明
路由缓存基于源地址/目的地址对转发报文进行负载均衡。
允许路由缓存会提高路由器的报文转发性能。但是在低速线路(64k或更低)上,通常应该禁止路由缓存。
用户可以用命令ip route-cache same-interface允许同一接口的IP快速交换,即接收接口和发送接口相同。通常情况下,建议不要开启这一功能,因为和路由器的重定向功能冲突。如果用户有一个不完全连接的网络,例如帧中继,可以在帧中继接口开启这项功能。例如路由器A, B, C共同构成一个帧中继网络,但只有A—B和B—C的链路,A和C的通信必须由B中转:A—B—C,B从接口的一个DLCI收到A的报文,然后又从同一接口经另一个DLCI发送到C。
示例
下列命令允许同一接口的快速交换:
ip route-cache same-interface
下列命令禁止快速交换,包括同一接口的快速交换:
no ip route-cache
下列命令只禁止同一接口的快速交换:
no ip route-cache same-interface
下列命令使系统回到缺省配置(允许快速交换,禁止同一接口的快速交换):
ip route-cache
相关命令
show ip cache
允许路由器处理带IP源路由选项的IP报文。如果要求路由器丢弃任何带IP源路由选项的IP报文,使用no ip source-route命令。
ip source-route
no ip source-route
参数
该命令没有参数或关键字。
缺省
处理带IP源路由选项的IP报文。
命令模式
全局配置态
示例
下列命令要求处理带IP源路由选项的IP报文:
ip source-route
相关命令
ping
设置路由器等待TCP连接成功的超时时间。如果要回到缺省时间,使用no ip tcp synwait-time命令。
ip tcp synwait-time seconds
no ip tcp synwait-time
参数
参数 | 参数说明 |
---|---|
seconds | 以秒为单位的TCP连接等待时间。有效取值在5 ~ 300秒之间。缺省是75秒。 |
缺省
75秒
命令模式
全局配置态
使用说明
当路由器发起TCP连接时,如果在TCP连接等待时间之后连接仍没有建立成功,则路由器认为连接失败,并把这一结果返回给上层应用程序。用户可以设置TCP等待连接建立成功的时间,缺省是75秒。这个选项与经过路由器转发的TCP连接报文无关,而只与路由器本机的TCP连接有关。
如果要知道当前值,使用命令ip tcp synwait-time ?,在方括号[]中的值就是当前值。
示例
下面的例子把TCP连接等待时间设为30秒:
Router_config#ip tcp synwait-time 30
Router_config#ip tcp synwait-time ?
<5-300>[30] seconds -- wait time
设置TCP窗口尺寸。 如果要回到缺省值,使用no ip tcp window-size命令。
ip tcp window-size bytes
no ip tcp window-size
参数
参数 | 参数说明 |
---|---|
bytes | 以字节为单位的窗口尺寸。最大是65535字节。缺省是2000字节。 |
缺省
2000字节
命令模式
全局配置态
使用说明
除非明确知道为什么要改变缺省值,否则不要轻易改变。如果要知道当前值,使用命令ip tcp window-size ?,在方括号[]中的值就是当前值。
示例
下面的例子把TCP窗口尺寸设为6000字节:
Router_config#ip tcp window-size 6000
Router_config#ip tcp window-size ?
<1-65535>[6000] bytes -- Window size
设置路由器发出ICMP不可到达报文。如果要求路由器停止发送,使用no ip unreachables命令。
ip unreachable
no ip unreachable
参数
该命令没有参数或者关键字。
缺省
发送ICMP unreachable报文。
命令模式
接口配置态
使用说明
路由器在转发IP报文的时候,可能发现路由表中没有相关路由,导致报文被丢弃,这时,路由器可以向源主机发出ICMP不可到达报文,通知源主机这一情况,以便源主机及时发现错误,并进行更正。
示例
下面的例子设置在接口ethernet 1/0上发送ICMP不可到达报文:
!
interface ethernet 1/0
ip unreachables
!
显示用于IP快速交换的路由缓存。
show ip cache [prefix mask] [type number]
参数
参数 | 参数说明 |
---|---|
prefix mask | (可选)只显示表项的目的地址和用户所键入指定的前缀/掩码相匹配的表项。 |
type number | (可选)只显示表项的发送接口和用户所键入指定的接口类型/编号相匹配的表项。 |
rsvp | (可选)只显示与RSVP相关的表项,说明此表项RSVP正在使用。 |
命令模式
管理态
示例
下面的例子显示路由缓存:
Router#show ip cache
Source Destination Interface Next Hop
192.168.20.125 2.0.0.124 Serial1/0 2.0.0.124
192.168.20.124 192.168.30.124 Serial1/0 2.0.0.124
2.0.0.124 192.168.20.125 Ethernet1/1 192.168.20.125
域 | 描述 |
---|---|
Source | 源地址。 |
Destination | 目的地址。 |
Interface | 发送接口的类型和编号。 |
Next Hop | 网关地址。 |
下面的例子显示目的地址和指定前缀/掩码匹配的路由缓存:
Router#show ip cache 192.168.20.0 255.255.255.0
Source Destination Interface Next Hop
2.0.0.124 192.168.20.125 Ethernet0/1 192.168.20.125
下面的例子显示发送接口和指定的接口类型/掩码匹配的路由缓存:
Router#show ip cache s1/0
Source Destination Interface Next Hop
192.168.20.125 2.0.0.124 Serial1/0 2.0.0.124
192.168.20.124 192.168.30.124 Serial1/0 2.0.0.124
显示irdp protocl信息。
参数
该命令没有参数或者关键字。
命令模式
管理态
示例
xuhao_config_e1/0# show ip irdp
Async0/0 ICMP router discovery protocol(IRDP) : OFF
Ethernet1/0 ICMP router discovery protocol(IRDP) : ON
Advertisements occur between every 450 and 600 seconds
Advertisements are sent as broadcasts
Advertisements valid in 1800 seconds
Default preference : 0
Ethernet1/1 ICMP router discovery protocol(IRDP) : OFF
Null0 ICMP router discovery protocol(IRDP) : OFF
Loopback7 ICMP router discovery protocol(IRDP) : OFF
Loopback10 ICMP router discovery protocol(IRDP) : OFF
显示socket信息。
show ip sockets
参数
该命令没有参数或者关键字。
命令模式
管理态
示例
Router#show ip sockets
Proto | Local | Port | Remote | Port | In | Out | ||
---|---|---|---|---|---|---|---|---|
17 | 0.0.0.0 | 0 | 0.0.0.0 | 0 | 161 | 0 | ||
6 | 0.0.0.0 | 0 | 0.0.0.0 | 0 | 513 | 0 | ||
17 | 0.0.0.0 | 0 | 0.0.0.0 | 0 | 1698 | 0 | ||
17 | 0.0.0.0 | 0 | 0.0.0.0 | 0 | 69 | 0 | ||
6 | 0.0.0.0 | 0 | 0.0.0.0 | 0 | 23 | 0 | ||
17 | 0.0.0.0 | 0 | 0.0.0.0 | 0 | 137 | 122590 | ||
域 | 描述 | |||||||
Proto(协议) | IP协议号。17是UDP,6是TCP。 | |||||||
Remote(远端) | 远端地址。 | |||||||
Port(端口) | 远端端口。 | |||||||
Local(本地) | 本地地址。 | |||||||
Port(端口) | 本地端口。 | |||||||
In(接收) | 接收字节总数。 | |||||||
Out(发送) | 发送字节总数。 | |||||||
显示IP流量统计信息。
show ip traffic
参数
该命令没有参数或者关键字。
命令模式
管理态
示例
Router#show ip traffic
IP statistics:
Rcvd: 0 total, 0 local destination, 0 delivered
0 format errors, 0 checksum errors, 0 bad ttl count
0 bad destination address, 0 unknown protocol, 0 discarded
0 filtered , 0 bad options, 0 with options
Opts: 0 loose source route, 0 record route, 0 strict source route
0 timestamp, 0 router alert, 0 others
Frags: 0 fragments, 0 reassembled, 0 dropped
0 fragmented, 0 fragments, 0 couldn't fragment
Bcast: 0 received, 0 sent
Mcast: 0 received, 0 sent
Sent: 230 generated, 0 forwarded
0 filtered, 0 no route, 0 discarded
ICMP statistics:
Rcvd: 0 total, 0 format errors, 0 checksum errors
0 redirect, 0 unreachable, 0 source quench
0 echos, 0 echo replies, 0 mask requests, 0 mask replies
0 parameter problem, 0 timestamps, 0 timestamp replies
0 time exceeded, 0 router solicitations, 0 router advertisements
Sent: 0 total, 0 errors
0 redirects, 0 unreachable, 0 source quench
0 echos, 0 echo replies, 0 mask requests, 0 mask replies
0 parameter problem, 0 timestamps, 0 timestamp replies
0 time exceeded, 0 router solicitations, 0 router advertisements
UDP statistics:
Rcvd: 28 total, 0 checksum errors, 22 no port, 0 full sock
Sent: 0 total
TCP statistics:
Rcvd: 0 total, 0 checksum errors, 0 no port
Sent: 3 total
IGMP statistics:
Rcvd: 0 total, 0 format errors, 0 checksum errors
0 host queries, 0 host reports
Sent: 0 host reports
ARP statistics:
Rcvd: 8 total, 7 requests, 1 replies, 0 reverse, 0 other
Sent: 5 total, 5 requests, 0 replies (0 proxy), 0 reverse
域 | 描述 |
---|---|
format errors(格式错误) | 报文格式错误,例如IP报头长度错误 |
bad hop count(TTL错误) | 路由器在转发报文时,发现报文的TTL值被减到0。报文将被丢弃。 |
no route(没有路由) | 路由器没有相应路由的报文。 |
显示所有TCP连接的状态信息。
show tcp
参数
该命令没有参数或者关键字。
命令模式
管理态
示例
Router#show tcp
TCB 0xE9ADC8
Connection state is ESTABLISHED, unread input bytes: 934
Local host: 192.168.20.22, Local port: 1023
Foreign host: 192.168.20.124, Foreign port: 513
Enqueued bytes for transmit: 0, input: 934 mis-ordered: 0 (0 packets)
Timer Starts Wakeups Next(ms)
Retrans 33 1 0
TimeWait 0 0 0
SendWnd 0 0 0
KeepAlive 102 0 7199500
iss: 29139463 snduna: 29139525 sndnxt: 29139525 sndwnd: 17520
irs: 709124039 rcvnxt: 709205436 rcvwnd: 4380
SRTT: 15 ms, RXT: 2500 ms, RTV: 687 ms
minRXT: 1000 ms, maxRXT: 64000 ms, ACK hold: 200 ms
Datagrams (max data segment is 1460 bytes):
Rcvd: 102 (out of order: 0), with data: 92, total data bytes: 81396
Sent: 104 (retransmit: 0), with data: 31, total data bytes: 61
域 | 描述 |
---|---|
TCB 0xE77FC8 | TCP连接控制块的内部标识。 |
Connection state is ESTABLISHED | TCP连接当前状态。TCP连接可能处于下列任一状态: LISTEN---等待来自任意远端主机TCP连接请求。 SYN_SENT---发出连接请求后,等待对方的应答。 SYN_RCVD---收到对方的连接请求并发出确认,也发出了自己的连接请求,正在等待对方的连接请求确认。 ESTABLISHED---表示连接建立成功,处于数据传送阶段,可以收发上层应用的数据。 FIN_WAIT_1---已经向对方发出连接终止请求,等待对方的确认,以及对方的连接终止请求。 FIN_WAIT_2---已经向对方发出连接终止请求,并收到对方的确认,正在等待对方的连接终止请求。 CLOSE_WAIT---收到对方的连接终止请求,发出确认,正在等待本地用户关闭连接,一旦用户要求关闭连接,系统将发出连接终止请求。 CLOSING---已经向对方发出连接终止请求,也收到对方的连接终止请求并发出确认,正在等待对方对本地连接终止请求的确认。 LAST_ACK---已经收到对方的连接终止请求并确认,发出连接终止请求,正在等待确认。 TIME_WAIT---正在等待足够的时间以确定对方收到了本地对它的连接终止请求的确认 CLOSED---表示完全没有连接或者连接已经完全关闭 如果要了解更为详细的信息,请参阅RFC 793,TRANSMISSION CONTROL PROTOCOL。 |
unread input bytes: | 经下层TCP处理后可以提交给上层应用,但是上层应用还没有接收的数据。 |
Local host: | 本地IP地址。 |
Local port: | 本地TCP端口。 |
Foreign host: | 远端IP地址。 |
Foreign port: | 远端TCP端口。 |
Enqueued bytes for transmit: | 发送队列中的字节数,包括已经发送但还没有被对方确认的数据和还没有发送的数据。 |
input: | 接收队列中的字节数,这些数据经过排序后等待被上层应用接收。 |
mis-ordered: | 错序队列中的字节数和报文数,这些数据必须等待其它的一些数据收到后,才能顺序进入接收队列被上层应用接收。例如,收到报文1,2,4,5和6,报文1和2可以进入接收队列,但是4,5和6只能进入错序队列等待报文3的到达。 |
接着显示当前连接的定时器使用情况,包括定时器启动的次数,定时器超时的次数和定时器距离下次超时的时间(0表示定时器当前不再运行)。每个连接都使用独立的定时器。定时器的超时次数一般小于定时器的启动次数,因为定时器在运行过程中有可能被重置。例如,重发定时器运行时系统收到对方对所有发送数据的确认,重发定时器将停止运行。
Timer Starts Wakeups Next(ms)
Retrans 33 1 0
TimeWait 0 0 0
SendWnd 0 0 0
KeepAlive 102 0 7199500
域 | 描述 |
---|---|
Timer | 定时器名称。 |
Starts | 定时器的启动次数。 |
Wakeups | 定时器的超时次数。 |
Next(ms) | 定时器距离下次超时的时间(以毫秒为单位),0表示定时器不在运行。 |
Retrans | 重发定时器,用于触发数据重发。定时器在发送数据后被启动,如果超时时间内数据未被对方确认,则重发数据。 |
TimeWait | 时间等待定时器,用于确保对方收到连接终止请求确认。 |
SendWnd | 发送窗口定时器,用于确保发送窗口在TCP确认丢失的情况下恢复到正常大小。 |
KeepAlive | 保持活动定时器,用于确保通信链路正常和对方仍旧处于连接状态。它将触发测试报文的发送,以检测通信链路状态和对方状态。 |
接着显示TCP连接使用的序列号。TCP使用序列号来保证可靠有序的数据传输。本地和远端主机还根据序列号来进行流量控制和发送确认。
iss: 29139463 snduna: 29139525 sndnxt: 29139525 sndwnd: 17520
irs: 709124039 rcvnxt: 709205436 rcvwnd: 4380
域 | 描述 |
---|---|
iss: | 初始发送序列号。 |
snduna: | 已经发送但是还没有收到对方确认的数据的第一个字节的发送序列号。 |
sndnxt: | 以后发送的数据的第一个字节的发送序列号。 |
sndwnd: | 远端主机的TCP窗口尺寸。 |
irs: | 初始接收序列号,也就是远端主机的初始发送序列号。 |
rcvnxt: | 最近确认的接收序列号。 |
rcvwnd: | 本地主机的TCP窗口尺寸。 |
接着显示本地主机记录的发送时间,系统可以根据这些数据调整系统以适应不同的网络。
SRTT: 15 ms, RXT: 2500 ms, RTV: 687 ms
minRXT: 1000 ms, maxRXT: 64000 ms, ACK hold: 200 ms
域 | 描述 |
---|---|
SRTT: | 平滑处理后的往返时间。 |
RXT: | 重传超时时间。 |
RTV: | 往返时间的变化值。 |
MinRXT: | 允许的最小重传超时。 |
MaxRXT: | 允许的最大重传超时。 |
ACK hold: | 延迟确认以便和数据一起发送的最大延迟时间。 |
Datagrams (max data segment is 1460 bytes):
Rcvd: 102 (out of order: 0), with data: 92, total data bytes: 81396
Sent: 104 (retransmit: 0), with data: 31, total data bytes: 61
域 | 描述 |
---|---|
max data segment is | 该连接允许的最大数据段长度。 |
Rcvd: | 本地主机在这个连接过程中收到的报文数,以及其中错序的报文数。 |
with data: | 包含有效数据的报文数。 |
total data bytes: | 报文中包含的数据字节数。 |
Sent: | 本地主机在这个连接过程中发送的报文总数,以及重发的报文数。 |
with data: | 包含有效数据的报文数。 |
total data bytes: | 报文中包含的数据字节数。 |
相关命令
show tcp brief
show tcp tcb
显示TCP连接的简要信息。
show tcp brief [all]
参数
参数 | 参数说明 |
---|---|
all | (可选)显示所有端口。如果不输入这个关键字,系统不显示处于LISTEN状态的端口。 |
命令模式
管理态
示例
Router#show tcp brief
TCB Local Address Foreign Address State
0xE9ADC8 192.168.20.22:1023 192.168.20.124:513 ESTABLISHED
0xEA34C8 192.168.20.22:23 192.168.20.125:1472 ESTABLISHED
域 | 描述 |
---|---|
TCB | TCP连接的内部标识。 |
Local Address | 本地IP地址和TCP端口。 |
Foreign Address | 远端IP地址和TCP端口。 |
State | 连接状态。详细说明参见show tcp命令。 |
相关命令
show tcp
show tcp tcb
显示TCP统计数据。
show tcp statistics
参数
该命令没有参数或者关键字。
命令模式
管理态
示例
Router#show tcp statistics
Rcvd: 148 Total, 0 no port
0 checksum error, 0 bad offset, 0 too short
131 packets (6974 bytes) in sequence
0 dup packets (0 bytes)
0 partially dup packets (0 bytes)
0 out-of-order packets (0 bytes)
0 packets (0 bytes) with data after window
0 packets after close
0 window probe packets, 0 window update packets
0 dup ack packets, 0 ack packets with unsend data
127 ack packets (247 bytes)
Sent: 239 Total, 0 urgent packets
6 control packets
123 data packets (245 bytes)
0 data packets (0 bytes) retransmitted
110 ack only packets (101 delayed)
0 window probe packets, 0 window update packets
4 Connections initiated, 0 connections accepted, 2 connections established
3 Connections closed (including 0 dropped, 1 embryonic dropped)
5 Total rxmt timeout, 0 connections dropped in rxmt timeout
1 Keepalive timeout, 0 keepalive probe, 1 Connections dropped in keepalive
域 | 描述 |
---|---|
Rcvd: | 关于路由器收到报文的统计数据。 |
Total | 收到报文总数。 |
no port | 收到报文中目的端口不存在的报文数。 |
checksum error | 收到报文中校验和错误的报文数。 |
bad offset | 收到报文中数据偏移量错误的报文数。 |
too short | 收到报文中长度小于最小有效长度的报文数。 |
packets in sequence | 按序收到的数据报文数。 |
dup packets | 收到的重复报文数。 |
partially dup packets | 收到的部分重复的报文数。 |
out-of-order packets | 不是按顺序收到的报文数。 |
packets with data after window | 收到的报文中数据超出路由器的接收窗口的报文数。 |
packets after close | 连接关闭后收到的报文数。 |
window probe packets | 收到的窗口探测报文数。 |
window update packets | 收到的窗口更新报文数。 |
dup ack packets | 收到的重复确认报文数。 |
ack packets with unsent data | 收到的确认未发送数据的报文数。 |
ack packets | 收到的确认报文数。 |
Sent | 关于路由器发出报文的统计数据。 |
Total | 发出报文总数。 |
urgent packets | 发出的紧急报文数。 |
control packets | 发出的控制(SYN、FIN或RST)报文数。 |
data packets | 发出的数据报文数。 |
data packets retransmitted | 重发的数据报文数。 |
ack only packets | 发出的纯确认报文数。 |
window probe packets | 发出的窗口探测报文数。 |
window update packets | 发出的窗口更新报文数。 |
Connections initiated | 本地发起的连接数。 |
connections accepted | 本地接受的连接数。 |
connections established | 本地建立连接数。 |
Connections closed | 本地关闭连接数。 |
Total rxmt timeout | 重发超时总数。 |
Connections dropped in rxmit timeout | 重发超时导致的连接断开数。 |
Keepalive timeout | Keepalive超时数。 |
keepalive probe | 发出的Keepalive探测报文数。 |
Connections dropped in keepalive | 由于Keepalive被断开的连接数。 |
相关命令
clear tcp statistics
显示某个TCP连接的状态信息。
show tcp tcb address
参数
参数 | 参数说明 |
---|---|
address | 要显示的TCP连接的传输控制块(TCB)地址。TCB是系统内部对TCP连接的标识,可以用命令show tcp brief得到。 |
命令模式
管理态
示例
下列显示的具体说明参见show tcp命令。
Router_config#show tcp tcb 0xea38c8
TCB 0xEA38C8
Connection state is ESTABLISHED, unread input bytes: 0
Local host: 192.168.20.22, Local port: 23
Foreign host: 192.168.20.125, Foreign port: 1583
Enqueued bytes for transmit: 0, input: 0 mis-ordered: 0 (0 packets)
Timer Starts Wakeups Next(ms)
Retrans 4 0 0
TimeWait 0 0 0
SendWnd 0 0 0
KeepAlive +5 0 6633000
iss: 10431492 snduna: 10431573 sndnxt: 10431573 sndwnd: 17440
irs: 915717885 rcvnxt: 915717889 rcvwnd: 4380
SRTT: 2812 ms, RXT: 18500 ms, RTV: 4000 ms
minRXT: 1000 ms, maxRXT: 64000 ms, ACK hold: 200 ms
Datagrams (max data segment is 1460 bytes):
Rcvd: 5 (out of order: 0), with data: 1, total data bytes: 3
Sent: 4 (retransmit: 0), with data: 3, total data bytes: 80
相关命令
show tcp
show tcp brief
访问列表配置命令包括:
l deny
l ip access-group
l ip access-list
l permit
l show ip access-list
在IP访问列表配置模式中可使用此命令配置禁止规则,要从IP访问列表中删除deny规则,在命令前加no前缀。
deny source [source-mask] [log]
no deny source [source-mask] [log]
deny src_range source-begin source-end [log]
no deny src_range source-begin source-end [log]
deny protocol source source-mask destination destination-mask [precedence precedence] [tos tos] [log]
no deny protocol source source-mask destination destination-mask [precedence precedence] [tos tos] [log]
deny protocol src_range source-begin source-end dst_range destination-begin destination-end [precedence precedence] [tos tos] [log]
no deny protocol src_range source-begin source-end dst_range destination-begin destination-end [precedence precedence] [tos tos] [log]
对于互联网控制报文协议(ICMP),也可以使用以下句法:
deny icmp source source-mask destination destination-mask [icmp-type] [precedence precedence] [tos tos] [log]
deny icmp src_range source-begin source-end dst_range destination-begin destination-end [icmp-type][precedence precedence] [tos tos] [log]
对于Internet 组管理协议(IGMP),可以使用以下句法:
deny igmp source source-mask destination destination-mask [igmp-type] [precedence precedence] [tos tos] [log]
deny igmp src_range source-begin source-end dst_range destination-begin destination-end [igmp-type][precedence precedence] [tos tos] [log]
对于TCP,可以使用以下句法:
deny tcp source source-mask [operator port] destination destination-mask [operator port ] [established] [precedence precedence] [tos tos] [log]
deny tcp src_range source-begin source-end [src_portrange port-begin port-end] dst_range destination-begin destination-end [dst_portrange port-begin port-end][established] [precedence precedence] [tos tos] [log]
对于数据报协议(UDP),可以使用以下句法:
deny udp source source-mask [operator port] destination destination-mask [operator port] [precedence precedence] [tos tos] [log]
deny udp src_range source-begin source-end [src_portrange port-begin port-end] dst_range destination-begin destination-end [dst_portrange port-begin port-end][precedence precedence] [tos tos] [log]
参数
参数 | 参数说明 |
---|---|
protocol | 协议名字或IP协议号。它可以是关键字icmp、igmp、igrp、ip、ospf、tcp或udp,也可以是表IP协议号的0到255的一个整数。为了匹配任何Internet协议(包括ICMP、TCP和UDP)使用关键字ip。某些协议允许进一步限定,如下描述。 |
source | 源网络或主机号。有两种方法指定源:32位二进制数,用四个点隔开的十进制数表示。使用关键字any作为0.0.0.0 0.0.0.0的源和源掩码缩写。 |
source-mask | 源地址网络掩码。使用关键字any作为0.0.0.0 0.0.0.0的源和源掩码缩写。 |
destination | 目标网络或主机号。有两种方法指定: 使用四个点隔开的十进制数表示的32位二进制数。 使用关键字any作为0.0.0.0 0.0.0.0的目标和目标掩码的缩写。 |
destination-mask | 目标地址网络掩码。使用关键字any作为0.0.0.0 0.0.0.0的目标地址和目标地址掩码缩写。 |
precedence precedence | (可选)包可以由优先级过滤,用0到7的数字指定。 |
tos tos | (可选) 数据包可以使用服务层过滤。使用数字0-15指定。 |
icmp-type | (可选)ICMP包可由ICMP报文类型过滤。类型是数字0到255。 |
igmp-type | (可选)IGMP包可由IGMP报文类型或报文名过滤。 类型是0到15的数字。 |
operator | (可选)比较源或目标端口。操作包括lt(小于), gt(大于),eq(等于),neq(不等于)。如果操作符放在source和source-mask之后,那么它必须匹配这个源端口。如果操作符放在destination和destination-mask之后,那么它必须匹配目标端口。 |
port | (可选)TCP或UDP端口的十进制数字或名称。端口号是一个0到65535的数字。TCP端口名列在“使用方针”部分。当过滤TCP时,可以只使用TCP端口名称。UDP端口名称也列在“使用说明”部分。当过滤TCP时,只可使用TCP端口名。当过滤UDP时, 只可使用UDP端口名。 |
established | (可选)只对TCP协议,表示一个已建立的连接。如果TCP数据报ACK或RST位设置时,出现匹配。非匹配的情况是初始化TCP数据报,以形成一个连接。 |
log | (可选)可以进行日志记录。 |
Source-begin | 启始源地址。 |
Source-end | 结束源地址。 |
Destination-begin | 启始目的地址。 |
Destination-end | 结束目的地址。 |
Port-begin | 启始端口 |
Port-end | 结束端口。 |
命令模式
IP访问列表配置态
使用说明
可以使用访问表控制包在接口上的传输,控制虚拟终端线路访问以及限制路由选择更新的内容。在匹配发生以后停止检查扩展的访问表。分段IP包,而不是初始段,立即由任何扩展的IP访问表接收。扩展的访问表用于控制访问虚拟终端线路或限制路由选择更新的内容,不必匹配TCP源端口、服务值的类型或包的优先权。
注意:
在初始建立一个访问表后,任何后续的添加内容(可能由终端键入)放置在列表的尾部。
以下显示用于替换端口号的TCP端口名。参看当前的分配号RFC找到这些协议的有关参考。与这些协议相应的端口号也可以通过以键入一个?替代端口号的方式来寻找。
l bgp
l ftp
l ftp-data
l login
l pop2
l pop3
l smtp
l telnet
l www
以下显示用于替换端口号的UDP端口名。参看当前的分配号RFC找到这些协议的有关参考。与这些协议相应的端口号也可以通过以键入一个?替代端口号的方式来寻找。
l domain
l snmp
l syslog
l tftp
示例
下面示例禁止192.168.5.0这个网段:
!
ip access-list standard filter
deny 192.168.5.0 255.255.255.0
!
注意:
IP访问表由一个隐含的deny规则结束。
相关命令
ip access-group
ip access-list
permit
show ip access-list
为了控制访问一个接口,使用ip access-group接口配置命令。为了删除这个指定的访问组,使用no格式命令。
ip access-group {access-list-name}{in | out}
no ip access-group {access-list-name}{in | out}
参数
参数 | 参数说明 |
---|---|
access-list-name | 访问表名。这是一个最长为20个字符的字符串。 |
in | 在进接口时使用访问列表。 |
out | 在出接口时使用访问列表。 |
命令模式
接口配置态
使用说明
访问列表既可用在出接口也可用在入接口。对于标准的入口访问列表,在接收到包之后,对照访问列表检查包的源地址。对于扩展的访问列表,该路由器也检查目标地址。如果访问表允许该地址,那么软件继续处理该包。如果访问表不允许该地址,该软件放弃包并返回一个ICMP主机不可到达报文。
对于标准的出口访问表,在接收和路由一个包到控制接口以后,软件对照访问列表检查包的源地址。对于扩展的访问表,路由器还检查接收端访问表。如果访问表允许该软件就传送这个包。如果访问列表不允许该地址,软件放弃这个包并返回一个ICMP主机不可达报文。
如果指定的访问列表不存在,所有的包允许通过。
示例
下例在以太网接口0的包出口上应用列表filter:
!
interface ethernet 0
ip access-group filter out
!
相关命令
ip access-list
show ip access-list
使用此命令后,进入的IP访问列表配置模式。在这状态下可以增加和删除访问规则。命令exit返回配置状态。
使用no前缀,删除IP访问列表。
ip access-list {standard | extended} name
no ip access-list {standard | extended} name
参数
参数 | 参数说明 |
---|---|
standard | 指定为标准访问列表 |
extended | 指定为扩展访问列表 |
name | 访问表名。这是一个最长20的字符串。 |
缺省
没有IP访问列表被定义。
命令模式
全局配置态
使用说明
使用此命令将进入IP访问列表配置模式,在IP访问列表配置模式中,可以用deny或permit命令来配置访问规则。
示例
以下的例子配置一个标准访问列表
!
ip access-list standard filter
deny 192.168.1.0 255.255.255.0
permit any
!
相关命令
deny
ip access-group
permit
show ip access-list
在IP访问列表配置模式中可使用此命令配置允许规则,要从IP访问列表中删除permit规则,在命令前加no前缀。
permit source [source-mask] [log]
no permit source [source-mask] [log]
permit src_range source-begin source-end [log]
no permit src_range source-begin source-end [log]
permit protocol source source-mask destination destination-mask [precedence precedence] [tos tos] [log]
no permit protocol source source-mask destination destination-mask [precedence precedence] [tos tos] [log]
permit protocol src_range source-begin source-end dst_range destination-begin destination-end [precedence precedence] [tos tos] [log]
no permit protocol src_range source-begin source-end dst_range destination-begin destination-end [precedence precedence] [tos tos] [log]
对于互联网控制报文协议(ICMP),也可以使用以下句法:
permit icmp source source-mask destination destination-mask [icmp-type] [precedence precedence] [tos tos] [log]
permit icmp src_range source-begin source-end dst_range destination-begin destination-end [icmp-type][precedence precedence] [tos tos] [log]
对于Internet 组管理协议(IGMP),可以使用以下句法:
permit igmp source source-mask destination destination-mask [igmp-type] [precedence precedence] [tos tos] [log]
permit igmp src_range source-begin source-end dst_range destination-begin destination-end [igmp-type][precedence precedence] [tos tos] [log]
对于TCP,可以使用以下句法:
permit tcp source source-mask [operator port] destination destination-mask [operator port ] [established] [precedence precedence] [tos tos] [log]
permit tcp src_range source-begin source-end [src_portrange port-begin port-end] dst_range destination-begin destination-end [dst_portrange port-begin port-end][established] [precedence precedence] [tos tos] [log]
对于数据报协议(UDP),可以使用以下句法:
permit udp source source-mask [operator port [port]] destination destination-mask [operator port] [precedence precedence] [tos tos] [log]
permit udp src_range source-begin source-end [src_portrange port-begin port-end] dst_range destination-begin destination-end [dst_portrange port-begin port-end][precedence precedence] [tos tos] [log]
参数
参数 | 参数说明 |
---|---|
protocol | 协议名字或IP协议号。它可以是关键字icmp、igmp、igrp、ip、ospf、tcp或udp,也可以是表IP协议号的0到255的一个整数。为了匹配任何Internet协议(包括ICMP、TCP和UDP)使用关键字ip。某些协议允许进一步限定,如下描述。 |
source | 源网络或主机号。有两种方法指定源:32位二进制数,用四个点隔开的十进制数表示。使用关键字any作为0.0.0.0 0.0.0.0的源和源掩码缩写。 |
source-mask | 源地址网络掩码。使用关键字any作为0.0.0.0 0.0.0.0的源和源掩码缩写。 |
destination | 目标网络或主机号。有两种方法指定: 使用四个点隔开的十进制数表示的32位二进制数。 使用关键字any作为0.0.0.0 0.0.0.0的目标和目标掩码的缩写。 |
destination-mask | 目标地址网络掩码。使用关键字any作为0.0.0.0 0.0.0.0的目标地址和目标地址掩码缩写。 |
precedence precedence | (可选)包可以由优先级过滤,用0到7的数字指定。 |
tos tos | (可选) 数据包可以使用服务层过滤。使用数字0-15指定。 |
icmp-type | (可选)ICMP包可由ICMP报文类型过滤。类型是数字0到255。 |
igmp-type | (可选)IGMP包可由IGMP报文类型或报文名过滤。 类型是0到15的数字。 |
operator | (可选)比较源或目标端口。操作包括lt(小于), gt(大于),eq(等于),neq(不等于)。如果操作符放在source和source-mask之后,那么它必须匹配这个源端口。如果操作符放在destination和destination-mask之后,那么它必须匹配目标端口。 |
port | (可选)TCP或UDP端口的十进制数字或名称。端口号是一个0到65535的数字。TCP端口名列在“使用方针”部分。当过滤TCP时,可以只使用TCP端口名称。UDP端口名称也列在“使用说明”部分。当过滤TCP时,只可使用TCP端口名。当过滤UDP时, 只可使用UDP端口名。 |
established | (可选)只对TCP协议,表示一个已建立的连接。如果TCP数据报ACK或RST位设置时,出现匹配。非匹配的情况是初始化TCP数据报,以形成一个连接。 |
log | (可选)可以进行日志记录。 |
Source-begin | 启始源地址。 |
Source-end | 结束源地址。 |
Destination-begin | 启始目的地址。 |
Destination-end | 结束目的地址。 |
Port-begin | 启始端口 |
Port-end | 结束端口。 |
命令模式
IP访问列表配置态
使用说明
可以使用访问表控制包在接口上的传输,控制虚拟终端线路访问以及限制路由选择更新的内容。在匹配发生以后停止检查扩展的访问表。
分段IP包,而不是初始段,立即由任何扩展的IP访问表接收。扩展的访问表用于控制访问虚拟终端线路或限制路由选择更新的内容,不必匹配TCP源端口、服务值的类型或包的优先权。
注意:
在初始建立一个访问表后,任何后续的添加内容(可能由终端键入)放置在列表的尾部。
以下显示用于替换端口号的TCP端口名。参看当前的分配号RFC找到这些协议的有关参考。与这些协议相应的端口号也可以通过以键入一个?替代端口号的方式来寻找。
l bgp
l ftp
l ftp-data
l login
l pop2
l pop3
l smtp
l telnet
l www
以下显示用于替换端口号的UDP端口名。参看当前的分配号RFC找到这些协议的有关参考。与这些协议相应的端口号也可以通过以键入一个?替代端口号的方式来寻找。
l domain
l snmp
l syslog
l tftp
示例
下面示例允许192.168.5.0这个网段:
!
ip access-list standard filter
permit 192.168.5.0 255.255.255.0
!
注意:
IP访问表由一个隐含的deny规则结束。
相关命令
deny
ip access-group
ip access-list
show ip access-list
要显示当前的IP访问列表内容,使用show ip access-list命令。
show ip access-list[access-list-name]
参数
参数 | 参数说明 |
---|---|
access-list-name | 访问表名。这是一个最长20的字符串。 |
缺省
显示所有标准的和扩展的IP访问列表。
命令模式
管理态
使用说明
show ip access-list命令允许你指定一个特定的访问列表。
示例
以下是不指定名时show ip access-list 命令的示例输出:
Router# show ip access-list
ip access-list standard aaa
permit 192.2.2.1
permit 192.3.3.0 255.255.255.0
ip access-list extended bbb
permit tcp any any eq www
permit ip any any
以下是指定访问表名时,show ip access-list命令的示例输出:
ip access-list extended bbb
permit tcp any any eq www
permit ip any any