2
0
mirror of https://github.com/gnu4cn/ccna60d.git synced 2024-05-21 04:55:00 +08:00

Daily update. 2019-10-24 10:31:49

This commit is contained in:
gnu4cn 2019-10-24 10:31:49 +08:00
parent a07a089cc6
commit 3aafe703a8
23 changed files with 519 additions and 482 deletions

View File

@ -347,6 +347,7 @@ CCNA 考试要求你理解 OSI 模型,以及各层有哪些应用和协议。
### TCP/IP、DoD 模型
TCP/IP 模型是另一个框架,作为 OSI 模型的替代。它是由 高级防务研究项目署the Defense Advanced Research Projects AgencyDARPA创建的四层或五层模型。它就是为人熟知的国防部模型。自顶向下的四层分别是
```console
4 - 应用, Application [Telnet/FTP/DNS/RIP]
3 - 传输/主机到主机Transport/Host-to-Host [UDP/TCP/ICMP]
@ -1278,7 +1279,9 @@ Router(config)#interface FastEthernet0
最终,路由器进入到了接口配置模式。
`Router(config-if)#`
```console
Router(config-if)#
```
在这里,你可以为接口配置上 IP 地址,设置其带宽,部署一条访问控制清单,以及完成很多其它事项。你的路由器或交换机可能会与我(作者)的有不同的接口编号,所以请使用 `?``show ip interface brief` 命令去查看你的选项。

View File

@ -241,7 +241,7 @@ warnings—Warning conditions (severity=4)
而你有可以将这些日志消息发往几个不同的地方。
```
```console
Router(config)#logging ?
A.B.C.D IP address of the logging host
buffered Set buffered logging parameters
@ -352,7 +352,7 @@ SwitchOne(config)#ip ssh authentication-retries 2
可使用命令 `ip ssh version 2` 开启 SSH 版本`2`。让我们看看其中一个密钥。在这个实例中,该密钥是为 HTTPS 生成的。因为其是在开启 HTTPS 时自动生成的,所以其名称也会自动产生。
```
```console
firewall#show crypto key mypubkey rsa
Key name: HTTPS_SS_CERT_KEYPAIR.server
Temporary key
@ -376,7 +376,9 @@ Switch#
而用一个简单的命令,就可以关闭 HTTP 访问。
`Switch(config)#no ip http server`
```console
Switch(config)#no ip http server
```
查看交换机上 HTTP 服务器的状态。
@ -435,7 +437,7 @@ enable secret 5 $1$mERr$hx5rVt7rPNoS4wqbXKX7m0 [strong level 5 password]
你总是应该关闭那些你不会用到的服务。思科已经在关闭那些不安全和很少用到的服务和协议上做得很好了;尽管如此,你可能会要因明确这点而亲自关闭它们。同样也会有一些服务是有帮助的。多数服务可在全局配置模式中的 `service` 命令下找到。
```
```console
Switch(config)# service ?
compress-config Compress the configuration file
config TFTP load config files
@ -830,7 +832,7 @@ CDP 作为非常强大的故障排除工具,考试中要求你掌握如何来
下列配置输入,正是图 4.1 中的。
```
```console
Router0#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge, S - Switch, H -
Host, I - IGMP, r - Repeater, P - Phone
@ -877,7 +879,7 @@ Duplex: full
前面我们已经讲过怎样在整台设备或仅在某个接口上关闭 CDP 了。而另两个有关命令是显示设备有关 CDP 的协议信息的 `show cdp` 命令,以及通过输入设备名称来查看某台具设备信息的 `show cdp entry <Router>` 命令。建议在今天要配置的实验中花些时间,来查看 CDP 的众多输出。
```
```console
Router0#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
@ -913,7 +915,7 @@ Router0#show cdp ?
交换机的 CAM 表是一些存储位置,这些存储位置包含了物理端口上的那些 MAC 地址,及其 VLAN 参数。交换机 CAM 表中动态学习到的内容,或者说 MAC 地址表,可通过命令 `show mac-address-table dynamic` 查看到,如下面的输出所示。
```
```console
VTP-Server-1#show mac-address-table dynamic
Mac Address Table
-------------------------------------------
@ -1048,7 +1050,7 @@ VTP-Server-1(config-if)#switchport port-security mac-address 001f.3c59.7777 vlan
同过执行 `show port-security` 命令可以验证全局端口安全配置参数global port security configuration parameters。下面展示了默认值下的此命令的打印输出。
```
```console
VTP-Server-1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
@ -1080,7 +1082,7 @@ Security Violation count : 0
而要查看该端口上具体配置的静态安全 MAC 地址,就要用到 `show port-security address` 或者 `show running-config interface [name]` 命令了。以下输出演示了 `show port-security address`
```
```console
VTP-Server-1#show port-security address
Secure Mac Address Table
-------------------------------------------------------------------
@ -1119,7 +1121,7 @@ VTP-Server-1(config-if)#switchport port-security maximum 2
可用除了 `show running-config` 命令外的,在静态地址保全配置示例中用到的同样命令,来验证动态 MAC 地址保全的配置。这是因为,与静态或粘滞的 MAC 地址保全不同,所有动态学习到的地址是不保存在交换机配置文件中的,且在端口关闭后会被移除。那些同样的地址也要在端口再度开启后重新学习。下面的输出演示了 `show port-security address` 命令的输出,现实了一个配置为动态 MAC 地址保全学习的接口。
```
```console
VTP-Server-1#show port-security address
Secure Mac Address Table
------------------------------------------------------------------
@ -1169,7 +1171,7 @@ switchport port-security mac-address sticky 0030.803f.ea81
上面输出中粗体的 MAC 地址都是动态学到的,且被加入到当前配置文件中了。而无需管理员手动配置来将这些地址加入到配置文件。默认情况下,粘滞 MAC 地址保全并不是自动加入到启动配置文件the startup configuration, NVRAM中去的。而为确认此信息已被保存到 NVRAM 中,也就是这些地址不要在交换机重启后重新学习,就要记住执行 `copy running-config startup-config` 命令, 或者命令 `copy system:running-config nvram:startup-config`, 执行二者中的哪一条,取决于部署该特性的那台交换机的 IOS 版本。下面的输出演示了在配置了粘滞地址学习的端口上的 `show port-security address` 命令。
```
```console
VTP-Server-1#show port-security address
Secure Mac Address Table
------------------------------------------------------------------
@ -1199,7 +1201,7 @@ Max Addresses limit in System : 1024
使用接口配置命令 `switchport port-security [violation {protect | restrict | shutdown | shutdown vlan}]` 来配置这些选项。如果某个端口因为因为一个安全冲突而关闭,它就显示为 `errdisabled`,此时需要使用 `shutdown` 和接着的 `no shutdown` 命令来将其再度开启。
```
```console
Switch#show interfaces FastEthernet0/1 status
Port Name Status Vlan Duplex Speed Type
Fa0/1 errdisabled 100 full 100 100BaseSX
@ -1229,7 +1231,7 @@ VTP-Server-1(config-if)#switchport port-security violation restrict
是通过命令 `show port-security` 命令,来对所配置的端口安全冲突动作进行验证的,如下面的输出所示。
```
```console
VTP-Server-1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
@ -1518,7 +1520,7 @@ Security Violation Count : 0
10. 你将看到 FastEthernet 端口立即宕掉。
```
```console
Switch#
%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down

View File

@ -168,7 +168,7 @@ IP 版本 4(IPv4设计用于解决设备命名问题。IPv4 使用二进制
相对于二进制,十六进制对人类来讲更易于掌握,其又能够近似于二进制那样为计算机和网络设备所使用。任何的数都可由十六进制构造出来,这点跟二进制和十进制一样;如下面的例子一样,只需计算`16`的乘积。
```
```console
1 x 16 = 16
16 x 16 = 256
16 x 16 x 16 =4096
@ -712,47 +712,64 @@ IP 地址分配的规则有:**网络上的每个地址,都要是其主机所
## 课文中进制转换的答案
1. Convert 1111 to hex and decimal
```
```console
Hex = F
Decimal = 15
```
2. Convert 11010 to hex and decimal
```
```console
Hex = 1A
Decimal = 26
```
3. Convert 10000 to hex and decimal
```
```console
Hex = 10
Decimal = 16
```
4. Convert 20 to binary and hex
```
```console
Binary = 10100
Hex = 14
```
5. Convert 32 to binary and hex
```
```console
Binary = 100000
Hex = 20
```
6. Convert 101 to binary and hex
```
```console
Binary = 1100101
Hex = 65
```
7. Convert A6 from hex to binary and decimal
```
```console
Binary = 10100110
Decimal = 166
```
8. Convert 15 from hex to binary and decimal
```
```console
Binary = 10101
Decimal = 21
```
9. Convert B5 from hex to binary and decimal
```
```console
Binary = 10110101
Decimal = 181
```
@ -775,7 +792,7 @@ IP 地址分配的规则有:**网络上的每个地址,都要是其主机所
1. 先是明确路由器上的串行借口编号你的路由器与上面拓扑图中的可能有所不同。同时还要明确串行链路的哪一端连接的是DCE线因为在该端是需要`clock rate`命令的。
```
```console
Router>en
Router#sh ip interface brief
Interface IP-Address OK? Method Status Protocol
@ -795,7 +812,7 @@ DCE cable, no clock rate
2. 在一侧为路由器加上主机名及IP地址如该侧是DCE就为其加上时钟速率the clock rate
```
```console
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname RouterA
@ -808,7 +825,7 @@ RouterA(config-if)#no shut
3. 为另一侧加上主机名和IP地址。同时使用`no shut`命令将该接口开启。
```
```console
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
@ -824,7 +841,7 @@ RouterB#
4. 用`ping`命令测试连接。
```
```console
RouterB#ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

View File

@ -112,7 +112,7 @@ NAT内部和外部的分址是一个经典的考试问题所以还需在
下面的输出给出了一种思科IOS软件下配置NAT动态NAT的方式。可以看出该配置使用了可用的`description`和`remark`两种特性,来帮助管理员更容易地对网络进行管理和故障排除。
```
```console
R1(config)#interface FastEthernet0/0
R1(config-if)#description Connected To The Internal LAN
R1(config-if)#ip address 10.5.5.1 255.255.255.248
@ -132,7 +132,7 @@ R1(config)#exit
按照这个配置,命令`show ip nat translations`就可以用来对路由器上具体进行的转换进行查看,如下面的输出所示。
```
```console
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 150.1.1.4:4 10.5.5.1:4 200.1.1.1:4 200.1.1.1:4
@ -165,7 +165,7 @@ tcp 150.1.1.5:159 10.5.5.3:159 200.1.1.1:23 200.1.1.1:23
对上面的网络,配置应像下面这样。
```
```console
Router(config)#interface f0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#ip nat inside
@ -178,6 +178,7 @@ Router(config-if)#exit
Router(config)#ip nat inside source static 192.168.1.1 200.1.1.1
Router(config)#ip nat inside source static 192.168.2.1 200.1.1.2
```
命令`ip nat inside`和`ip nat outside`告诉路由器哪些是内侧NAT接口哪些是外侧的NAT接口。而命令`ip nat inside source`命令就定义了那些静态转换想要多少条就可以有多少条的该命令那么就算你掏钱买的那些公网IP地址有多少个就写上多少条吧。在思科公司笔者曾解决有关此类问题的大量主要的配置错误就是找不到`ip nat inside`及`ip nat outside`语句!考试中可能会碰到那些要求找出配置错误的问题。
强烈建议将上述命令敲入到某台路由器中去。本书中有很多的NAT实验但是在阅读理论章节的同时你敲入得越多那么这些信息就能越好地进入你的大脑。
@ -201,7 +202,7 @@ Router(config)#ip nat inside source static 192.168.2.1 200.1.1.2
在上面的图6.5中,让内部地址使用的是一个从`200.1.1.1`到`200.1.1.16`的地址池。下面是要实现该目的的配置文件。这里就不再给出路由器接口地址了。
```
```console
Router(config)#interface f0/0
Router(config-if)#ip nat inside
Router(config)#interface s0/1
@ -234,7 +235,7 @@ IP地址处于紧缺之中在有着成千上万的地址需要路由时
而要配置PAT需要进行如同动态NAT的那些同样配置还要在地址池后面加上关键字“overload”。
```
```console
Router(config)#interface f0/0
Router(config-if)#ip nat inside
Router(config)#interface s0/1
@ -302,7 +303,7 @@ NAT故障中十次有九次都是由于路由器管理员忘记了把`ip nat
2. 在路由器`A`上需要加入一个IP地址以模拟LAN上的一台主机。**通过一个环回接口,可以实现这个目的**。
```
```console
RouterA#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterA(config)#interface Loopback0
@ -312,7 +313,7 @@ RouterA(config-if)#
3. 为进行测试,需要告诉`Router B`将发往任何网络的任何流量,都发往`Router A`。通过一条静态路由完成这个。
```
```console
RouterB#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterB(config)#ip route 0.0.0.0 0.0.0.0 Serial0/1/0
@ -321,7 +322,7 @@ RouterB(config)#
4. 要测试该条静态路由是否工作,通过从`Router A`上的环回接口对`Router B`进行`ping`操作。
```
```console
RouterA#ping
Protocol [ip]:
Target IP address: 192.168.1.2
@ -346,7 +347,7 @@ RouterA#
5. 在`Router A`上配置一个静态NAT条目。使用NAT将地址`10.1.1.1`, 在其离开该路由器时,转换成`172.16.1.1`。同样需要告诉路由器哪个是NAT的内部接口哪个是外部接口。
```
```console
RouterA#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterA(config)#int Loopback0
@ -360,7 +361,7 @@ RouterA(config)#
6. 打开NAT调试如此就可以看到转换的进行。此时再执行另一个扩展`ping`操作(自`L0`接口的并查看NAT表。因为IOS的不同你的输出可能与我的不一样。
```
```console
RouterA#debug ip nat
IP NAT debugging is on
RouterA#
@ -410,7 +411,7 @@ RouterA#
7. 记住路由器随后很快就会清除该NAT转换为其它IP地址使用这个/这些NAT地址而对其进行清理。
```
```console
NAT: expiring 172.16.1.1 (10.1.1.1) icmp 6 (6)
NAT: expiring 172.16.1.1 (10.1.1.1) icmp 7 (7)
```
@ -437,7 +438,7 @@ NAT: expiring 172.16.1.1 (10.1.1.1) icmp 7 (7)
2. 需要给`RouterA`添加两个IP地址来模拟LAN上的主机。通过两个环回接口可以达到这个目的。这两个IP地址将位处不同子网但都以`10`地址开头。
```
```console
RouterA#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterA(config)#interface Loopback0
@ -449,7 +450,7 @@ RouterA(config-if)#
3. 为了进行测试,需要告诉`RouterB`将到任何网络的任何流量,都发往`RouterA`。用一条静态路由完成这点。
```
```console
RouterB#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterB(config)#ip route 0.0.0.0 0.0.0.0 Serial0/1/0
@ -458,7 +459,7 @@ RouterB(config)#
4. 在`RouterA`上,从环回接口向`RouterB`发出`ping`操作,以此来测试该静态路由是否工作。
```
```console
RouterA#ping
Protocol [ip]:
Target IP address: 192.168.1.2
@ -483,7 +484,7 @@ RouterA#
5. 在`RouterA`上配置一个NAT地址池。在本实验中使用地址池`172.16.1.1`到`172.16.1.10`。任何以`10`开头的地址都将成为一个NAT。记住你**必须**指定NAT的内部和外部接口否则NAT就不会工作。
```
```console
RouterA#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterA(config)#int l0
@ -506,7 +507,7 @@ RouterA(config)#
6. 打开NAT调试如此才可以看到转换的发生。接着执行扩展`ping`(自`L0`和`L1`发出的并查看NAT表。因为IOS平台的不同你的输出可能和下面的不一样。将会看到NAT地址池中的两个地址正在用到。
```
```console
RouterA#debug ip nat
RouterA#ping
Protocol [ip]:
@ -595,11 +596,13 @@ RouterA#
重复先前的实验。这次,在引用地址池时,将`overload`命令加到该配置行的后面。这会指示路由器使用PAT。去掉`Loopback1`。**请注意正如Farai指出的那样在真实世界中地址池通常只会有一个地址否则在外部接口上会超载**Please note that as Farai says, in the real world, your pool will usually have only one address or you will overload your outside interface
`RouterA(config)#ip nat inside source list 1 pool 60days overload`
```console
RouterA(config)#ip nat inside source list 1 pool 60days overload
```
我已经为方便而使用思科Packet Tracer完成了上面的实验所以你通常会碰到与我的输出所不一致的输出。下面是一个PAT实验的示例输出。从中可以看出路由器给每个转换都加上了一个端口号。不幸的是在NAT地址池实验中会看到相似的编号这是一个PAT的混淆之处。
```
```console
RouterA#show ip nat tran
Inside global Inside local Outside local Outside global
10.0.0.1:8759 172.16.1.129:8759 192.168.1.2:8759 192.168.1.2:8759

View File

@ -634,7 +634,7 @@ DAD通过使用邻居询问`135`类型的ICMPv6及节点询问多播地址
在全局开启IPv6路由之后接口配置命令`ipv6 address [ipv6-address/prefix-length | prefix-name sub-bits/prefix-length | anycast | autoconfig <default> | dhcp | eui-64 | link-local]`就可以用于配置接口的IPv6分址了。关键字`[ipv6-address/prefix-length]`用于指定分配给该接口的IPv6前缀和前缀长度。下面的配置演示了如何为一个路由器接口配置子网`3FFF:1234:ABCD:5678::/64`上的第一个地址。
```
```console
R1(config)#ipv6 unicast-routing
R1(config)#interface FastEthernet0/0
R1(config-if)#ipv6 address 3FFF:1234:ABCD:5678::/64
@ -643,7 +643,7 @@ R1(config-if)#exit
按照此配置,`show ipv6 interface [name]`命令就可用于验证配置的IPv6地址子网即`3FFF:1234:ABCD:5678::/64`, 如下面的输出所示。
```
```console
R1#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::20C:CEFF:FEA7:F3A0
@ -660,7 +660,7 @@ FastEthernet0/0 is up, line protocol is up
就如在本模块早先指出的那样IPv6允许在同一接口上配置多个前缀。而如过在同一借口上配置了多个前缀`show ipv6 interface [name] prefix`命令就可以用来查看所有分配的前缀以及它们各自的有效和首选生命期数值。下面的输出显示了在一个配置了多个IPv6前缀的路由器接口上该命令所打印出的信息。
```
```console
R1#show ipv6 interface FastEthernet0/0 prefix
IPv6 Prefix Advertisements FastEthernet0/0
Codes: A - Address, P - Prefix-Advertisement, O - Pool
@ -681,7 +681,7 @@ AD 3FFF:1234:ABCD:9012::/64 [LA] Valid lifetime 2592000, preferred lifetime 6048
`[autoconfig <default>]`关键字开启SLAAC。如用到该关键字路由器将动态学习链路上的前缀之后将`EUI-64`地址加到所有学习到的前缀上。`[default]`关键字是一个允许安装一条默认路由的可选关键字the `<default>` keyword is an optional keyword that allows a default route to be installed。下面的配置样例演示了如何在某个路由器接口上开启无状态自动配置同时额外地允许安装上默认路由。
```
```console
R2(config)#ipv6 unicast-routing
R2(config)#interface FastEthernet0/0
R2(config-if)#ipv6 address autoconfig default
@ -690,7 +690,7 @@ R2(config-if)#exit
按照这个配置,路由器`R2`将会监听`FastEthernet0/0`接口所在本地网段上的RA报文。该路由器将会对每个学习到的前缀动态地配置一个`EUI-64`地址并接着安装上指向该RA通告路由器本地链路地址的默认路由。使用`show ipv6 interface [name]`命令,即可对动态地址配置进行验证,如下面的输出所示。
```
```console
R2#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::213:19FF:FE86:A20
@ -716,7 +716,7 @@ FastEthernet0/0 is up, line protocol is up
在上面的输出中注意到尽管接口上没有配置显式的IPv6地址还是动态地为经由侦听RA报文所发现的子网配置了一个`EUI-64`地址。每个这些前缀的计时器都继承自通告RA报文的那台路由器。为了进一步验证无状态自动配置可以使用`show ipv6 route`命令,来验证到首选通告路由器本地链路地址的默认路由,如下面所演示的那样。
```
```console
R2#show ipv6 route ::/0
IPv6 Routing Table - 13 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
@ -746,7 +746,7 @@ S ::/0 [1/0]
按照这样的配置,命令`show ipv6 interface`就可用于验证验证分配到接口`FastEthernet0/0`上的IPv6接口ID 如下面的输出所示。
```
```console
R2#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::213:19FF:FE86:A20
@ -763,7 +763,7 @@ FastEthernet0/0 is up, line protocol is up
要验证该`EUI-64`地址的构造过程,同样可以通过使用`show interface`命令查看指定接口的MAC地址的方式来检查该完整的IPv6地址。
```
```console
R2#show interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
Hardware is AmdFE, address is 0013.1986.0a20 (bia 0013.1986.0a20)
@ -776,7 +776,7 @@ FastEthernet0/0 is up, line protocol is up
而如果要手动配置一个本地链路地址,就必须分配一个本地链路地址块`FE80::/10`中的地址。下面的配置实例,演示了如何在某接口上配置一个本地链路地址。
```
```console
R3(config)#interface FastEthernet0/0
R3(config-if)#ipv6 address fe80:1234:abcd:1::3 link-local
R3(config-if)#exit
@ -784,7 +784,7 @@ R3(config-if)#exit
按照该配置,就可用`show ipv6 interface [name]`命令验证这个手动配置的本地链路地址,如下面的输出所示。
```
```console
R3#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80:1234:ABCD:1::3

View File

@ -67,7 +67,7 @@
通过在接口配置命令`ip address [address] [mask]`后添加`[secondary]`关键字就可以为接口指定多个的IPv4地址。对于IPv6来说是不需要`[secondary]`关键字的,因为使用第`7`天课程中所介绍的接口配置命令`ipv6 address`就可以为每个接口配置多个前缀。下面的配置示例演示了如何在单一的路由器接口上配置多个IPv4地址和IPv6地址及前缀
```
```console
R3(config)#ipv6 unicast-routing
R3(config)#interface FastEthernet0/0
R3(config-if)#ip address 10.0.0.3 255.255.255.0
@ -84,7 +84,7 @@ R3(config-if)#exit
依据这些IPv4与IPv6地址的配置就可以通过简单地对查看路由器配置来验证这些配置如下面的输出所示
```
```console
R3#show running-config interface FastEthernet0/0
Building configuration...
Current configuration : 395 bytes
@ -102,7 +102,7 @@ end
而要查看具体的IPv4及IPv6接口参数只需使用思科IOS软件的`show ip interface [name]`或`show ipv6 interface [name]`命令即可。下面是`Fastethernet0/0`接口上`show ip interface`的输出:
```
```console
R3#show ip interface FastEthernet0/0 | section address
Internet address is 10.0.0.3/24
Broadcast address is 255.255.255.255
@ -114,7 +114,7 @@ R3#show ip interface FastEthernet0/0 | section address
下面的输出则演示了上一示例中用到的同样的`Fastethernet0/0`接口的`show ipv6 interface`命令,所打印出的信息:
```
```console
R3#show ipv6 interface FastEthernet0/0 | section address
IPv6 is enabled, link-local address is FE80::213:19FF:FE86:A20
Global unicast address(es):
@ -135,14 +135,14 @@ R3#show ipv6 interface FastEthernet0/0 | section address
思科IOS软件通过使用全局配置命令`ip host [name] [v4-address]`及`ipv6 host [name] [v6-address]`, 而提供了对相应的静态IPv4与IPv6主机地址配置的支持。下面的示例演示了在思科IOS软件中如何配置静态IPv4及IPv6的主机名字与地址
```
```console
R1(config)#ip host TEST-HOST 10.0.0.3
R1(config)#ipv6 host TEST-HOST 3FFF:1234:ABCD:1::3
```
该静态IPv4与IPv6主机配置可使用`show hosts`命令进行验证,下面打印出了改命令的输出:
```
```console
R1#show hosts
...
[Truncated Output]
@ -154,7 +154,7 @@ TEST-HOST None (perm, OK) 0 IPv6 3FFF:1234:ABCD:1::3
在同一主机同时配置一个IPv4及IPv6地址时思科IOS软件将使用IPv6地址。如有使用DNS那么在主机同时配置了IPv6及IPv4 DNS服务器时该双栈主机将先搜寻`AAAA`IPv6记录在查询不到时回滚到`A`记录IPv4If DNS is used, the dual-stack host will first search `AAAA`(IPv6) records and then fall back to the `A` records(IPv4) when configured with both IPv6 and IPv4 DNS servers。可想下面这样通过执行一次简单的到先前配置的静态主机`TEST-HOST`的`ping`操作,对此默认行为进行验证:
```
```console
R1#ping test-host repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 3FFF:1234:ABCD:1::3, timeout is 2 seconds:
@ -166,7 +166,7 @@ Success rate is 100 percent (10/10), round-trip min/avg/max = 0/1/4 ms
思科IOS软件中IPv4与IPv6 DNS服务器的配置都依然是使用全局配置命令`ip name-server [address]`。不过这条命令现在已修改为允许将一个IPv4或IPv6地址指定为DNS服务器的IP地址。下面的示例演示了如何将路由器配置为同时使用一台IPv4及IPv6 DNS服务器
```
```console
R1(config)#ip name-server ?
A.B.C.D Domain server IP address (maximum of 6)
X:X:X:X::X Domain server IP address (maximum of 6)

View File

@ -150,7 +150,7 @@
在接口上已创建并应用的ACL。
```
```console
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
@ -162,7 +162,7 @@ Router(config-if)#ip access-group 1 in
现在其从接口上卸下。
```
```console
Router(config)#int FastEthernet0/0
Router(config-if)#no ip access-group 1 in
Router(config-if)#^Z
@ -170,7 +170,7 @@ Router(config-if)#^Z
查看那些ACLs。将其复制并粘贴到文本编辑器并进行修改。
```
```console
Router#show run ← or show ip access lists
access-list 1 permit host 172.16.1.1
access-list 1 permit host 172.16.2.1
@ -178,7 +178,7 @@ access-list 1 permit host 172.16.2.1
实际上还需在配置行之间加入一个叹号如是将其粘贴到路由器上的情况下来告诉路由器执行一次确认you actually need to add an exclamation mark in-between each line of configuration, if you are pasting it in, to tell the router to do a carriage return[wikipedia: 回车符](http://zh.wikipedia.org/wiki/%E5%9B%9E%E8%BD%A6%E7%AC%A6)。
```
```console
access-list 1 permit host 172.16.1.1
!
access-list 1 permit host 172.16.2.2
@ -186,7 +186,7 @@ access-list 1 permit host 172.16.2.2
下面是正被粘贴到路由器配置中的那些行。要先删除早先的ACL再粘贴进新版本。
```
```console
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#no access-list 1
@ -214,7 +214,7 @@ Router(config-if)#ip access-group 1 in ← reapply to the interface
在打算短时间对ACL进行测试或是撤销ACL时许多工程师都会将其完全删除掉。这是不必要的。如你要停止ACL运行只需简单地将其从所应用到的接口上移除即可。
```
```console
Router(config)#int FastEthernet0/0
Router(config-if)#no ip access-group 1 in
Router(config-if)#^Z
@ -318,7 +318,7 @@ CCNA考试中反掩码计算的一种简易方法就是把一个数与子网
![有着多台/个主机网络的网络](images/0906.png)
```
```console
Router(config)#access-list 1 permit host 172.16.1.1
Router(config)#access-list 1 permit host 172.16.1.1
Router(config)#access-list 1 permit host 192.168.1.1
@ -335,13 +335,13 @@ Router(config)#access-list 1 permit 10.1.0.0 0.0.255.255
一般来说你可以看看扩展的ACLs配置语法就像下面这样。
```
```console
access list# permit/deny [service/protocol] [source network/IP] [destination network/IP] [port#]
```
比如下面这样。
```
```console
access-list 101 deny tcp 10.1.0.0 0.0.255.255 host 172.30.1.1 eq telnet
access-list 100 permit tcp 10.1.0.0 0.0.255.255 host 172.30.1.1 eq ftp
access-list 100 permit icmp any any
@ -354,7 +354,7 @@ access-list 100 permit icmp any any
可为上面的网络配置一条ACL以e-mail、web和文件服务器为例可以像下面这样应用在服务器侧的
```
```console
access-list 100 permit tcp host 172.16.1.1 host 172.20.1.1 eq smtp
access-list 100 permit tcp 10.1.0.0 0.0.255.255 host 172.30.1.1 eq ftp
access-list 100 permit tcp host 192.168.1.1 host 172.40.1.1 eq www
@ -362,7 +362,7 @@ access-list 100 permit tcp host 192.168.1.1 host 172.40.1.1 eq www
而如有不同要求就也可以像下面这条ACL。
```
```console
access-list 101 deny icmp any 172.20.0.0 0.0.255.255
access-list 101 deny tcp 10.1.0.0 0.0.255.255 host 172.30.1.1 eq telnet
```
@ -383,7 +383,7 @@ access-list 101 deny tcp 10.1.0.0 0.0.255.255 host 172.30.1.1 eq telnet
在配置命名ACLs时的另一不同之处就是必须一直使用命令`ip access-list`这与编号ACLs可以只使用简单的`access-list`命令,是不一样的。
```
```console
Router(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
@ -417,7 +417,7 @@ R1(config)#ip access-list extended ?
**图9.8 -- 命名ACL**
```
```console
Router(config)#ip access-list extended BlockWEB
Router(config-ext-nacl)#?
Ext Access List configuration commands:
@ -439,7 +439,7 @@ Router(config-ext-nacl)#permit ip any any
- `show ip access-list`: 显示设备上所创建的所有ACLs
- `show ip access-list <acl_name>`: 显示某条特定的命名ACL
```
```console
Router(config)#do show ip access-lists
Standard IP access list test
30 permit 10.1.1.1
@ -462,21 +462,21 @@ Standard IP access list test
接口上的应用。
```
```console
Router(config)#int FastEthernet0/0
Router(config-if)#ip access-group 101 in
```
线路上的应用。
```
```console
Router(config)#line vty 0 15
Router(config-line)#access-class 101 in
```
接口上的应用。
```
```console
Router(config)#int FastEthernet0/0
Router(config-if)#ip access-group BlockWEB in
```
@ -487,7 +487,7 @@ Router(config-if)#ip access-group BlockWEB in
自`12.4`往后你会发现思科IOS给每个ACL条目添加了序号。那么现在就可以创建一条访问控制清单并在其后从它里面一处一行了。
```
```console
Router(config)#ip access-list standard test
Router(config-std-nacl)#permit 172.16.1.1
Router(config-std-nacl)#permit 192.168.1.1
@ -512,7 +512,7 @@ Standard IP access list test
**要加入一个新的ACL行只需简单地输入新的序号并接着输入该ACL语句**。下面的例子展示如何往现有的ACL中加入行`15`。
```
```console
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip access
@ -535,7 +535,7 @@ Router(config-std-nacl)#
要移除某个ACL行只需简单地敲入`no <seq_number>`命令即可,就如同下面的例子中行`20`被删除掉了。
```
```console
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip access
@ -556,7 +556,7 @@ Router(config-std-nacl)#
要对某条ACL重新编号使用`ip access-list resequence <acl_name> <starting_seq_number> <step_to_increment>`命令。该命令的行为可由下面的例子进行检验。
```
```console
Router(config)#ip access-list resequence test 100 20
Router(config)#do show ip access-lists
Standard IP access list test
@ -574,7 +574,7 @@ Router(config-std-nacl)#
默认情况下通过那些为某个接口的数据包所匹配上的ACL条目会创建出一个不断增大的计数器该计数器可使用`show ip access-list`命令进行查看,如下面的例子所示。
```
```console
Router#show ip access-lists
Extended IP access list test
10 deny tcp any any eq 80 (10 matches)
@ -583,7 +583,7 @@ Extended IP access list test
而如果需要更详细的有关那些为ACL条目所匹配的流量信息可以给相关的ACL条目配置`log`或`log-input`参数。
```
```console
Router(config)#ip access-list extended test
Router(config)#no 10
Router(config)#10 deny tcp any any eq 80 log
@ -599,7 +599,7 @@ Extended IP access list test
而如果你仍需要更多有关该事件transaction的细节就要用`log-input`参数替代`log`参数了,就像下面这样。
```
```console
Router(config)#ip access-list extended test
Router(config)#no 10
Router(config)#10 deny tcp any any eq 80 log-input
@ -627,7 +627,7 @@ Extended IP access list test
下面的例子定义了一条允许来自主机`10.10.10.1`的Telnet流量该ACL随后被应用到VTY线路的进入方向。
```
```console
Router(config)#ip access-list extended VTY_ACCESS
Router(config-ext-nacl)#permit tcp host 10.10.10.1 any eq telnet
Router(config-ext-nacl)#deny tcp any any
@ -640,7 +640,7 @@ Router(config-line)#
使用以下命令对配置进行验证。
```
```console
Router#show run | sect line vty
line vty 0 4
access-class VTY_ACCESS in
@ -667,7 +667,7 @@ access-class VTY_ACCESS in
可使用命令`show ip access-list` 或 `show access-list`命令, 查看ACL全局统计信息这两个命令又可以仅查看某个特定编号ACL或命名ACL的全局统计信息。
```
```console
Router#show ip access-lists
Extended IP access list test
10 deny tcp any any eq 80 (10 matches)
@ -682,7 +682,7 @@ Extended IP access list test
在想要查看单个接口上的ACL匹配情况不管是进还是出方向时可以使用命令`show ip access-list interface <interface_name> [in|out]`,如下面所示。
```
```console
Router#show ip access-list interface FastEthernet0/1 in
Extended IP access list 100 in
10 permit ip host 10.10.10.1 any (5 matches)
@ -743,14 +743,14 @@ Extended IP access list 100 in
1. 配置上面的网络。在两台路由器上加入一条静态路由,领导到任何网络的任何流量都从串行接口发出。这么做的原因是,尽管这不是一个路由实验,仍然需要路由的流量。把`.1`地址加到路由器`A`的串行接口,`.2`地址加到路由器`B`的串行接口。
```
```console
RouterA(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
```
2. 在路由器A上配置一条标准ACL放行`192.168.1.0/10`网络。默认情况下,其它所有网络都将被阻止。
```
```console
RouterA(config)#access-list 1 permit 192.168.1.0 0.0.0.63
RouterA(config)#int Serial0/1/0
RouterA(config-if)#ip access-group 1 in
@ -761,7 +761,7 @@ RouterA#
3. 从路由器`B`上测试该条ACL默认将使用`10.0.0.1`地址。
```
```console
RouterB#ping 10.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:
@ -771,7 +771,7 @@ Success rate is 0 percent (0/5)
4. 以源地址`192.168.1.1`来做另一个ping测试这将没有问题。
```
```console
RouterB#ping
Protocol [ip]:
Target IP address: 10.0.0.1
@ -808,11 +808,13 @@ Success rate is 100 percent (5/5), round-trip min/avg/max = 31/31/32 ms
1. 配置上述网络。在路由器`B`上加入一条静态路由,令到前往所有网络的所有流量都从串行接口上发出。这么做是因为,尽管这不是一个路由实验,仍然需要路由流量。
`RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0`
```console
RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
```
2. 在路由器`A`上配置一条扩展ACL。仅允许往环回接口上发起Telnet流量。
```
```console
RouterA(config)#access-list 100 permit tcp any host 172.20.1.1 eq 23
RouterA(config)#int s0/1/0
RouterA(config-if)#ip access-group 100 in
@ -825,11 +827,13 @@ RouterA#
上面的那条ACL编号为`100`, 这就告诉路由器它是一条扩展ACL。所要允许的是TCP。该条ACL允许来自任何网络的目的地址为`172.20.1.1`的Telnet端口端口号为`23`。在执行`show run`命令时,就会看到,路由器实际上会将端口号替换为其对应的名称,就像下面演示的这样。
`access-list 100 permit tcp any host 172.20.1.1 eq telnet`
```console
access-list 100 permit tcp any host 172.20.1.1 eq telnet
```
3. 现在从路由器B上做一个Telnet测试。首先往路由器`A`的串行接口上Telnet将会被阻止。接着测试环回接口。
```
```console
RouterB#telnet 10.0.0.1
Trying 10.0.0.1 ...
% Connection timed out; remote host not responding
@ -858,14 +862,14 @@ RouterA> ←Hit Control+Shift+6 together and then let go and press the X key to
1. 配置上面的网络。在两台路由器上加入一条静态路由,领导到任何网络的任何流量都从串行接口发出。这么做的原因是,尽管这不是一个路由实验,仍然需要路由的流量。
```
```console
RouterA(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
RouterB(config)#ip route 0.0.0.0 0.0.0.0 s0/1/0
```
2. 在路由器`B`上加入一条扩展的命名ACL。只放行主机`172.20.1.1`,阻止其它任何主机或网络。
```
```console
RouterB(config)#ip access-list extended blockping
RouterB(config-ext-nacl)#permit icmp host 172.20.1.1 any
RouterB(config-ext-nacl)#exit
@ -876,7 +880,7 @@ RouterB(config-if)#
3. 现在分别从路由器`A`的串行接口和换回接口发出`ping`来测试该条ACL。
```
```console
RouterA#ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
@ -907,13 +911,18 @@ Success rate is 100 percent (5/5), round-trip min/avg/max = 31/34/47 ms
要放行RIP就要像这样指定。
`access-list 101 permit udp any any eq rip`
```console
access-list 101 permit udp any any eq rip
```
要放行OSPF要像这样指定。
`access-list 101 permit ospf any any`
```console
access-list 101 permit ospf any any
```
要放行EIGRP要像这样指定。
`access-list 101 permit eigrp any any`
```console
access-list 101 permit eigrp any any
```

View File

@ -168,7 +168,7 @@ ICND1考试要求你对**基本路由**basic routing及**数据包流经
默认路由来源管理距离会显示在`show ip protocols`命令的输出中。下面的输出演示了这点。
```
```console
R1#show ip protocols
Routing Protocol is “isis”
Invalid after 0 seconds, hold down 0, flushed after 0
@ -292,7 +292,7 @@ Distance: (default is 115 )
一旦路由已放入到路由表,默认情况下比起那些较不具体的路由,最为具体或有着最长匹配前缀的路由总是优先选用的。这在下面的实例中进行了演示,该实例展示了包含有`80.0.0.0/8`、`80.1.0.0/16`及`80.1.1.0/24`前缀路由条目的一个路由表。这三条路由前缀分别通过EIGRP、OSPF及RIP路由协议接收到。
```
```console
R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
@ -313,7 +313,7 @@ O E2 80.1.0.0/16 [110/20] via 10.1.1.2, 00:00:14, Ethernet0/0.1
基于该路由表的内容,如路由器收到一个目的为`80.1.1.1`的数据包就会使用那条RIP路由因为这是最为具体的条目尽管EIGRP和OSPF都有着更好的管理距离值而是更为优先的路由来源。`show ip route 80.1.1.1`命令可用于检验这点。
```
```console
R1#show ip route 80.1.1.1
Routing entry for 80.1.1.0/24
Known via “rip”, distance 120, metric 1
@ -330,7 +330,7 @@ Routing entry for 80.1.1.0/24
有类协议无法使用VLSM也就是RIPv1和IGRP它们都已不在CCNA大纲中了。这是因为它们不会去识别除了默认网络掩码外的其它任何东西。
```
```console
Router#debug ip rip
RIP protocol debugging is on
01:26:59: RIP: sending v1 update to 255.255.255.255 via Loopback0
@ -339,7 +339,7 @@ RIP protocol debugging is on
有类协议用到VLSM也就是RIPv2和EIGRP
```
```console
Router#debug ip rip
RIP protocol debugging is on
01:29:15: RIP: received v2 update from 172.16.1.2 on Serial0
@ -549,14 +549,14 @@ CEF使用一个FIB来做出基于IP目的地址前缀的交换决定CEF uses
开启CEF只需简单的一条命令那就是全局配置命令`ip cef [distributed]`。关键字`[distributed]`仅适用于像是`Catalyst 6500`系列、支持`dCEF`的高端交换机。下面的输出展示了如何在一台诸如`Catalyst 3750`系列交换机的低端平台上配置CEF。
```
```console
VTP-Server-1(config)#ip cef
VTP-Server-1(config)#exit
```
下面的输出演示了在`Catalyst 6500`系列交换机上如何开启`dCEF`。
```
```console
VTP-Server-1(config)#ip cef distributed
VTP-Server-1(config)#exit
```
@ -602,7 +602,7 @@ VTP-Server-1(config)#exit
路由排错的第一步,就是检查路由协议是否开启及正确配置。这既可以通过检查当前运行配置(也就是`show run`命令),又可以使用结合了每种特定路由协议的`show`命令。这些路由协议的选项有下面这些。
```
```console
Router#show ip ospf ?
<1-65535> Process ID number
border-routers Border and boundary router information
@ -731,7 +731,7 @@ metric for determining the best forwarding path. True or false?
- 在两台路由器上都配置一个环回接口并从两个不同范围为其分配上地址11.11.11.1/32及12.12.12.2/32
- 配置标准RIP并通告所有本地网络
```
```console
R1:
router rip
version 2

View File

@ -50,7 +50,7 @@
要加入上面网络的一条静态路由,就要在左边的路由器上写出下面这行配置。
```
```console
Router(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.2
```
@ -60,11 +60,13 @@ Router(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.2
*图11.2 -- 不总是知道下一跳地址的情形*
`Router(config)#ip route 192.168.1.0 255.255.255.0 s0/0`
```console
Router(config)#ip route 192.168.1.0 255.255.255.0 s0/0
```
上面的命令行告诉路由器将目的为`192.168.1.10`网络的流量,从串行接口发出。而下面的命令则是告诉路由器将所有网络的所有流量,都从串行接口发出。
```
```console
Router(config)#ip route 0.0.0.0 0.0.0.0 s0/0
```
@ -81,7 +83,7 @@ Router(config)#ip route 0.0.0.0 0.0.0.0 s0/0
以下的配置示例,演示了如何来配置`3`条静态IPv6路由。第一条路由到子网`3FFF:1234:ABCD:0001::/64`, 会将流量从`FastEthernet0/0`转发出去。此路由仅用于单播流量的转发。第二条路由,到子网`3FFF:1234:ABCD:0002::/64`, 会将到那个子网的数据包从`Serial0/0`使用下一跳路由器的数据链路层地址作为IPv6的下一跳地址转发出去。本条路由仅会用于多播流量。最后同样配置了一条指向`Serial0/1`作为出口接口的默认路由。此默认路由将会通过`Serial0/1`, 使用下一跳路由器的本地链路地址作为IPv6下一跳地址转发那些到未知IPv6目的地址的数据包。这些路由如下面所示。
```
```console
R1(config)#ipv6 route 3FFF:1234:ABCD:0001::/64 Fa0/0 unicast
R1(config)#ipv6 route 3FFF:1234:ABCD:0002::/64 Se0/0 FE80::2222 multicast
R1(config)#ipv6 route ::/0 Serial0/1 FE80::3333
@ -89,7 +91,7 @@ R1(config)#ipv6 route ::/0 Serial0/1 FE80::3333
依此配置,命令`show ipv6 route`可用于验证在本地路由器上应用的静态路由配置,如下所示。
```
```console
R1#show ipv6 route static
IPv6 Routing Table - 13 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
@ -107,7 +109,7 @@ S 3FFF:1234:ABCD:2::/64 [1/0]
除了使用`show ipv6 route`命令外,命令`show ipv6 static [prefix] [detail]`也可一用来对所有或仅是某条特定静态路由的细节信息进行查看。下面输出演示了如何使用这个命令。
```
```console
R1#show ipv6 static 3FFF:1234:ABCD:1::/64 detail
IPv6 static routes
Code: * - installed in RIB
@ -158,7 +160,7 @@ Code: * - installed in RIB
2. 通过串行链路进行`ping`操作,以确保该链路是工作的。
3. 在`Router A`上指定一条静态路由,将到`10.1.1.0/10`网络的所有流量,从串行接口发送出去。当然要使用你自己的串行端口编号;不要只是拷贝我的配置,你的接口有不同编号!
```
```console
RouterA(config)#ip route 10.0.0.0 255.192.0.0 Serial0/1/0
RouterA(config)#exit
RouterA#ping 10.1.1.1
@ -194,7 +196,7 @@ RouterA#
4. 在`Router B`上配置一条静态路由,将到`172.16.1.0/24`网络的所有流量,发到下一跳地址`192.168.1.1`。
```
```console
RouterB(config)#ip route 172.16.1.0 255.255.255.0 192.168.1.1
RouterB(config)#exit
RouterB#ping 172.16.1.1

View File

@ -119,7 +119,7 @@ OSPF骨干区域从ABRs接收到汇总路由信息。该路由信息被散布到
思科IOS软件中非广播类型网络上开启了OSPF的路由器默认每`30`秒发出`Hello`数据包。若`4`个`Hello`间隔,也就是`120`秒中都没有收到`Hello`数据包,那么该邻居路由器就被认为是“死了”。下面的输出演示了在一个帧中继串行接口上`show ip ospf interface`命令的输出。
```
```console
R2#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 150.1.1.2/24, Area 0
@ -142,7 +142,7 @@ Serial0/0 is up, line protocol is up
一条点对点连接, 简单来说就是一条两个端点之间的连接。P2P连接的实例包括采用HDLC及PPP封装的物理WAN接口以及FR和ATM的点对点子接口。**OSPF点对点组网类型中不会选举出DR和BDR**。在P2P类型网络上OSPF每`10`秒发出`Hello`数据包。在这些网络上,”死亡“间隔是`Hello`间隔的`4`倍,也就是`40`秒A Point-to-Point(P2P) connection is simply a connection between two endpoints only. Examples of P2P connections include physical WAN interfaces using HDLC and PPP encapsulation, and Frame Relay(FR) and Asynchronous Transfer Mode(ATM) Point-to-Point subinterfaces. No DR or BDR is elected on OSPF Point-to-Point network types. By default, OSPF sends Hello packets out every 10 seconds on P2P network types. The "dead" interval on these network types is four times the Hello interval, which is 40 seconds。下面的输出演示了在一条P2P链路上的`show ip ospf interface`命令的输出。
```
```console
R2#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 150.1.1.2/24, Area 0
@ -163,7 +163,7 @@ Serial0/0 is up, line protocol is up
广播类型网络是指那些原生支持广播和多播流量的网络最常见例子就是以太网。就如同在非广播网络中一样OSPF也会在广播网络上选举一台DR及/或BDR。默认情况下OSPF每隔`10`秒发出`Hello`数据包,而如在`4`倍Hello间隔中没有收到`Hello`数据包,就宣告邻居”死亡“。下面的输出演示了在一个`FastEthernet`接口上`show ip ospf interface`命令的输出。
```
```console
R2#show ip ospf interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
Internet Address 192.168.1.2/24, Area 0
@ -192,7 +192,7 @@ FastEthernet0/0 is up, line protocol is up
下面的输出演示了在一个经手动配置为点对多点网络的帧中继串行接口上的`show ip ospf interface`命令的输出。
```
```console
R2#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 150.1.1.2/24, Area 0
@ -215,7 +215,7 @@ OSPF要求链路上两台路由器组网类型一致一致的意思是两台
思科IOS软件允许通过使用接口配置命令`ip ospf hello-interval <1-65535>`及`ip ospf dead-interval [<1-65535>|minimal]`对默认OSPF `Hello`数据包及死亡计时器进行修改。`ip ospf hell0-interval <1-65535>`命令用于指定`Hello`间隔的秒数。在执行该命令后,软件会自动将死亡间隔配置为所配置的`Hello`包间隔的`4`倍。比如,假定某台路由器做了如下配置。
```
```console
R2(config)#interface Serial0/0
R2(config-if)#ip ospf hello-interval 1
R2(config-if)#exit
@ -223,7 +223,7 @@ R2(config-if)#exit
通过在上面的`R2`上将`Hello`数据包间隔设置为`1`, 思科IOS软件就会自动的将默认死亡计时器调整为`Hello`间隔的`4`倍,就是`4`秒。下面的输出对此进行了演示。
```
```console
R2#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 10.0.2.4/24, Area 2
@ -257,7 +257,7 @@ OSPF进程号是一个`1`与`65535`之间的整数。每个OSPF进程都维护
作为一个例子,看看下面的所有接口都关闭的路由器。
```
```console
R3#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES manual administratively down down
@ -267,14 +267,14 @@ Serial0/1 unassigned YES unset administratively down down
接着,使用全局配置命令`router ospf [process id]`在该路由器上开启了OSPF 如下面输出所示。
```
```console
R3(config)#router ospf 1
R3(config-router)#exit
```
基于此配置思科IOS软件分配给该进程一个默认`0.0.0.0`的路由器ID如下面`show ip protocols`命令的输出所示。
```
```console
R3#show ip protocols
Routing Protocol is “ospf 1”
Outgoing update filter list for all interfaces is not set
@ -332,7 +332,7 @@ R3#show ip ospf 1
就像前面指出的那样,在执行了`network [network] [wildcard] area [area id]`命令后,路由器匹配最具体的网络条目(最小的网络),来决定该接口应分配到的区域。对于在路由器上的网络配置语句及已配置的接口,命令`show ip ospf interface brief`会显示出这些接口都分配给了以下OSPF区域。
```
```console
R1#show ip ospf interface brief
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Lo4 1 0 10.2.0.1/32 1 LOOP 0/0
@ -366,7 +366,7 @@ Lo3 1 3 10.1.1.1/32 1 LOOP 0/0
在下面的路由器上,给`Loopback0`配置了IP地址`1.1.1.1/32`, 给`F0/0`配置了`2.2.2.2/24`。接着在路由器上给所有接口配置了OSPF。
```
```console
Router(config-if)#router ospf 1
Router(config-router)#net 0.0.0.0 255.255.255.255 area 0
Router(config-router)#end
@ -390,7 +390,7 @@ Routing Protocol is “ospf 1”
但又想要将路由器ID硬编码hard code为`10.10.10.1`。那么可通过再配置一个使用该IP地址的环回接口或简单地将这个IP地址加在OSPF路由器ID处。**为令到改变生效必须重启路由器或在路由器上清除该IP OSPF进程**(清除现有数据库)。
```
```console
Router#conf t
Enter configuration commands, one per line.
End with CNTL/Z.
@ -427,7 +427,7 @@ Distance: (default is 110)
被动接口配置在OSPF和EIGRP中的工作方式是一样的也就是一旦某接口被标记为被动接口经由该接口形成的所有邻居关系都会被拆除同时 **再也不会通过该接口发送或接收`Hello`数据包了**。不过,根据路由器上所配置的网络配置语句,该接口仍然会继续受通告。
```
```console
Router(config)#router ospf 10
Router(config-router)#passive-interface f0/0
Router#show ip ospf int f0/0
@ -480,7 +480,7 @@ FastEthernet0/0 is up, line protocol is up
**`R1`:**
```
```console
router ospf 1
router-id 1.1.1.1
network 10.10.10.0 0.0.0.255 area 0
@ -489,7 +489,7 @@ network 11.11.11.1 0.0.0.0 area 0
**`R2`:**
```
```console
router ospf 1
router-id 2.2.2.2
network 10.10.10.0 0.0.0.255 area 0

View File

@ -58,7 +58,7 @@
> **注意:** 当在NBMA传输技术上配置OSPFv3时应该使用本地链路地址来创建出静态FR地图声明语句static Frame Relay map statements。这是因为正是使用本地链路地址而不是全球单播地址建立邻接关系。比如为给一个FR部署创建一幅静态FR地图语句并指定一台OSPF邻居路由器就要在该路由器上应用下面的配置在ICND2部分将对FR进行讲解
```
```console
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 1.1.1.1
@ -89,7 +89,7 @@ R1(config-if)#exit
依之间所讲到的顺序配置步骤,照下面这样,在路由器`R1`上就会配置上OSPFv3。
```
```console
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 1.1.1.1
@ -103,7 +103,7 @@ R1(config-if)#exit
而按照同样顺序的步骤,像下面这样在路由器`R3`上配置好OSPFv3路由。
```
```console
R3(config)#ipv6 unicast-routing
R3(config)#ipv6 router ospf 3
R3(config-rtr)#router-id 3.3.3.3
@ -122,7 +122,7 @@ R3(config-if)#exit
依据上述两台路由器上OSPFv3的配置就可以使用命令`show ipv6 ospf neighbor`, 来检查OSPFv3的邻接状态在`R1`上如下所示。
```
```console
R1#show ipv6 ospf neighbor
Neighbor ID Pri State Dead Time Interface ID Interface
3.3.3.3 1 FULL/BDR 00:00:36 4 FastEthernet0/0
@ -130,7 +130,7 @@ Neighbor ID Pri State Dead Time Interface ID Interface
通过将`[detail]`关键字追加到本命令的后面,还可以查看详细的邻居信息。
```
```console
R1#show ipv6 ospf neighbor detail
Neighbor 3.3.3.3
In the area 0 via interface FastEthernet0/0
@ -184,7 +184,7 @@ Neighbor 3.3.3.3
**R1:**
```
```console
ipv6 router ospf 1
router-id 1.1.1.1
int fa0/0(或特定接口编号)
@ -195,7 +195,7 @@ ipv6 ospf 1 area 0
**R2:**
```
```console
ipv6 router ospf 1
router-id 2.2.2.2
int fa0/0(或特定接口编号)

View File

@ -183,7 +183,7 @@ DHCP提供了`256`选项值,其中仅`254`个是可用的,因为`0`是垫底
第一步就是在路由器上开启DHCP服务。这是通过使用`service dhcp`命令完成的如下面所示as exemplified below
```
```console
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#service dhcp
@ -191,7 +191,7 @@ Router(config)#service dhcp
下一步就是创建一个DHCP池该DHCP池定义出将分配给客户端的IP地址池。在本例中名为`SUBNET_A`的池将提供来自范围`192.168.1.0/24`的IP地址。
```
```console
Router(config)#ip dhcp pool SUBNET_A
Router(dhcp-config)#network 192.168.1.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.1.1
@ -209,14 +209,14 @@ Router(dhcp-config)#lease 30
在需要时,也可以配置一些从`192.168.1.0/24`范围中排除的地址。我们就说要排除路由器接口IP地址`192.168.1.1`)及`192.168.1.250`到`192.168.1.255`地址范围,从该范围就可手动为网络中的服务器分配地址。这是通过下面的配置完成的。
```
```console
Router(config)#ip dhcp excluded-address 192.168.1.1
Router(config)#ip dhcp excluded-address 192.168.1.250 192.168.1.255
```
可使用下面的命令来查看当前由该路由器DHCP服务器所服务的客户端。
```
```console
Router#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type Hardware address/
@ -233,20 +233,20 @@ IP address Client-ID/ Lease expiration Type Hardware address/
将一个路由器接口配置为DHCP客户端的命令如下。
```
```console
Router(config)#int FastEthernet0/0
Router(config-if)#ip address dhcp
```
一旦某台DHCP服务器分配了一个IP地址在路由器控制台上就可以看到下面的通知消息该消息包含了地址和掩码
```
```console
*Mar 1 00:29:15.779: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 10.10.10.2, mask 255.255.255.0, hostname Router
```
使用命令`show ip interface brief`就可以观察到该DHCP分配方式。
```
```console
Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 10.10.10.2 YES DHCP up up
@ -315,7 +315,7 @@ DHCP分配过程的最后数据包就是由服务器发出的DCHP确认数据包
同样可以使用下面的`debug`命令作为排错过程中的部分。
```
```console
debug ip dhcp server events
debug ip dhcp server packet
```
@ -336,7 +336,7 @@ DNS将主机名映射到IP地址而不是反过来。这就允许你在web
也可以将某个主机名设置到路由器上的一个IP地址表中来节省时间或是令到更易于记住要`ping`的或是连接到的哪台设备,如下面的输出所示。
```
```console
Router(config)#ip host R2 192.168.1.2
Router(config)#ip host R3 192.168.1.3
Router(config)#exit
@ -404,7 +404,7 @@ Router#pinging 192.168.1.2
3. 配置DHCP地址池。接着为地址配置一个`3`天`3`小时`5`分的租期。最后将`1`到`10`的地址排除在分配给主机的地址之外。假设这些地址已为其它服务器或接口使用。
```
```console
Router#conf t
Router(config)#ip dhcp pool 60days
Router(dhcp-config)#network 172.16.0.0 255.255.0.0
@ -416,7 +416,7 @@ Router(config)#
4. 执行一个`ipconfig /all`命令查看是否有IP地址分配到PC。如旧地址仍在使用就需要执行一下`ipconfig /renew`命令。
```
```console
PC>ipconfig /all
Physical Address................: 0001.C7DD.CB19
IP Address......................: 172.16.0.1
@ -427,7 +427,7 @@ DNS Servers.....................: 0.0.0.0
5. 如想要的话可回到DHCP地址池配置模式DHCP Pool Configuration mode加入一个默认网关及DNS服务器地址它们也将在主机PC上得到设置。
```
```console
Router(config)#ip dhcp pool 60days
Router(dhcp-config)#default-router 172.16.1.2
Router(dhcp-config)#dns-server 172.16.1.3

View File

@ -243,7 +243,7 @@ PoE LED只有在Catalyst 2960交换机型号上才能找到。
下面是在一个GigabitEthernet交换端口上的`show interfaces`命令的输出。
```
```console
Catalyst-3750-1#show interfaces GigabitEthernet3/0/1
GigabitEthernet0/1 is up, line protocol is down (notconnect)
Hardware is GigabitEthernet, address is 000f.2303.2db1 (bia 000f.2303.2db1)
@ -296,7 +296,7 @@ Output queue: 0/40 (size/max)
除了`show interfaces`命令,命令`show interfaces [name] counters errors`也可以用来查看接口错误及促进一层的排错。下面就是命令`show interface [name] counters errors`打印出的输出。
```
```console
Catalyst-3750-1#show interfaces GigabitEthernet3/0/1 counters errors
Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize
Gi3/0/1 0 0 0 0 0
@ -320,7 +320,7 @@ Gi3/0/1 0
不同的`collisions`字段表示接口上的冲突。接口上的冲突通常发生在半双工以太网上,而这在现代网络中几乎是不存在的。因此,这些计数器对于全双工链路不应增长。如果这些计数器下出现了非零数值,那么通常表明存在全双工不匹配故障。当探测到全双工不匹配时,交换机会在控制台或日志中打印出类似于下面的消息。
```
```console
%CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on FastEthernet0/1 (not full duplex), with R2 FastEthernet0/0 (full duplex)
```
@ -336,7 +336,7 @@ Gi3/0/1 0
类似与`show interfaces`及`show interfaces <name> counters errors`命令所提供的信息,命令`show controllers ethernet-controller <interface>`也可以用来现实流量计数及错误计数信息。`show controllers ethernet-controllers <interface>`命令的输出如下所示。
```
```console
Catalyst-3750-1#show controllers ethernet-controller GigabitEthernet3/0/1
Transmit GigabitEthernet3/0/1 Receive
4069327795 Bytes 3301740741 Bytes
@ -460,7 +460,7 @@ Transmit GigabitEthernet3/0/1 Receive
该命令的输出还包括了封装错误数而封装错误数可用于检查802.1Q和ISL以及中继封装不匹配数目如下面的输出所示。
```
```console
Cat-3550-1#show interfaces FastEthernet0/12 counters trunk
Port TrunkFramesTx TrunkFramesRx WrongEncap
Fa0/12 1696 32257 0
@ -470,7 +470,7 @@ Fa0/12 1696 32257 0
用于对可能的二层错误配置进行排错的另一个命令,就是`show interfaces [name] trunk`。该命令的输出包含了中继封装协议及模式、802.1Q的原生VLAN、允许通过中继链路VLANs、VTP域中活动的VLANs以及被修剪掉的VLANsthe output of `show interfaces [name] trunk` includes the trunking encapsulation protocol and mode, the native VLAN for 802.1Q, the VLANs that are allowed to traverse the trunk, the VLANs that are active in the VTP domain, and the VLANs that are pruned。**一个VLAN传播的常见问题就是上游交换机已通过使用接口配置命令`switchport trunk allowed vlan`被配置为对某些VLANs进行过滤。**命令`show interfaces [name] trunk`的输出如下所示。
```
```console
Cat-3550-1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/12 desirable n-802.1q trunking 1
@ -496,7 +496,7 @@ Fa0/15 none
**另一个常见中继错误配置故障就是原生VLAN不匹配。**在配置802.1Q中继链路时中继链路两端的原生VLAN必须匹配否则该链路便不会工作。如存在原生VLAN不匹配STP就会将该端口置为端口VLAN ID不一致状态a port VLAN ID(PVID) inconsistent state且不会在该链路上进行转发。在此情况下将有类似于下面的消息在控制台或日志中打印出来。
```
```console
*Mar 1 03:16:43.935: %SPANTREE-2-RECV_PVID_ERR: Received BPDU with inconsistent peer vlan id 1 on FastEthernet0/11 VLAN2.
*Mar 1 03:16:43.935: %SPANTREE-2-BLOCK_PVID_PEER: Blocking FastEthernet0/11 on VLAN0001. Inconsistent peer vlan.
*Mar 1 03:16:43.935: %SPANTREE-2-BLOCK_PVID_LOCAL: Blocking FastEthernet0/11 on VLAN0002. Inconsistent local vlan.
@ -507,7 +507,7 @@ Fa0/15 none
尽管STP排错将在本书后面进行讲解该不一致状态仍可通过使用`show spanning-tree`命令进行查证,如下面所示。
```
```console
Cat-3550-1#show spanning-tree interface FastEthernet0/11
Vlan Role Sts Cost Prio.Nbr Type
------------------- ---- --- -------- -------- ----------------
@ -517,7 +517,7 @@ VLAN0002 Desg BKN* 19 128.11 P2p *PVID_Inc
如已经查明该中继链路确实是正确配置及两台交换机间是可运作的接下来就应对VTP配置参数进行检查了。这些参数包括VTP域名、正确的VTP模式及VTP口令如对该VTP域配置了某个参数就要使用相应的`show vtp status`及`show vtp password`命令。`show vtp status`命令的输出如下所示。
```
```console
Cat-3550-1#show vtp status
VTP Version : running VTP2
Configuration Revision : 0
@ -541,7 +541,7 @@ VTP客户端/服务器clinet/server或服务器/服务器(server/server)
最后,`show vtp status`命令的输出也包含了用于认证目的的MD5散列值。该散列值是从VTP域名称和密码生成的域中所有交换机上的该散列值应是一致的。而如在这些交换机上的域名称和密码不同则计算出的MD5也会不同。而如域名称或密码不同那么`show vtp status`命令就会示出一条MD5摘要校验和不匹配an MD5 digest checksum mismatch消息如下面的输出所示。
```
```console
Cat-3550-1#show vtp status
VTP Version : running VTP2
Configuration Revision : 0
@ -591,7 +591,7 @@ MD5 Digest : 0x26 0x99 0xB7 0x93 0xBE 0xDA 0x76 0x9C
除了VTP修剪外交换机中继链路上对VLANs的不正确过滤也可能导致端到端VLAN连通性的丢失。**默认允许所有VLANs通过所有中继链路**但是思科IOS软件允许管理员通过使用接口配置命令`switchport trunk allowed vlan`在指定中继链路上选择性地移除或加入VLANs。可以使用命令`show interfaces [name] trunk`及`show interfaces [name] switchport`来查看中继链路上被修剪和限制的VLANs。作为检查某个中继端口上放行VLANs最容易的方式命令`show interfaces [name] trunk`的输出如下所示。
```
```console
Cat-3550-1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/1 on 802.1q trunking 1
@ -624,7 +624,7 @@ Fa0/2 1,40,50,60,70,80,90,254
在某个已被静态配置为802.1Q中继链路端口上的`show interfaces [name] switchport`命令的输出如下所示。
```
```console
Cat-3550-2#show interfaces FastEthernet0/7 switchport
Name: Fa0/7
Switchport: Enabled
@ -664,7 +664,7 @@ Appliance trust: none
除了在前面几个小节中介绍的那些命令外还有一些用于对VLAN配置进行检查和排错的有用思科IOS软件的命令。最常用到的VLAN检查和排错命令之一就是`show vlan`命令了。该命令显示管理域内所有VLANs的参数如下面的输出所示。
```
```console
Cat-3550-1#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
@ -712,7 +712,7 @@ Primary Secondary Type Ports
该命令打印出所有可用的VLANs以及所分配到每个单独VLANs的那些端口。该命令的输出所包含的端口仅是接入端口且不管这些端口是否开启或宕掉都会显示出来。该命令输出不包括中继链路因为这些输出属于所有所有VLANs。`show vlan`命令还提供了RSPAN(Remote Switch Port ANalyser, 远程交换机端口分析器) VLANs, 以及交换机上私有VLANPrivate VLAN, PVLAN 这是一个CCNP考点的信息。`show vlan`命令还可以带上一些额外关键字来使用,以提供更具体的信息。下面的输出显示了可与该命令一起使用的所支持的附加关键字。
```
```console
Cat-3550-1#show vlan ?
brief VTP all VLAN status in brief
id VTP VLAN status by VLAN id
@ -726,7 +726,7 @@ summary VLAN summary information
`brief`字段打印所有活动VLANs的简要信息。此命令的输出与上面的相同唯一的区别就是省掉了后两个部分。`id`字段提供了和`show vlan`一样的信息但如下面的输出所示只包含特定VLAN的信息。
```
```console
Switch-1#show vlan id 150
VLAN Name Status Ports
---- -------------------------------- --------- --------------------
@ -759,7 +759,7 @@ VLAN与属于该VLAN的接入端口一样再度包含在了输出中。中继
另一个有用的VLAN排错命令就是`show vtp counters`。该命令打印有关VTP数据包统计的信息。以下是在某台配置为VTP服务器的交换机上`show vtp counters`的输出。
```
```console
Cat-3550-1#show vtp counters
VTP statistics:
Summary advertisements received : 15

View File

@ -255,7 +255,7 @@ BPDUs都是每两秒发出的此特性允许实现快速的网络循环探测
**桥优先级是该交换机相对于其它交换机的优先级。**桥优先级取值范围是0到65535。思科Catalyst交换机的默认值为32768。
```
```console
Switch2#show spanning-tree vlan 2
VLAN0002
@ -313,14 +313,14 @@ Fa0/2 128.2 19 FWD 19 32770 0008.21a9.4f80 128.2
- 可以手动设置优先级
```
```console
Switch(config)#spanning-tree vlan 2 priority ?
<0-61440> bridge priority in increments of 4096
```
- 或者使用宏命令`primary`或`secondary`将其设置为根桥
```
```console
Switch(config)#spanning-tree vlan 2 root ?
primary Configure this switch as primary root for this spanning tree
secondary Configure switch as secondary root
@ -330,7 +330,7 @@ Switch(config)#spanning-tree vlan 2 root ?
*图31.6 -- 强制某台交换机成为根桥*
```
```console
SwitchC#show spanning-tree vlan 5
VLAN0005
Spanning tree enabled protocol ieee
@ -354,7 +354,7 @@ Bridge ID Priority 4096 (priority 8192 sys-id-ext 5)
注意到VLAN编号通常会被加到优先级数字上如下面的输出展示的那样。
```
```console
SwitchA#show spanning-tree vlan 5
Bridge ID Priority 32773 (priority 32768 sys-id-ext 5)
Address 0013.c3e8.2500
@ -394,7 +394,7 @@ Fa0/18 Desg FWD 19 128.18 P2
在思科IOS Catalyst交换机中可通过执行`show spanning-tree interface [name]`查看默认端口开销值如下面的输出中演示的那样该输出展示了一个FastEthernet接口的默认短整数端口开销。
```
```console
VTP-Server#show spanning-tree interface FastEthernet0/2
Vlan Role Sts Cost Prio.Nbr Type
@ -404,7 +404,7 @@ VLAN0050 Desg FWD 19 128.2 P2p
下面的输出显示了同样的长整数端口开销分配the following output shows the same for long port cost assignment
```
```console
VTP-Server#show spanning-tree interface FastEthernet0/2
Vlan Role Sts Cost Prio.Nbr Type
@ -718,11 +718,13 @@ STP故障通常有以下三类STP issues usually fall within the following th
1. 设置各台交换机的主机名并将其用交叉线连接起来。此时可以检查它们之间的接口是否被设置到“trunk”中继。
`Switch#show interface trunk`
```console
Switch#show interface trunk
```
2. 在将一侧设置为中继链路之前,可能看不到中继链路变成活动的。
```
```console
SwitchB#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SwitchB(config)#int FastEthernet0/1
@ -739,7 +741,7 @@ Fa0/1 1
3. 将看到另一交换机是留作自动模式的。
```
```console
SwitchA#show int trunk
Port Mode Encapsulation Status Native vlan
Fa0/1 auto n-802.1q trunking 1
@ -751,7 +753,7 @@ Fa0/1 1
4. 在每台交换机上创建出两个VLANs。
```
```console
SwitchA#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SwitchA(config)#vlan 2
@ -780,7 +782,7 @@ VLAN Name Status Ports
5. 确定哪台交换机是VLANs 2和3的根桥。
```
```console
SwitchB#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol ieee
@ -800,7 +802,7 @@ Fa0/1 Desg FWD 19 128.1 P2p
可以看到Switch B是根。在交换机A上完成同样的命令并对VLAN 3进行检查。优先级是32768加上VLAN编号这里就是2.最低MAC地址将确定出根桥。
```
```console
SwitchB#show spanning-tree vlan 3
VLAN0003
Spanning tree enabled protocol ieee
@ -821,7 +823,7 @@ Fa0/1 Desg FWD 19 128.1 P2p
6. 将另一个交换机设置为VLANs 2和3的根桥。对VLAN 2使用命令`spanning-tree vlan 2 priority 4096`以及对VLAN 3的`spanning-tree vlan 3 root primary`命令。
```
```console
SwitchA(config)#spanning-tree vlan 2 priority 4096
SwitchA(config)#spanning-tree vlan 3 root primary
SwitchA#show spanning-tree vlan 2

View File

@ -10,7 +10,7 @@
- 复习昨天的课文
- 完成今天的实验
- 阅读ICND2记诵指南
- 在网站[http://subnetting.org/](subnetting.org)
- 在网站 [http://subnetting.org/](subnetting.org)
IEEE 802.1D标准是在连通性从失去到恢复需要一分钟左右就被认为性能已经可观的时期设计出来的。在IEEE 802.1D STP下恢复大约需要50秒这其中包括20秒的最大老化计时器the Max Age timer超时以及额外的给端口从阻塞状态过渡到转发状态的30秒。
@ -86,7 +86,7 @@ RSTP包含了以下的端口角色。
RSTP的配置只需一个命令
```
```console
Switch(config)#spanning-tree mode rapid-pvst
Switch#show spanning-tree summary
Switch is in rapid-pvst mode
@ -133,7 +133,7 @@ Root bridge for: VLAN0050, VLAN0060, VLAN0070
1. 检查交换机上的生成树模式。
```
```console
SwitchA#show spanning-tree summary
Switch is in pvst mode
Root bridge for: VLAN0002 VLAN0003
@ -141,7 +141,7 @@ Root bridge for: VLAN0002 VLAN0003
2. 将模式改为RSTP并再度检查。
```
```console
SwitchA(config)#spanning-tree mode rapid-pvst
SwitchA#show spanning-tree summary
Switch is in rapid-pvst mode

View File

@ -102,7 +102,7 @@ PAgP支持不同端口模式而这些端口模式则决定在两台支持PAgP
在以太网通道捆绑an EtherChannel bundle被配置成一个中继端口时该中继就在编号最低的VLAN上发送和接收PAgP数据帧。**生成树协议总是选择以太网通道捆绑中的第一个可运作端口**when an EtherChannel bundle is configured as a trunk port, the trunk sends and receives PAgP frames on the lowest numbered VLAN. Spanning Tree Protocol(STP) always chooses the first operational port in an EtherChannel bundle。命令`show pagp [channel number] neighbor`同样可用于验证将会用于STP数据包发送和接收的端口确定出以太网通道捆绑中STP将使用的端口如下面的输出所示。
```
```console
Switch-1#show pagp neighbor
Flags: S - Device is sending Slow hello. C - Device is in Consistent state.
A - Device is in Auto mode. P - Device learns on physical port.
@ -116,7 +116,7 @@ Fa0/3 Switch-2 0014.a9e5.d640 Fa0/3 15s SC 10001
根据上面的输出STP将在端口`FastEthernet0/1`上发出其协议数据包因为该端口是第一个可运作接口。而如那个端口失效STP将在`FastEthernet0/2`上发出其协议数据包。而由PAgP所使用的默认端口则可由`show EtherChannel summary`命令进行查看,如下面的输出所示。
```
```console
Switch-1#show EtherChannel summary
Flags: D - down
I - stand-alone
@ -259,7 +259,7 @@ LACP主动模式将一个交换机端口置为经由发送LACP数据包对远
下面的输出演示了如何在Switch 1及Switch 2上基于图33.5中所描述的网络拓扑配置无条件通道操作。该以太网通道将配置成一个使用默认参数的二层802.1Q中继。
```
```console
Switch-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch-1(config)#interface range fa0/1 3
@ -275,7 +275,7 @@ Switch-1(config)#exit
>**注意:**注意到该交换机自动默认创建出`interface port-channel 1`(根据下面的输出)。**没有要配置该接口的显式用户配置**notice that the switch automatically creates `interface port-channel 1` by default(refer to the output below). No explicit user configurtion is required to configure this interface
```
```console
Switch-2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch-2(config)#interface range fa0/1 - 3
@ -290,7 +290,7 @@ Switch-2(config)#exit
命令`show EtherChannel [options]`此时即可用于验证该以太网通道的配置。下面的输出中打印了可用选项(依据不同平台会有不同)。
```
```console
Switch-2#show EtherChannel ?
<1-6> Channel group number
detail Detail information
@ -305,7 +305,7 @@ Switch-2#show EtherChannel ?
下面的输出对命令`show EtherChannel summary`进行了演示。
```
```console
Switch-2#show EtherChannel summary
Flags: D - down
I - stand-alone
@ -327,7 +327,7 @@ Group Port-channel Protocol Ports
在上面的输出中可以看到在通道组1Channel Group 1中有三条链路。接口FastEthernet0/1是默认端口**该端口将用于发送比如的STP数据包**。如果该端口失效FastEthernet0/2就将被指定为默认端口如此延续this port will be used to send STP pakcets, for example. If this port fails, FastEthernet0/2 will be designated as the default port, and so forth。同时通过看看`Po1`后面的`SU`标志,还可以看到该端口组是一个活动的二层以太网通道。下面的输出现实了由`show EtherChannel detail`命令所打印出的信息。
```
```console
Switch-2#show EtherChannel detail
Channel-group listing:
----------------------
@ -385,7 +385,7 @@ Time since last port bundled: 0d:00h:21m:20s Fa0/3
最后,还可通过执行命令`show interfaces port-channel [number] switchport`, 对该逻辑的端口通道接口the logical port-channel interface的二层运作状态进行查看。这在下面的输出中有所演示。
```
```console
Switch-2#show interfaces port-channel 1 switchport
Name: Po1
Switchport: Enabled
@ -425,7 +425,7 @@ Appliance trust: none
下面的输出演示了如何在基于上面的图33.5中所给出的网络拓扑的Switch 1和Switch 2上配置PAgP的通道PAgP channelling。该以太网通道将被配置为使用默认参数的二层802.1Q中继。
```
```console
Switch-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch-1(config)#interface range fa0/1 - 3
@ -441,7 +441,7 @@ Switch-1(config-if-range)#exit
在此示例中在一个连接到一台安静相邻设备的物理端口上运行PAgP阻止了那个交换机端口成为运作端口但是该安静设置允许PAgP运行从而将该接口加入到一个通道组同时利用该接口进行传输。在本例中因为Switch 2将被配置为`auto`模式(被动模式), 该端口采用默认的安静模式运作就是首先的了In this case, running PAgP on a physical port connected to a silent partner prevents that switch port from ever becoming operational; however, the silent setting allows PAgP to operate, to attatch the interface to a channel group, and to use the interface for transmission. In this example, because Switch 2 will be configured for auto mode(passive mode), it is preferred that the port uses the default silent mode operation。这在下面的PAgP以太网通道配置中进行了演示。
```
```console
Switch-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch-1(config)#interface range fa0/1 - 3
@ -458,7 +458,7 @@ Switch-1(config-if-range)#exit
继续进行PAgP以太网通道的配置则Switch 2被配置为以下这样。
```
```console
Switch-2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch-2(config)#int range fa0/1 - 3
@ -472,7 +472,7 @@ Switch-2(config-if-range)#exit
以下输出演示了怎样通过在Switch 1及Switch 2上使用命令`show EtherChannel summary`验证该PAgP以太网通道的配置。
```
```console
Switch-1#show EtherChannel summary
Flags: D - down
I - stand-alone
@ -493,7 +493,7 @@ Group Port-channel Protocol Ports
还可以通过执行命令`show pagp [options]`, 查看到PAgP以太网通道的配置及统计数据。下面的输出演示了此命令下可用的选项。
```
```console
Switch-1#show pagp ?
<1-6> Channel group number
counters Traffic information
@ -503,7 +503,7 @@ Switch-1#show pagp ?
>**注意:**对需要的端口通道编号的进入,提供上面所打印出的后三个选项。这在下面的输出中进行了演示。
```
```console
Switch-1#show pagp 1 ?
counters Traffic information
internal Internal information
@ -512,7 +512,7 @@ Switch-1#show pagp 1 ?
关键字`[counters]`提供了有关PAgP发出及接收到的数据包的信息。关键字`[internal]`提供了诸如端口状态、Hello间隔时间、PAgP端口优先级以及端口学习方式等的信息。下面的输出对命令`show pagp internal`的使用进行了演示。
```
```console
Switch-1#show pagp 1 internal
Flags: S - Device is sending Slow hello. C - Device is in Consistent state.
A - Device is in Auto mode. d - PAgP is down.
@ -528,7 +528,7 @@ Fa0/3 SC U6/S7 H 30s 1 128 Any 29
关键字`[neighbor]`打印出邻居名称、PAgP邻居的ID、邻居设备IDMAC以及邻居端口。同时在比如邻居是一台物理学习设备时a physical learner,这些标志同样表明了邻居运行的模式。下面的输出对命令`show pagp neighbor`的使用,进行了演示。
```
```console
Switch-1#show pagp 1 neighbor
Flags: S - Device is sending Slow hello. C - Device is in Consistent state.
A - Device is in Auto mode. P - Device learns on physical port.
@ -555,7 +555,7 @@ Fa0/3 Switch-2 0014.a9e5.d640 Fa0/3 18s SAC 10001
下面的输出对在Switch 1和Switch 2上如何配置基于图33.5中所给出的网络拓扑的LACP通道进行了演示该以太网通道将被配置为一个使用默认参数的二层802.1Q中继,如下面的输出所示。
```
```console
Switch-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch-1(config)#int range FastEthernet0/1 - 3
@ -580,7 +580,7 @@ Switch-2(config-if-range)#exit
下面的输出演示了如何通过在Switch 1及Switch 2上执行`show EtherChannel summary`命令来对该LACP以太网通道配置进行验证。
```
```console
Switch-1#show EtherChannel summary
Flags: D - down
I - stand-alone
@ -602,7 +602,7 @@ Group Port-channel Protocol Ports
默认LACP允许最多16个端口进入到一个端口通道组中by default, LACP allows up to 16 ports to be entered into a port channel group。前8个运作接口将为LACP所使用而剩下的8个接口将被置为热备份状态。命令`show EtherChannel detail`显示出一个LACP以太网通道中所支持的链路最大数量如下面的输出所示。
```
```console
Switch-1#show EtherChannel 1 detail
Group state = L2
Ports: 3 Maxports = 16
@ -694,7 +694,7 @@ Time since last port Un-bundled: 00d:00h:00m:49s Fa0/1
LACP的配置及统计数据也可以通过执行`show lacp [options]`命令进行查看。此命令可用的选项在下面的输出中进行了演示。
```
```console
Switch-1#show lacp ?
<1-6> Channel group number
counters Traffic information
@ -705,7 +705,7 @@ Switch-1#show lacp ?
`[counters]`关键字提供了有关LACP发出和接收到的数据包的信息。该命令的打印输出如下面所示。
```
```console
Switch-1#show lacp counters
LACPDUs Marker Marker Response LACPDUs
Port Sent Recv Sent Recv Sent Recv Pkts Err
@ -718,7 +718,7 @@ Fa0/3 21 18 0 0 0 0 0
而`[internal]`关键字提供了诸如端口状态、管理密钥adminitrative key、LACP端口优先级以及端口编号等信息。下面的输出对此进行了演示。
```
```console
Switch-1#show lacp internal
Flags: S - Device is sending Slow LACPDUs. F - Device is sending Fast
LACPDUs.
@ -733,7 +733,7 @@ Fa0/3 SA bndl 32768 0x1 0x1 0x2 0x3D
关键字`[neighbor]`打印出邻居名称、LACP邻居的ID、邻居的设备IDMAC以及邻居端口等信息。这些标志还表明邻居运行所处状态以及其是否时一个物理学习设备the flags also indicate the mode the neighbor is operating in, as well as whether it is a physical learner, for example。下面的输出对此进行了演示。
```
```console
Switch-1#show lacp neighbor
Flags: S - Device is sending Slow LACPDUs. F - Device is sending Fast
LACPDUs.
@ -764,7 +764,7 @@ Fa0/3 00001,0014.a9e5.d640 0x3 24s SP
最后,关键字`[sys-id]`提供了本地交换机的系统IDfinally, the `[sys-id]` keyword provides the system ID of the local switch。这是一个该交换机MAC地址和LACP优先级的结合体如下面的输出所示。
```
```console
Switch-1#show lacp sys-id
1 ,000d.bd06.4100
```

View File

@ -176,7 +176,7 @@ HSRP Coup报文实在当前备份路由器打算接过该HSRP组的活动网关
以下输出给出了在一台刚开启HSRP的网关上`debug standby`命令中显示的状态变化:
```
```console
R2#debug standby
HSRP debugging is on
R2#
@ -223,7 +223,7 @@ R2(config-if)#
为解决此问题思科IOS软件允许管理员将HSRP配置为使用其所配置上的物理接口的实际MAC地址。那么结果就是一个单独的MAC地址为所有HSRP组所使用也就是活动网关所使用的MAC地址且在每次往连接到这些交换机上的路由器添加HSRP组的时候无需对端口安全配置进行修改。此操作是通过使用接口配置命令`standby use-bia`命令完成的。下面的输出演示了命令`show standby`该命令给出了一个配置了两个不同HSRP组的网关接口的信息
```
```console
Gateway-1#show standby
FastEthernet0/0 - Group 1
State is Active
@ -254,7 +254,7 @@ FastEthernet0/0 - Group 2
下面的输出演示了如何将HSRP配置为使用该网关接口的实际MAC地址作为不同HSRP分组的虚拟MAC地址
```
```console
Gateway-1#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line. End with CNTL/Z.
@ -265,7 +265,7 @@ Gateway-1(config-if)#exit
基于上面的输出中的配置,命令`show standby`会反应出HSRP组的新MAC地址如下面的输出所示:
```
```console
Gateway-1#show standby
FastEthernet0/0 - Group 1
State is Active
@ -297,7 +297,7 @@ FastEthernet0/0 - Group 2
那么这里两个HSRP组所用的MAC地址都是`0013.1986.0a20`就是分配给物理网关接口的MAC地址了。这在下面的输出中有证实
```
```console
Gateway-1#show interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
Hardware is AmdFE, address is 0013.1986.0a20 (bia 0013.1986.0a20)
@ -391,7 +391,7 @@ HSRP允许管理员在一些物理接口上配置多个HSRP组以实现负载
> 但是为了刷新那些交换机的虚拟MAC地址这些客户组仍然要发送周期性的报文。不过与主组的协议选举报文相比这些刷新报文是以低得多的频率发送的。尽管HSRP客户组的配置是超出CCNA考试要求的下面的输出还是演示两个客户组的配置这两个客户组被配置为跟随主组HSRP `Group 1`, 该主组又被命名为`SWITCH-HSRP`组:
```
```console
Gateway-1(config)#interface vlan100
Gateway-1(config-if)#ip address 192.168.1.1 255.255.255.0
Gateway-1(config-if)#ip address 172.16.31.1 255.255.255.0 secondary
@ -426,7 +426,7 @@ Gateway-1(config-if)#exit
> **注意**:这里假定在`VTP-Server-1`与`VTP-Server-2`之间的VLAN与中继已有配置妥当同时交换机之间可以经由VLAN172 `ping`通。为简短起见,这些配置已在配置示例中省略。
```
```console
VTP-Server-1(config)#interface vlan172
VTP-Server-1(config-if)#ip address 172.16.31.1 255.255.255.0
VTP-Server-1(config-if)#standby 1 ip 172.16.31.254
@ -442,7 +442,7 @@ VTP-Server-2(config-if)#exit
在配置应用后,就可使用`show standby [interface brief]`命令对HSRP的配置进行验证。下面的输出对`show standby brief`命令进行了展示:
```
```console
VTP-Server-1#show standby brief
P indicates configured to preempt.
|
@ -463,14 +463,14 @@ Vl172 1 100 Standby local 172.16.31.1 172.16.31.254
抢占特性令到某台网关在本身比当前活动网关有着更高优先级时,强制性地接过活动网关的角色。使用命令`standby [number] preempt`命令来配置HSRP抢占特性。下面的输出演示了在`VTP-Server-1`上的此项配置:
```
```console
VTP-Server-1(config)#interface vlan172
VTP-Server-1(config-if)#standby 1 preempt
```
这里同样使用命令`show standby [interface [name] |brief]`, 来验证在某个网关上已有配置抢占特性。是通过下面的`show standby brief`命令输出中的“P”字样演示的
```
```console
VTP-Server-1#show standby brief
P indicates configured to preempt.
|
@ -482,14 +482,14 @@ Vl172 1 105 P Active local 172.16.31.2 172.16.31.254
默认下抢占是立即发生的。但可使用接口配置命令`standby [number] preempt delay [minimum|reload|sync]`对此时间间隔进行修改。关键字`[minimum]`用于指定在抢占前等待的最短时间。下面的输出展示了如何配置在抢占前等待30秒钟
```
```console
VTP-Server-1(config)#interface vlan172
VTP-Server-1(config-if)#standby 1 preempt delay minimum 30
```
此配置可使用命令`show standby [interface]`进行验证。下面的输出对此进行了演示:
```
```console
VTP-Server-1#show standby vlan172
Vlan172 - Group 1
State is Active
@ -514,7 +514,7 @@ HSRP接口跟踪特性令到管理员可以将HSRP配置为追踪接口状态
在下面的输出中,`VTP-Server-1`被配置为对连接到假想WAN路由器的接口`Gigabitethernet5/1`的状态,进行跟踪。在那个接口状态转变为`down`时该网关就将其优先级值降低10默认的:
```
```console
VTP-Server-1#show standby vlan172
Vlan172 - Group 1
State is Active
@ -536,14 +536,14 @@ Vlan172 - Group 1
而要将该网关降低值配置为比如50, 就可以执行命令`standby [name] track [interface] [decrement value]`, 如下面的输出所示:
```
```console
VTP-Server-1(config)#interface vlan172
VTP-Server-1(config-if)#standby 1 track GigabitEthernet5/1 50
```
此项配置可使用命令`show standby [interface]`进行验证。下面对此进行了演示:
```
```console
VTP-Server-1#show standby vlan172
Vlan172 - Group 1
State is Active
@ -567,14 +567,14 @@ Vlan172 - Group 1
如同在本课程模块先前指出的那样默认当HSRP开启时是启用的版本1。但可通过接口配置命令`standby version [1|2]`来手动开启HSRP版本2。下面的输出演示了HSRP版本2的配置
```
```console
VTP-Server-1(config)#interface vlan172
VTP-Server-1(config-if)#standby version 2
```
使用命令`show standby [interface]`,可对此配置进行验证。下面的输出对此进行了演示:
```
```console
VTP-Server-1#show standby vlan172
Vlan172 - Group 1 (version 2)
State is Active
@ -688,7 +688,7 @@ VRRP允许以与HSRP类似的方式实现负载均衡。比如在一个于
> **注意**:这里假定在`VTP-Server-1`与`VTP-Server-2`之间的VLAN与中继已有配置妥当同时交换机之间可以经由VLAN192 `ping`通。为简短起见,这些配置已在配置示例中省略。
```
```console
VTP-Server-1(config)#interface vlan192
VTP-Server-1(config-if)#ip address 192.168.1.1 255.255.255.0
VTP-Server-1(config-if)#vrrp 1 ip 192.168.1.254
@ -706,7 +706,7 @@ VTP-Server-2(config-if)#exit
下面还使用命令`show vrrp [all|brief|interface]`, 对此配置进行了验证。关键字`[all]`展示了有关该VRRP配置的所有信息包括了组的状态、描述信息在配置了的情况下、本地网关优先级以及主虚拟路由器和其它信息。关键字`[brief]`则会列印出该VRRP配置的摘要信息。而`[interface]`关键字会列印出特定接口的VRRP信息。下面的输出展示了`show vrrp all`命令的输出:
```
```console
VTP-Server-1#show vrrp all
Vlan192 - Group 1
SWITCH-VRRP-Example
@ -735,7 +735,7 @@ Vlan192 - Group 1
下面的输出展示了由命令`show vrrp brief`所列印出的信息:
```
```console
VTP-Server-1#show vrrp brief
Interface Grp Pri Time Own Pre State Master addr Group addr
Vl192 1 105 3589 Y Master 192.168.1.1 192.168.1.254
@ -752,7 +752,7 @@ Vl192 1 100 3609 Y Backup 192.168.1.1 192.168.1.254
下面的输出展示了如何配置VRRP的跟踪引用了对象1, 该被跟踪对象对`Loopback0`接口的线路协议进行跟踪:
```
```console
VTP-Server-1(config)#track 1 interface Loopback0 line-protocol
VTP-Server-1(config-track)#exit
VTP-Server-1(config)#interface vlan192
@ -762,7 +762,7 @@ VTP-Server-1(config-if)#exit
而下面的输出则展示了如何将VRRP配置为对引用对象2的追踪此被追踪对象追踪了到前缀`1.1.1.1/32`的可达性。一个被追踪的IP路由对象在存在一个该路由的路由表条目时被认为是在线且可达的同时该路由不是无法访问的无法访问就是说有着255的路由度量值, 当发生无法访问时该路由就会从路由信息数据库中被移除a tracked IP route object is considered to be up and reachable when a routing table entry exists for the route and the route is not accessible(i.e., has a route metric of 255)in which case the route is removed from the Routing Information Base(RIB) anyway
```
```console
VTP-Server-1(config)#track 2 ip route 1.1.1.1/32 reachability
VTP-Server-1(config-track)#exit
VTP-Server-1(config)#interface vlan192
@ -771,7 +771,7 @@ VTP-Server-1(config-if)#vrrp 1 track 2
VRRP跟踪的配置是通过使用命令`show vrrp interface [name]`命令进行验证的。下面的输出对此进行了演示:
```
```console
VTP-Server-1#show vrrp interface vlan192
Vlan192 - Group 1
SWITCH-VRRP-Example
@ -791,7 +791,7 @@ Vlan192 - Group 1
而要查看被追踪对象的各项参数,就使用命令`show track [number] [brief] [interface] [ip] [resolution] [timers]`。下面是`show track`命令输出的演示:
```
```console
VTP-Server-1#show track
Track 1
Interface Loopback0 line-protocol
@ -814,7 +814,7 @@ Track 2
命令`debug vrrp`提供给管理员用于查看有关VRRP运作情况实时信息的诸多选项。这些选项如下面的输出所示
```
```console
VTP-Server-1#debug vrrp ?
all Debug all VRRP information
auth VRRP authentication reporting
@ -937,7 +937,7 @@ GLBP的客户端缓存包含了使用到某个GLBP组作为默认网关的那
> **注意**:这里假定在`VTP-Server-1`与`VTP-Server-2`之间的VLAN与中继已有配置妥当同时交换机之间可以经由VLAN192 `ping`通。为简短起见,这些配置已在配置示例中省略。
```
```console
VTP-Server-1(config)#interface vlan192
VTP-Server-1(config-if)#glbp 1 ip 192.168.1.254
VTP-Server-1(config-if)#glbp 1 priority 110
@ -955,7 +955,7 @@ VTP-Server-4(config-if)#exit
一旦该GLBP组已被配置就可使用命令`show glbp brief`来查看该GLBP配置的摘要信息了如同下面的输出所示
```
```console
VTP-Server-1#show glbp brief
Interface Grp Fwd Pri State Address Active router Standby router
Vl192 1 - 110 Active 192.168.1.254 local 192.168.1.4
@ -993,7 +993,7 @@ Vl192 1 4 - Active 0007.b400.0104 local -
命令`show glbp`将有关该GLBP组状态的详细信息打印了出来下面对此命令的输出进行了演示
```
```console
VTP-Server-1#show glbp
Vlan192 - Group 1
State is Active

View File

@ -43,7 +43,7 @@
引导ROMboot ROM-- 是电可擦可编程只读存储器Electrically Erasable Programmable Read-Only Mememory, EEPROM,, 一种掉电后数据不丢失的存储芯片),用于启动图/Rommonstartup diagram/Rommon的存储及IOS的装入。在路由器启动是如缺少IOS文件那么就会启动要一种叫做Rommon的紧急模式an emergency mode此模式下允许输入一些有限的几个命令以对路由器进行恢复及装入其它IOS。此模式又叫做启动模式bootstrap mode在以下两种路由器提示符下就可以明白是在此模式
```
```console
>
Rommon>
```
@ -67,7 +67,7 @@ RxBoot程序 -- 小型的IOSMini-IOS, 在此程序模式下允许上传一
通过命令`show version`,就可以查看到当前的配置寄存器设置:
```
```console
Router#show version
Cisco Internetwork Operating System Software
IOS (tm) 2500 Software (C2500-JS-L), Version 12.1(17), RELEASE SOFTWARE (fc1) Copyright (c) 1986-2002 by Cisco Systems, Inc.
@ -93,14 +93,14 @@ Configuration register is 0x2102
命令还现实了该路由器已在线多长时间及上次重启的原因--在对启动问题进行故障排除时,这些信息是有用的。
```
```console
Router uptime is 12 minutes
System returned to ROM by reload
```
同时改命令将显示处路由器上不同类型的存储器:
```
```console
Router#show version
Cisco Internetwork Operating System Software
IOS (tm) 2500 Software (C2500-IS-L), Version 12.2(4)T1, RELEASE SOFTWARE Copyright (c) 1986-2001 by Cisco Systems, Inc.
@ -132,19 +132,19 @@ Processor board ID 18086064, with hardware revision 00000003
你可以将运行配置拷贝到一台运行了TFTP服务器软件的PC机或服务器上
```
```console
Router#copy startup-config tftp:← You need to include the colon
```
还可以将IOS镜像复制到某台TFTP服务器上。如要将服务器IOS更新到另一较新版本就必须要这么做以防新版本可能带来的问题管理员经常将一个路由器现有闪存装不下的IOS镜像放上去
```
```console
Router#copy flash tftp:
```
路由器将提示输入TFTP服务器的IP地址建议服务器与路由器位处同一子网。而如打算从TFTP服务器下载IOS镜像就只需简单地逆转一下命令即可
```
```console
Router#copy tftp flash:
```
@ -156,7 +156,7 @@ Router#copy tftp flash:
通过`show version`或`show flash`命令, 或者经由`dir flash:`进入到flash目录进入到flash目录将显示出闪存中所有的文件就可以查看到闪存的文件名。
```
```console
RouterA#show flash
System flash directory:
File Length Name/status
@ -175,7 +175,7 @@ File Length Name/status
取决于所要配置的启动选项,命令可能有些许不同。所以要在一台开启的路由器上对所有选项都进行尝试。
```
```console
RouterA(config)#boot system ?
WORD TFTP filename or URL
flash Boot from flash memory
@ -187,13 +187,13 @@ tftp Boot from tftp server
对于闪存来说:
```
```console
RouterA(config)#boot system flash ? WORD System image filename <cr>
```
而对于TFTP
```
```console
Enter configuration commands, one per line. End with CNTL/Z.
RouterB(config)#boot system tftp: c2500-js-l.121-17.bin ? Hostname or A.B.C.D Address from which to download the file <cr>
RouterA(config)#boot system tftp:
@ -252,7 +252,7 @@ RouterA(config)#boot system tftp:
每种型号的思科路由器支持许可证的都已分配了一个叫做唯一设备标识符the unique device identifier, UDI唯一识别编号a unique identifying number。唯一设备标识符是由序列号及产品身份证组成的this is compromised of the serial number(SN) and the product identification(PID))。执行`show license udi`命令,来查看此信息。
```
```console
Router#show license ?
all Show license all information
detail Show license detail information
@ -268,7 +268,7 @@ Device# PID SN UDI
在下面可以看到有哪些特性也被激活。特性`ipbasek9`将总是开启的。
```
```console
Router#show license all
License Store: Primary License Storage
StoreIndex: 0 Feature: ipbasek9 Version: 1.0
@ -295,7 +295,7 @@ StoreIndex: 1 Feature: datak9 Version: 1.0
命令`show license feature`将打印出已开启的特性摘要信息:
```
```console
Router#show license feature
Feature name Enforcement Evaluation Subscription Enabled
ipbasek9 no no no yes
@ -305,7 +305,7 @@ datak9 yes no no no
一旦许可证得到验证就必须通过U盘或网络服务器及在命令行执行`license install [url]`, 将该许可证密钥添加到路由器。需要注意“.lic”这个文件名。
```
```console
Router#dir usbflash0:
Directory of usbflash0:/

File diff suppressed because it is too large Load Diff

View File

@ -46,7 +46,7 @@
非同一子网问题是在尝试建立EIGRP邻居关系时所遇到的最常见故障之一。而在因为子网不一致造成EIGRP无法建立邻居关系时将有下面的消息在控制台上打印出来或是被路由器、交换机所记录Uncommon subnet issues are one of the most common problems experienced when attempting to establish EIGRP neighbour relationships. When EIGRP cannot establish a neighbour relationship because of an uncommon subnet, the following error message will be printed on the console, or will be logged by the router or switch
```
```console
*Mar 2 22:12:46.589 CST: IP-EIGRP(Default-IP-Routing-Table:1): Neighbor 150.1.1.2 not on common subnet for FastEthernet0/0
*Mar 2 22:12:50.977 CST: IP-EIGRP(Default-IP-Routing-Table:1): Neighbor 150.1.1.2 not on common subnet for FastEthernet0/0
```
@ -55,7 +55,7 @@
导致报出上面错误消息的另一常见原因,就是**在尝试建立EIGRP邻居关系时采用的是接口的从地址**(secondary addresses)。解决此类故障的最简单方式同样是对路由器或交换机的配置进行检查。比如假定上面的错误消息是在本地路由器控制台上打印出来的那么故障排除的第一步就是检查配置在接口上的IP地址如下所示
```
```console
R1#show running-config interface FastEthernet0/0
Building configuration...
Current configuration : 140 bytes
@ -69,7 +69,7 @@ end
接着就要验证到有着IP地址`150.1.1.2`的设备上的配置是一致的,如下所示:
```
```console
R2#show running-config interface FastEthernet0/0
Building configuration...
Current configuration : 140 bytes
@ -84,7 +84,7 @@ end
从上面的输出可以看到路由器R1上的主要子网the primary subnet却是本地路由器R2上的第二子网the secondary subnet。在使用从地址时EIGRP是无法建立邻居关系的。该故障的解决方法就是简单地将路由器R2的`Fastethernet0/0`接口的IP分址配置the IP addressing configuration予以更正即可如下所示
```
```console
R2#config terminal
Enter configuration commands, one per line.
End with CNTL/Z.
@ -97,7 +97,7 @@ R2(config-if)#end
而EIGRP的那些K值则是用于给路径的不同方面比如带宽、延迟等可能包含在EIGRP复合度量值中的参数进行权重分配的。这里再度说明一下默认的K值为`K1=K3=1`及`K2=K4=K5=0`。如在某台路由器或交换机上对这些K值进行了修改那么就必须对自治系统中所有其它路由器或交换机上的K值做同样修改。使用`show ip protocols`命令就可查看到默认EIGRP的那些K值如下所示
```
```console
R1#show ip protocols
Routing Protocol is “eigrp 150”
Outgoing update filter list for all interfaces is not set
@ -124,7 +124,7 @@ Routing Protocol is “eigrp 150”
在某台路由器上的K值被重置后那么该本地路由器的所有邻居关系都将被重置。而如果在重置后所有路由器上的这些K值出现不一致那么控制台上将打印出下面的错误消息同时EIGRP邻居关系将不会建立
```
```console
*Oct 20 03:19:14.140 CST: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 150.2.2.1 (FastEthernet0/0) is down: Interface Goodbye received
*Oct 20 03:19:18.732 CST: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 150.2.2.1 (FastEthernet0/0) is down: K-value mismatched
```
@ -135,7 +135,7 @@ Routing Protocol is “eigrp 150”
**配置不当的访问控制清单ACLs与其它过滤器filters同样也是造成路由器建立EIGRP邻居关系失败的常见原因**。这时就要对路由器配置和其它中间设备进行检查以确保EIGRP或多播数据包未被过滤掉。要用到的一个非常有用的故障排除命令就是`show ip eigrp traffic`了。此命令提供了所有EIGRP数据包的统计信息。比如假设这里已经对基本的连通性能`ping`通及两台设备之间的配置进行了验证但EIGRP邻居关系仍然没有建立。那么在此情况下就可以在本地设备上开启调试enabling debugging on the local device之前使用该命令检查看看路由器是否有Hello数据包的交换如下所示
```
```console
R2#show ip eigrp traffic
IP-EIGRP Traffic Statistics for AS 2
Hellos sent/received: 144/0
@ -153,7 +153,7 @@ IP-EIGRP Traffic Statistics for AS 2
在上面的输出中注意虽然该本地路由器已发出144个Hello数据包, 但其尚未收到任何的Hello数据包。假设已验证了两台设备之间有着连通性及各自配置那么就应对本地路由器与中间设备在适用时上的访问控制清单配置进行检查以确保EIGRP或多播数据包未被过滤掉。比如可能发现有着一条ACL配置为拒绝所有D类与E类流量而放行所有其它流量譬如下面的ACL
```
```console
R2#show ip access-lists
Extended IP access list 100
10 deny ip 224.0.0.0 15.255.255.255 any
@ -165,7 +165,7 @@ Extended IP access list 100
最后一些常见的认证配置错误包括在配置密钥链时使用了不同密钥ID以及指定了不同或不匹配的口令等Finally, common authentication configuration mistakes include using different key IDs when configuring key chains and specifying different or mismatched password。在某个接口下开启了认证时EIGRP邻居关系将被重置并被重新初始化。如在部署认证之后原本已建立的邻居关系未能再度建立那么就要通过在路由器上观察运行配置或使用`show key chain`及`show ip eigrp interfaces detail [name]`命令,来对各项认证参数进行检查。下面是由`show key chain`命令所打印出来的示例输出:
```
```console
R2#show key chain
Key-chain EIGRP-1:
key 1 -- text “eigrp-1”
@ -183,7 +183,7 @@ Key-chain EIGRP-3:
以下是由`show ip eigrp interfaces detail [name]`命令所打印出的示例信息输出:
```
```console
R2#show ip eigrp interfaces detail Serial0/0
IP-EIGRP interfaces for process 1
Xmit Queue Mean Pacing Time Multicast Pending
@ -220,7 +220,7 @@ Se0/0 0 0/0 0 0/1 0 0
参考图37.1中所演示的图示,子网`150.1.1.0/30`将`10.1.1.0/24`与`10.2.2.0/24`分离开来。在开启了自动汇总时,路由器`R1`与`R2`都将相应地把`10.1.1.0/24`与`10.2.2.0/24`汇总到`10.0.0.0/8`。该汇总路由将以`5`的管理距离及下一跳接口`Null0`,被安装到路由表中。此较低的管理距离值,将阻止两台路由器对来自其它路由器的该`10.0.0.0/8`汇总的接收与安装,如下面的输出所示:
```
```console
R2#debug eigrp fsm
EIGRP FSM Events/Actions debugging is on
R2#
@ -239,7 +239,7 @@ R2#
EIGRP路由器IDRID的主要用途就是阻止路由环回的形成。RID用于识别外部路由的始发路由器The RID is used to identify the originating router for external routes。假如接收到一条有着与本地路由器相同RID的外部路由该路由将被丢弃。不过重复的路由器ID却并不会影响到任何内部EIGRP路由。设计此特性的目的就是降低那些有着多台自治系统边界路由器AS Boundary Router, ASBR进行路由重分发的网络出现路由环回的可能性。在`show ip eigrp topology`命令的输出中便可查看到始发路由器IDThe primary use of the EIGRP router ID(RID) is to prevent routing loops. The RID is used to identify the originating router for external routes. If an external route is received with the same RID as the local router, the route will be discarded. However, duplicate RIDs do not affect any internal EIGRP routes. This feature is designed to reduce the possibility of routing loops in networks where route redistribution is being performed on more than on ASBR. The originating RID can be viewed in the output of the `show ip eigrp topology` command如下所示
```
```console
R1#show ip eigrp topology 2.2.2.2 255.255.255.255
IP-EIGRP (AS 1): Topology entry for 2.2.2.2/32
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 156160
@ -262,7 +262,7 @@ IP-EIGRP (AS 1): Topology entry for 2.2.2.2/32
如怀疑存在潜在的RID重复故障就可以对EIGRP事件日志中的事件进行检查看看是否有任何路由因为RID重复而被拒绝。下面的示例演示了该EIGRP事件日志的输出样例显示出一些因为从某台与本地路由器有着相同RID的路由器接收而被弹回的路由If you suspect a potential duplicate RID issue, you can check the events in the EIGRP event log to see if any routes have been rejected because of a duplicate RID. The following illustrates a sample output of the EIGRP event log, showing routes that have been rejected because they were received from a router with the same RID as the local router:
```
```console
R2#show ip eigrp events
Event information for AS 1:
...
@ -330,7 +330,7 @@ Event information for AS 1:
参考图37.4, 所有路由器都位于EIGRP自治系统`150`中。`R2`正经由EIGRP对`10.1.1.0/24`、`10.1.2.0/24`与`10.1.3.0/24`子网进行通告。而`R1`也有着一个分配给子网`10.1.0.0/24`的接口,其就应相应地将这些子网通告给`R3``R1`, which also has an interface assigned to the `10.1.0.0/24` subnet, should in turn advertise these subnets to `R3`)。路由器`R2`上的EIGRP配置已作如下部署
```
```console
R2(config)#router eigrp 150
R2(config-router)#network 10.1.1.0 0.0.0.255
R2(config-router)#network 10.1.2.0 0.0.0.255
@ -342,7 +342,7 @@ R2(config-router)#exit
而`R1`上的EIGRP则是部署如下
```
```console
R1(config)#router eigrp 150
R1(config-router)#network 10.1.0.0 0.0.0.255
R1(config-router)#network 172.16.0.0 0.0.0.3
@ -352,7 +352,7 @@ R1(config-router)#exit
最后,`R3`上的EIGRP配置部署如下
```
```console
R3(config)#router eigrp 150
R3(config-router)#network 172.16.0.0 0.0.0.3
R3(config-router)#no auto-summary
@ -361,7 +361,7 @@ R3(config-router)#exit
在此种配置之后,`R2`上的路由表显示出以下条目:
```
```console
R2#show ip route eigrp
172.16.0.0/30 is subnetted, 2 subnets
D 172.16.0.0 [90/2172416] via 172.16.1.1, 00:02:38, FastEthernet0/0
@ -371,7 +371,7 @@ D 10.0.0.0/8 [90/156160] via 172.16.1.1, 00:00:36, FastEthernet0/0
`R1`上的路由表显示以下条目:
```
```console
R1#show ip route eigrp
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
D 172.16.0.0/16 is a summary, 00:01:01, Null0
@ -385,7 +385,7 @@ D 10.0.0.0/8 is a summary, 00:01:01, Null0
最后,`R3`上的路由表显示以下条目:
```
```console
R3#show ip route eigrp
172.16.0.0/30 is subnetted, 2 subnets
D 172.16.1.0 [90/2172416] via 172.16.0.1, 00:21:21, Serial0/0
@ -395,7 +395,7 @@ D 10.0.0.0/8 [90/2297856] via 172.16.0.1, 00:01:15, Serial0/0
因为在`R1`上汇总是开启的就出现了EIGRP不再通告由**汇总路由**`10.0.0.0/8`所包含的那些具体子网的情况了Because summarisation is enabled on `R1`, it appears that the EIGRP is no longer advertising the specific subnets encompassed by the `10.0.0.0/8` **summary**。而要允许这些具体子网通过EIGRP得以通告就应在`R1`上将汇总关闭,如下所示:
```
```console
R1(config)#router eigrp 150
R1(config-router)#no auto-summary
R1(config-router)#exit
@ -403,7 +403,7 @@ R1(config-router)#exit
这么做之后,`R3`上的路由表将显示如下的路由条目:
```
```console
R3#show ip route eigrp
172.16.0.0/30 is subnetted, 2 subnets
D 172.16.1.0 [90/2172416] via 172.16.0.1, 00:00:09, Serial0/0
@ -416,7 +416,7 @@ D 10.1.0.0 [90/2297856] via 172.16.0.1, 00:00:09, Serial0/0
同样的情况对于`R2`也将适用,`R2`上的路由表现在将显示出子网`10.1.0.0/24`与`10.3.0.0/24`的具体条目,如下所示:
```
```console
R2#show ip route eigrp
172.16.0.0/30 is subnetted, 2 subnets
D 172.16.0.0 [90/2172416] via 172.16.1.1, 00:00:10, FastEthernet0/0
@ -433,7 +433,7 @@ D 10.1.0.0 [90/156160] via 172.16.1.1, 00:00:10, FastEthernet0/0
命令`debug ip routing [acl|static]`是一个强大的故障排除工具及命令a powerful troubleshooting tool and command。但需要注意到尽管此命令并非特定于EIGRP其提供到有关路由表的有用与详细信息。下面是由该命令所打印出的信息示例
```
```console
R1#debug ip routing
IP routing debugging is on
R1#
@ -475,7 +475,7 @@ has_route: False
可与某条访问控制清单结合使用此命令来查看有关在那个访问控制清单中所引用到某条路由或某几条路由的信息。此外同样的命令也可以用于本地设备上静态路由事件的调试。作为附注在运行EIGRP时作为使用此命令的替代请考虑使用`show ip eigrp events`命令而不是此命令,因为`show ip eigrp events`提供到EIGRP内部事件的历史记录且可用于对活动粘滞故障以及路由抖动及其它事件进行排除You can use this command in conjunction with an ACL to view information about the route or routes referenced in the ACL. Additionally, the same command can also be used for troubleshooting static route events on the local device. As a side note, instead of using this command, if you are running EIGRP, consider using the `show ip eigrp events` command instead, as it provides a history of EIGRP internal events and can be used to troubleshoot SIA issues, as well as route flaps and other events。下面是`show ip eigrp events`命令所打印信息的一个示例:
```
```console
R1#show ip eigrp events
Event information for AS 150:
1 23:03:49.135 Ignored route, metric: 192.168.3.0 28160
@ -506,7 +506,7 @@ Event information for AS 150:
除开`debug ip routing`命令思科IOS软件里还有额外可用的两个EIGRP专用调试命令。命令`debug eigrp`可用于提供到有关弥散更新算法的有限状态机、EIGRP邻居关系、非停止转发事件、数据包及传输事件等的相关实时信息In addition to the `debug ip routing` command, two additional EIGRP-specific debugging commands are also available in Cisco IOS software. The `debug eigrp` command can be used to provide real-time information on the DUAL Finite State Machine, EIGRP neighbour relationships, Non-Stop Forwarding events, packets, and transimission events。下面演示了此命令可用的参数
```
```console
R1#debug eigrp ?
fsm EIGRP Dual Finite State Machine events/actions
neighbors EIGRP neighbors
@ -517,7 +517,7 @@ R1#debug eigrp ?
在`debug eigrp`命令之外,命令`debug ip eigrp`打印出有关EIGRP路由事件的详细信息诸如EIGRP如何处理到来的更新等。下面演示了可与该命令结合使用的那些额外关键字
```
```console
R1#debug ip eigrp ?
<1-65535> Autonomous System
neighbor IP-EIGRP neighbor debugging
@ -529,7 +529,7 @@ R1#debug ip eigrp ?
最后,下面是命令`debug ip eigrp`的一个输出示例:
```
```console
R1#debug ip eigrp
IP-EIGRP Route Events debugging is on
R1#

View File

@ -69,7 +69,7 @@ EIGRPv6保留了EIGRPv4中的大部分相同基础的核心功能For the most
根据上述配置步骤顺序,路由器`R1`上EIGRPv6将被如下配置上
```
```console
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router eigrp 1
R1(config-rtr)#eigrp router-id 1.1.1.1
@ -84,7 +84,7 @@ R1(config-if)#exit
而根据同样的步骤顺序,路由器`R3`上的EIGRPv6就被如下这样配置上
```
```console
R3(config)#ipv6 unicast-routing
R3(config)#ipv6 router eigrp 1
R3(config-rtr)#eigrp router-id 3.3.3.3
@ -105,7 +105,7 @@ R3(config-if)#exit
EIGRPv6的验证过程将按照EIGRPv4的同样过程进行。首先要验证EIGRP的邻居关系已被成功建立。对于EIGRPv6, 这是通过使用`show ipv6 eigrp neighbours`命令完成的,如下所示:
```
```console
R1#show ipv6 eigrp neighbors
EIGRP-IPv6 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
@ -116,7 +116,7 @@ H Address Interface Hold Uptime SRTT RTO Q Seq
如同先前指出的那样请注意这里的下一跳地址也就是EIGRP的邻居地址被指定为本地链路地址而不是全局单播地址。此命令所打印出的所有其它信息与`show ip eigrp neighbors`命令打印出是相同的。而要查看详细的邻居信息,可简单地在`show ipv6 eigrp neighbours`命令后面追加上`[detail]`关键字。使用此选项就打印出有关EIGRP版本、以及从那个特定EIGRP邻居处接收到的前缀数目等信息如下所示
```
```console
R1#show ipv6 eigrp neighbors
EIGRP-IPv6 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
@ -129,7 +129,7 @@ H Address Interface Hold Uptime SRTT RTO Q Seq
在对EIGRPv6的邻居关系进行验证之后就可以对路由信息进行验证了。比如要查看到从EIGRPv6邻居处接收到的那些IPv6前缀就将使用`show ipv6 route`命令,如下面的输出所示:
```
```console
R1#show ipv6 route eigrp
IPv6 Routing Table - default - 6 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
@ -144,7 +144,7 @@ D 3FFF:1234:ABCD:3::/64 [90/3072]
请再次注意这里所接收到的前缀都包含着作为所有接收到的前缀的下一跳IPv6地址的本地链路地址。而要查看EIGRPv6的拓扑表就应使用`show ipv6 eigrp topology`命令。该命令支持那些与用于查看EIGRPv4的拓扑表的`show ip eigrp topology`命令下可用的同样的参数。这里基于上面已部署的配置,`R1`上的拓扑表显示出以下IPv6前缀信息
```
```console
R1#show ipv6 eigrp topology
EIGRP-IPv6 Topology Table for AS(1)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
@ -159,7 +159,7 @@ P 3FFF:1234:ABCD:3::/64, 1 successors, FD is 3072
与EIGRPv4中的情况一样可在此命令的后面追加一个前缀以查看到有关那个前缀或子网的详细信息。比如要查看有关子网`3FFF:1234:ABCD:2::/64`的详细信息,就应简单的输入`show ipv6 eigrp topology 3FFF:1234:ABCD:2::/64`命令,如下所示:
```
```console
R1#show ipv6 eigrp topology 3FFF:1234:ABCD:2::/64
EIGRP-IPv6 Topology Entry for AS(1)/ID(1.1.1.1) for 3FFF:1234:ABCD:2::/64
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 3072
@ -179,7 +179,7 @@ flag is 0x0
最后,一个简单的`ping`就可以且应该用于对子网之间的连通性加以验证。下面就是一个从`R1`到`R3`上的地址`3FFF:1234:ABCD:2::3`的`ping`操作:
```
```console
R1#ping 3FFF:1234:ABCD:2::3 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 3FFF:1234:ABCD:2::3, timeout is 2 seconds:
@ -189,7 +189,7 @@ Success rate is 100 percent (10/10), round-trip min/avg/max = 0/0/4 ms
与EIGRPv4下的情况一样也可使用`show ipv6 protocols`对EIGRPv6的一些默认协议数值进行检查该命令的输出在下面有打印出来。该命令包含了那些开启了EIGRP实例的接口、路由重分发的信息在适用时以及手动配置指定或所配置的点分十进制的EIGRPv6路由器ID。
```
```console
R1#show ipv6 protocols
IPv6 Routing Protocol is “eigrp 1”
EIGRP-IPv6 Protocol for AS(1)

View File

@ -77,7 +77,7 @@
为进一步说明这一点这里参考图39.2, 假定该网段上的所有路由器都具有默认的OSPF优先级`1`并同时加载OSPF进程因为`R4`有着最高的路由器ID而被选为指定路由器。`R3`因为有着第二高的路由器ID而被选为后备指定路由器。因为`R2`与`R1`既不是指定也不是后备指定路由器,因此它们为称为思科命名法中的`DROther`路由器。可在所有路由器上使用`show ip ospf neighbour`命令对此进行验证,如下所示:
```sh
```console
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 2WAY/DROTHER 00:00:38 192.168.1.2 Ethernet0/0
@ -106,7 +106,7 @@ Neighbor ID Pri State Dead Time Address Interface
因为`R4`已被选为指定路由器它就生成网络链路状态通告the Network LSA这类链路状态通告是就该多路访问网段上的其它路由器进行通告的。可在网段上的任意路由器上使用`show ip ospf database network [link state ID]`命令,或在指定路由器上使用`show ip ospf database network self-originate`命令,对此加以验证。下面演示了在指定路由器(`R4`)上命令`show ip ospf database network self-originate`命名的输出:
```sh
```console
R4#show ip ospf database network self-originate
OSPF Router with ID (4.4.4.4) (Process ID 4)
Net Link States (Area 0)
@ -132,7 +132,7 @@ R4#show ip ospf database network self-originate
所连接路由器字段the Attached Router field列出了在该网络网段上所有路由器的路由器ID。这样就令到该网段上的所有路由器知悉有哪些其它路由器也同样位处该网段上。下面的输出演示了在`R1`、`R2`与`R3`上的`show ip ospf database network [link state ID]`命令的输出,反映出同样的信息:
```sh
```console
R2#show ip ospf database network
OSPF Router with ID (2.2.2.2) (Process ID 2)
Net Link States (Area 0)
@ -394,7 +394,7 @@ OSPF的`Hello`数据包,还在广播链路上用于指定路由器与后备指
在思科IOS软件中可使用`show ip ospf traffic`命令来查看OSPF数据包的统计信息。该命令展示了发送及接收道德OSPF数据包的总数并将这些OSPF数据包细分到单独的OSPF进程最终又细分到具体进程下开启了OSPF进程的各个接口上。该命令也可用于对OSPF临接关系建立的故障排除其作为调试用途时不是处理器占用密集的方式。下面的输出中演示了该命令所打印的信息
```sh
```console
R4#show ip ospf traffic
OSPF statistics:
Rcvd: 702 total, 0 checksum errors
@ -536,7 +536,7 @@ Summary traffic statistics for process ID 4:
尽管对每个关键字用法的输出进行演示是不现实的但下面的小节仍对不同类型的LSA以及与`show ip ospf database`命令结合使用从而查看到这些LSA的详细信息的一些常见关键字进行了介绍。该命令所支持的关键字在下面的输出中进行了演示
```sh
```console
R3#show ip ospf database ?
adv-router Advertising Router link states
asbr-summary ASBR Summary link states
@ -659,7 +659,7 @@ OSPF度量值通常被成为开销The OSPF metric is commonly referred to as
如先前所演示的那样,可使用`show ip ospf interface [name]`来查看到某个接口的OSPF开销。在度量值计算中用到的默认参考带宽可在`show ip protocols`命令的输出中查看到,如下面的输出中所演示的那样:
```sh
```console
R4#show ip protocols
Routing Protocol is “ospf 4”
Outgoing update filter list for all interfaces is not set
@ -686,8 +686,7 @@ Reference bandwidth unit is 100 mbps
> **注意**再次因为OSPF度量值不支持小数该值将被向下取整到简单的`647`的度量值,如下面的输出所示:
```sh
```console
R4#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 10.0.2.4/24, Area 2
@ -707,7 +706,7 @@ Serial0/0 is up, line protocol is up
在执行了路由器配置命令`auto-cost reference-bandwidth 1000`后思科IOS软件就打印出下面的消息表明应将此同样的值应用该OSPF域中的所有路由器上。这在下面的输出中进行了演示
```sh
```console
R4(config)#router ospf 4
R4(config-router)#auto-cost reference-bandwidth 1000
% OSPF: Reference bandwidth is changed.
@ -729,7 +728,7 @@ R4(config-router)#auto-cost reference-bandwidth 1000
接口配置命令`ip ospf cost <1-65535>`,被用于手动指定某条链路的开销。链路的开销值越低,其就比到相同目的网络的、有着更高开销值的其它链路,越有可能被优先选用。下面的示例演示了如何为某条串行(`T1`链路配置上一个OSPF开销`5`
```sh
```console
R1(config)#interface Serial0/0
R1(config-if)#ip ospf cost 5
R1(config-if)#exit
@ -737,7 +736,7 @@ R1(config-if)#exit
可使用`show ip ospf interface [name]`命令对此配置进行验证,如下面的输出所示:
```sh
```console
R1#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 10.0.0.1/24, Area 0
@ -765,7 +764,7 @@ Serial0/0 is up, line protocol is up
下面的配置示例演示了如何将一台开启OSPF的路由器配置为在路由表中存在一条默认路由时生成一条默认路由并对其进行通告。既有的默认路由可以是一条静态路由甚至为在该路由器上配置了多种路由协议时从另一种路由协议产生的一条默认路由。下面的输出演示的是基于一条配置的静态默认路由的此种配置
```sh
```console
R4(config)#ip route 0.0.0.0 0.0.0.0 FastEthernet0/0 172.16.4.254
R4(config)#router ospf 4
R4(config-router)#network 172.16.4.0 0.0.0.255 Area 2
@ -790,7 +789,7 @@ R4(config-router)#exit
其中路由器A的配置为
```sh
```console
router ospf 20
network 4.4.4.4 0.0.0.0 area 0
network 192.168.1.0 0.0.0.255 area 0
@ -799,7 +798,7 @@ router-id 4.4.4.4
路由器B的配置为
```sh
```console
router ospf 22
network 172.16.1.0 0.0.0.255 area 0
network 192.168.1.0 0.0.0.255 area 0
@ -808,7 +807,7 @@ router-id 192.168.1.2
路由器C的配置为
```sh
```console
router ospf 44
network 1.1.1.1 0.0.0.0 area 1
network 172.16.1.0 0.0.0.255 area 0
@ -850,7 +849,7 @@ O 192.168.1.0/24 [110/128] via 172.16.1.1, 00:10:39, Serial0/0/0
另一个常见的错误配置就是将接口指定为了被动接口Another common misconfiguration is specifying the interface as passive。如果真这样做了那么该接口就不会发出`Hello`数据包,同时使用那个接口就不会建立邻居关系。既可使用`show ip protocols`,也可使用`show ip ospf interface`命令,来检查哪些接口被配置或指定为了被动接口。下面是在某个被动接口上的后一个命令的示例输出:
```sh
```console
R1#show ip ospf interface Serial0/0
Serial0/0 is up, line protocol is up
Internet Address 172.16.0.1/30, Area 0
@ -874,7 +873,7 @@ Serial0/0 is up, line protocol is up
访问控制清单过滤是另一种常见的造成临接关系建立失败的原因。为排除此类故障重要的是熟悉网络拓扑。比如在建立某个临接关系失败的路由器是通过不同物理交换机进行连接的时就可能为ACL过滤是以先前为安全目的而已配置在交换机上的VACLVLAN ACL的形式部署的。`show ip ospf traffic`命令就是一个可找出OSPF数据包是被阻塞了还是被丢弃了的有用工具其会打印出如下输出所演示的有关发出的OSPF数据包的信息
```sh
```console
R1#show ip ospf traffic Serial0/0
Interface Serial0/0
OSPF packets received/sent
@ -909,7 +908,7 @@ OSPF LSA errors
OSPF之所以不对路由器进行通告的一个常见原因就是该网络未通过OSPF进行通告。在当前的思科IOS软件中使用路由器配置命令`network`或接口配置命令`ip ospf`,就可使网络得以通告。不管使用哪种方式,都可以使用`show ip protocols`命令来查看将OSPF配置为对哪些网络进行通告就如同下面的输出中所看到的
```sh
```console
R2#show ip protocols
Routing Protocol is “ospf 1”
Outgoing update filter list for all interfaces is not set
@ -931,7 +930,7 @@ Distance: (default is 110)
此外,请记住还可以使用`show ip ospf interfaces`命令来找出那些接口开启了OSPF及其它一些信息。除了网络配置若接口宕掉OSPF也不会对路由器进行通告。可使用`show ip ospf interfaces`命令,来确定接口状态,如下所示:
```sh
```console
R1#show ip ospf interface brief
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Lo100 1 0 100.1.1.1/24 1 DOWN 0/0
@ -940,7 +939,7 @@ Fa0/0 1 0 10.0.0.1/24 1 BDR 1/1
参考上面的输出,可看到`Loopback100`出于`DOWN`状态。细看就可以发现该故障是由于该接口已被管理性关闭,如下面的输出所示:
```sh
```console
R1#show ip ospf interface Loopback100
Loopback100 is administratively down, line protocol is down
Internet Address 100.1.1.1/24, Area 0
@ -951,7 +950,7 @@ Loopback100 is administratively down, line protocol is down
如使用`debug ip routing`命令对IP路由事件IP routing events进行调试并于随后在`Loopback100`接口下执行`no shutdown`命令,那么就可以看到下面的输出:
```sh
```console
R1#debug ip routing
IP routing debugging is on
R1#conf t
@ -978,7 +977,7 @@ R1#
参考图39.15 路由器`R1`与`R2`通过一条背靠背的连接a back-to-back connection相连。这两台路由器共享了`10.0.0.0/24`子网。不过`R1`还配置了一些在其`FastEthernet0/0`接口下的额外(次要)子网,因此`R1`上该接口的配置就如下打印出来:
```sh
```console
R1#show running-config interface FastEthernet0/0
Building configuration...
Current configuration : 183 bytes
@ -994,7 +993,7 @@ end
在`R1`与`R2`上都开启了OSPF。`R1`上部署的配置如下所示:
```sh
```console
R1#show running-config | section ospf
router ospf 1
router-id 1.1.1.1
@ -1006,7 +1005,7 @@ network 10.0.2.1 0.0.0.0 Area 1
`R2`上部署的配置如下所示:
```sh
```console
R2#show running-config | section ospf
router ospf 2
router-id 2.2.2.2
@ -1016,7 +1015,7 @@ network 10.0.0.2 0.0.0.0 Area 0
默认情况下,因为`R1`上的次要子网已被放入到一个不同的OSPF区域所以它们不会被该路由器通告。这一点在`R2`上可以看到,在执行了`show ip route`命令时,就显示下面的输出:
```sh
```console
R2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
@ -1032,7 +1031,7 @@ C 10.0.0.0 is directly connected, FastEthernet0/0
为解决这个问题,就必须将那些次要子网,指派到`Area 0`,如下所示:
```sh
```console
R1(config)#router ospf 1
R1(config-router)#network 10.0.1.1 0.0.0.0 Area 0
*Mar 18 20:20:37.491: %OSPF-6-AREACHG: 10.0.1.1/32 changed from Area 1 to Area 0
@ -1043,7 +1042,7 @@ R1(config-router)#end
在此配置改变之后,那些网络就被通告给路由器`R2`了,如下所示:
```sh
```console
R2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
@ -1064,7 +1063,7 @@ O 10.0.1.0 [110/2] via 10.0.0.1, 00:01:08, FastEthernet0/0
在本课程模块的最后一节将看看一些较为常用的OSPF调试命令。OSPF的调试是通过使用`debug ip ospf`命令来开启的。该命令可结合下面这些额外关键字一起使用:
```sh
```console
R1#debug ip ospf ?
adj OSPF adjacency events
database-timer OSPF database timer
@ -1082,7 +1081,7 @@ R1#debug ip ospf ?
命令`debug ip osfp adj`将打印有关临接事件的实时信息。在对OSPF的邻居临接故障进行故障排除时这是一个有用的故障排除工具。下面是一个由该命令打印的信息示例。下面的示例演示了如何使用该命令来判断MTU不匹配而导致的无法到达`Full`状态,从而阻止了邻居临接的建立:
```sh
```console
R1#debug ip ospf adj
OSPF adjacency events debugging is on
R1#
@ -1110,7 +1109,7 @@ R1#
命令`debug ip ospf lsa-generation`将打印出有关OSPF链路状态通告的信息。该命令可用于在使用OSPF时对路由通告的故障排除。下面是由该命令所打印的输出信息的一个示例
```sh
```console
R1#debug ip ospf lsa-generation
OSPF summary lsa generation debugging is on
R1#
@ -1132,7 +1131,7 @@ R1#
命令`debug ip ospf spf`提供有有关最短路径优先算法事件的实时信息。该命令可以下面的关键字结合使用:
```sh
```console
R1#debug ip ospf spf ?
external OSPF spf external-route
inter OSPF spf inter-route
@ -1143,7 +1142,7 @@ R1#debug ip ospf spf ?
与所有`debug`命令一样在对SPF事件进行调试之前都应对诸如网络大小及路由器上资源占用等因素加以考虑。下面是自`debug ip ospf spf statistic`命令的输出示例:
```sh
```console
R1#debug ip ospf spf statistic
OSPF spf statistic debugging is on
R1#clear ip ospf process
@ -1210,7 +1209,7 @@ __实验步骤__
2. 将OSPF添加到路由器`A`。将`Loopback0`上的网络放入到`Area 1`,将那个`10`网络放入到`Area 0`。
```sh
```console
RouterA(config)#router ospf 4
RouterA(config-router)#network 172.20.1.0 0.0.0.255 area 1
RouterA(config-router)#network 10.0.0.0 0.0.0.3 area 0
@ -1235,7 +1234,7 @@ Distance: (default is 110)
3. 将OSPF添加到路由器`B`。将该环回网络放入到OSPF的`Area 40`。
```sh
```console
RouterB(config)#router ospf 2
RouterB(config-router)#net 10.0.0.0 0.0.0.3 area 0
RouterB(config-router)#
@ -1261,7 +1260,7 @@ Distance: (default is 110)
4. 对两台路由器上的路由表进行检查。查找那些OSPF通告的网络。将见到一个`IA`也就是OSPF的区域间inter-area。还将见到OSPF的`AD`也就是管理距离Administrative Distance`110`。
```sh
```console
RouterA#sh ip route
...
[Truncated Output]
@ -1276,7 +1275,7 @@ RouterA#
5. 在两台路由器上分别执行一些可用的OSPF命令。
```sh
```console
RouterA#sh ip ospf ?
<1-65535> Process ID numberborder-routers Border and Boundary Router Information
database Database summary

View File

@ -58,7 +58,7 @@
在`syslog`中设施the facility用于表示生成消息的源。源可以是某个本地设备上的进程、应用或者甚至操作系统本身。设施是以数字整数表示的。在思科IOS软件中有八个本地使用设施可由进程及应用以及设备本身用于发送`syslog`消息。默认思科IOS设备使用设施`local7`来发送`syslog`报文。但要注意大多数思科设备提供了改变默认设施级别的选项。在思科IOS软件中可使用全局配置命令`loggin facility [facility]`来指定`syslog`的设施。该命令可用的选项如下所示:
```sh
```console
R1(config)#logging facility ?
auth Authorization system
cron Cron/at facility
@ -98,7 +98,7 @@ R1(config)#logging facility ?
下面的配置实例演示了如何将所有信息informational(level6)及以下的报文发送到一台有着IP地址`192.168.1.254`的`syslog`服务器:
```sh
```console
R2(config)#logging on
R2(config)#logging trap informational
R2(config)#logging 192.168.1.254
@ -106,7 +106,7 @@ R2(config)#logging 192.168.1.254
此配置可使用`show syslog`命令进行验证,如下所示:
```sh
```console
R2#show logging
Syslog logging: enabled (11 messages dropped, 1 messages rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
Console logging: disabled
@ -121,19 +121,19 @@ No active filter modules.
一般在配置日志记录时重要的是要确保路由器或交换机的时钟反映的是真实的当前时间这可实现与错误数据的关联。日志消息上的不准确或不正确时间戳会令到使用过滤或关联流程来做错误与问题隔离十分困难并十分耗时。在思科IOS软件中系统时钟可手动配置或者将设备配置为自动将其时钟与网络时间协议服务器进行同步。在后面的小节将对这两种方法进行讨论。在网络中仅有少数互联网络设备时手动的时钟或时间配置没有问题。在思科IOS软件中系统时间是通过使用`clock set hh:mm:ss [day & month | month & day] [year]`特权`EXEC`命令进行配置的。其不是在全局配置模式下配置或指定的。下面的配置示例,演示了如何将系统时钟设置为 2010 年 10 月 20 日上午12:15
```sh
```console
R2#clock set 12:15:00 20 october 2010
```
也可以向下面这样在路由器上应用同样的配置:
```sh
```console
R2#clock set 12:15:00 october 20 2010
```
在此配置下,可使用`show clock`命令来查看到系统时间:
```sh
```console
r2#show clock
12:15:19.419 utc wed oct 20 2010
```
@ -142,7 +142,7 @@ r2#show clock
此外一些地方使用标准时间Standard Time与夏令时间Dayligh Saving Time。考虑这个因素那么在手动配置系统时钟时确保于所有设备上正确设置系统时间标准还是夏令时就很重要了。下面的配置实例演示了如何将系统时钟设置为比GMT晚6个小时的中部标准时间Central Standard Time, CST时区的2010年10月20日上午12点40分
```sh
```console
R2#config t
Enter configuration commands, one per line.
End with CNTL/Z.
@ -153,14 +153,14 @@ R2#clock set 12:40:00 october 20 2010
依据此配置,本地路由器上的系统时钟现在显示为下面这样:
```sh
```console
R2#show clock
12:40:17.921 CST Wed Oct 20 2010
```
> **注意**:如在`clock timezone`命令之前使用`clock set`命令,那么使用`clock set`命令所指定的时间,将被`clock timezone`命令的使用进行偏移。比如假定上面示例中使用的配置命令是像下面这样输入的时:
```sh
```console
R2#clock set 12:40:00 october 20 2010
R2#config t
Enter configuration commands, one per line.
@ -171,7 +171,7 @@ R2(config)#end
因为这里`clock set`命令先使用,所以路由器上的`show clock`命令将显示偏移了6小时的系统时钟就如使用`clock timezone`命令所指定的那样。在同样的路由器的以下输出对此行为进行了演示:
```sh
```console
R2#show clock
06:40:52.181 CST Wed Oct 20 2010
```
@ -186,13 +186,13 @@ NTP使用层的概念a concept of a stratum来描述某台机器距离
在思科IOS软件中使用全局配置命令`ntp server [address]`来将某台设备配置带有一台或多台NTP服务器的IP地址。如先前指出的那样可通过重复使用同样的命令指定多个NTP参考地址。此外该命令还可用于配置服务器与客户端之间的安全及其它特性。下面的配置实例演示了如何将某台设备配置为将其时间与一台有着IP地址`10.0.0.1`的NTP进行同步
```sh
```console
R1(config)#ntp server 10.0.0.1
```
根据此配置,可使用`show ntp accociations`命令来对NTP设备之间的通信进行检查如下面的输出所示
```sh
```console
R2#show ntp associations
address ref clock st when poll reach delay offset disp
*~10.0.0.1 127.127.7.1 5 44 64 377 3.2 2.39 1.2
@ -203,7 +203,7 @@ address ref clock st when poll reach delay offset disp
接着的`st`字段表示该参考的层the stratum of the reference。从上面的打印输出可以看到`10.0.0.1`的NTP设备有着`5`的层数。本地设备的层数,将增加`1`到值`6`,如下所示,因为其是从有着层`5`的服务器出接收到的时间源。如有另一台设备被同步到该本地路由器,那么它将反应出一个`7`的层数如此等等。用于检查NTP配置的第二个命令就是`show ntp status`命令了,其输出如下面所示:
```sh
```console
R2#show ntp status
Clock is synchronized, stratum 6, reference is 10.0.0.1
nominal freq is 249.5901 Hz, actual freq is 249.5900 Hz, precision is 2**18
@ -216,7 +216,7 @@ root dispersion is 4.88 msec, peer dispersion is 0.23 msec
在不论是通过手动还是NTP设置好系统时钟之后都要确保发送给服务器的日志包含正确的时间戳。这是通过使用全局配置命令`service timestamp log [datetime | uptime]`执行的。关键字`[datetime]`支持下面这些字面的额外子关键字:
```sh
```console
R2(config)#service timestamps log datetime ?
localtime Use local time zone for timestamps
msec Include milliseconds in timestamp
@ -227,7 +227,7 @@ R2(config)#service timestamps log datetime ?
而`[uptime]`关键字则没有额外关键字而将本地路由器配置为仅包含系统运行时间the system uptime作为发送的消息的时间戳。下面的配置实例演示了如何将本地路由器配置为所有消息都包含本地时间、毫秒信息以及时区
```sh
```console
R2#configure terminal
Enter configuration commands, one per line.
End with CNTL/Z.
@ -240,7 +240,7 @@ R2(config)#service timestamps log datetime localtime msec show-timezone
根据此配置,本地路由器的控制台将打印以下消息:
```sh
```console
Oct 20 02:14:10.519 CST: %SYS-5-CONFIG_I: Configured from console by console
Oct 20 02:14:11.521 CST: %SYS-6-LOGGINGHOST_STARTSTOP: Logging to host 150.1.1.254 started - CLI initiated
```
@ -291,7 +291,7 @@ SNMP的三个版本分别是版本`1`、`2`与`3`。版本`1`,或`SNMPv1`
`SNMPv3`蜜柑有使用这种同样的基于共有的安全形式the same community-based form of security而是使用了用户与组的安全user and group security。下面的配置实例演示了如何配置带有两个共有字符串的本地设备其一用于只读访问另一个用于读写访问。此外该本地设备还配置了为思科IOS的SLAService Level Agreement, 服务级别协议)操作/命令与`syslog`而使用只读共有字符串将SNMP陷阱发送到`1.1.1.1`
```sh
```console
R2#config t
Enter configuration commands, one per line.
End with CNTL/Z.
@ -369,7 +369,7 @@ IP数据流基于五个上至七个的一套IP数据包属性它们
以下实例演示了如何为某个指定的路由器接口开启NetFlow
```sh
```console
R1#config t
Enter configuration commands, one per line.
End with CNTL/Z.
@ -380,7 +380,7 @@ R1(config-if)#end
根据此配置,可使用`show ip cache flow`命令来查看在数据流缓存中所收集的统计数据,如下面的输出所示:
```sh
```console
R1#show ip cache flow
IP packet size distribution (721 total packets):
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
@ -420,7 +420,7 @@ Se0/0 10.0.0.2 Local 1.1.1.1 06 C0B3 0017 59
下面的示例演示了如何配置并开启指定路由器接口的NetFlow数据收集并于随后使用NetFlow版本`5`的数据格式将数据导出到某台有着IP地址`150.1.1.254`的NetFlow收集器
```sh
```console
R1(config)#interface Serial0/0
R1(config-if)#ip flow ingress
R1(config-if)#exit