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:
parent
a07a089cc6
commit
3aafe703a8
d01-Networks-Cables-OSI-and-TCP-Models.mdd04-Router-and-Switch-Security.mdd05-IP-Addressing.mdd06-NAT.mdd07-IPv6.mdd08-Integrating-IPv4-and-IPv6-Network-Environments.mdd09-ACL.mdd10-Routing-Concepts.mdd11-Static-Routing.mdd12-OSPF-Basics.mdd13-OSPFv3.mdd14-DHCP-and-DNS.mdd15-Layer_1-and-Layer_2-Troubleshooting.mdd31-Spanning-Tree-Protocol.mdd32-Rapid-Spanning-Tree-Protocol.mdd33-EtherChannels-and-Link-Aggregation-Protocols.mdd34-First-Hop-Redundancy-Protocols.mdd35-booting-and-IOS.mdd36-EIGRP.mdd37-Troubleshooting-EIGRP.mdd38-EIGRP-For-IPv6.mdd39-OSPF.mdd40-Syslog-SNMP-and-Netflow.md
@ -347,6 +347,7 @@ CCNA 考试要求你理解 OSI 模型,以及各层有哪些应用和协议。
|
||||
### TCP/IP、DoD 模型
|
||||
|
||||
TCP/IP 模型是另一个框架,作为 OSI 模型的替代。它是由 高级防务研究项目署(the Defense Advanced Research Projects Agency,DARPA)创建的四层或五层模型。它就是为人熟知的国防部模型。自顶向下的四层分别是:
|
||||
|
||||
```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` 命令去查看你的选项。
|
||||
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
39
d06-NAT.md
39
d06-NAT.md
@ -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
|
||||
|
20
d07-IPv6.md
20
d07-IPv6.md
@ -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
|
||||
|
@ -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`记录(IPv4)(If 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)
|
||||
|
95
d09-ACL.md
95
d09-ACL.md
@ -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考试中反掩码计算的一种简易方法,就是把一个数与子网
|
||||

|
||||
|
||||
|
||||
```
|
||||
```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
|
||||
```
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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(或特定接口编号)
|
||||
|
@ -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
|
||||
|
@ -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,以及被修剪掉的VLANs(the 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, 以及交换机上私有VLAN(Private 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
在上面的输出中,可以看到在通道组1(Channel 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、邻居设备ID(MAC)以及邻居端口。同时在比如邻居是一台物理学习设备时(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、邻居的设备ID(MAC),以及邻居端口等信息。这些标志还表明邻居运行所处状态,以及其是否时一个物理学习设备(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]`提供了本地交换机的系统ID(finally, 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
|
||||
```
|
||||
|
@ -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
|
||||
|
@ -43,7 +43,7 @@
|
||||
|
||||
引导ROM(boot ROM)-- 是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Mememory, EEPROM,, 一种掉电后数据不丢失的存储芯片),用于启动图/Rommon(startup diagram/Rommon)的存储及IOS的装入。在路由器启动是,如缺少IOS文件,那么就会启动要一种叫做Rommon的紧急模式(an emergency mode),此模式下允许输入一些有限的几个命令,以对路由器进行恢复及装入其它IOS。此模式又叫做启动模式(bootstrap mode),在以下两种路由器提示符下,就可以明白是在此模式:
|
||||
|
||||
```
|
||||
```console
|
||||
>
|
||||
Rommon>
|
||||
```
|
||||
@ -67,7 +67,7 @@ RxBoot程序 -- 小型的IOS(Mini-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:/
|
||||
|
260
d36-EIGRP.md
260
d36-EIGRP.md
File diff suppressed because it is too large
Load Diff
@ -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路由器ID(RID)的主要用途,就是阻止路由环回的形成。RID用于识别外部路由的始发路由器(The RID is used to identify the originating router for external routes)。假如接收到一条有着与本地路由器相同RID的外部路由,该路由将被丢弃。不过重复的路由器ID,却并不会影响到任何内部EIGRP路由。设计此特性的目的,就是降低那些有着多台自治系统边界路由器(AS Boundary Router, ASBR)进行路由重分发的网络出现路由环回的可能性。在`show ip eigrp topology`命令的输出中,便可查看到始发路由器ID(The 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#
|
||||
|
@ -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)
|
||||
|
71
d39-OSPF.md
71
d39-OSPF.md
@ -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过滤是以先前为安全目的,而已配置在交换机上的VACL(VLAN 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
|
||||
|
@ -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的SLA(Service 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
|
||||
|
Loading…
Reference in New Issue
Block a user