1、基本概念介绍
IOS: 互联网操作系统,也就是交换机和路由器中用的操作系统
VLAN: 虚拟lan
VTP: VLAN TRUNK PROTOCOL
DHCP: 动态主机配置协议
ACL: 访问控制列表
三层交换机:具有三层路由转发能力的交换机
本教程中“#”后的蓝色文字为注释内容。
2、密码、登陆等基本配置
本节介绍的内容为cisco路由器或者交换机的基本配置,在目前版本的cisco交换机或路由器上的这些命令是通用的。本教程用的是cisco的模拟器做的介绍,一些具体的端口显示或许与你们实际的设备不符,但这并不影响基本配置命令的执行。
Cisco 3640 (R4700) processor (revision 0xFF) with 124928K/6144K bytes of memory. Processor board ID 00000000 R4700 CPU at 100MHz, Implementation 33, Rev 1.2 2 Ethernet interfaces 8 Serial interfaces DRAM configuration is 64 bits wide with parity enabled. 125K bytes of NVRAM. 8192K bytes of processor board System flash (Read/Write) --- System Configuration Dialog --- Would you like to enter the initial configuration dialog? [yes/no]: n
# 此处我们选择no,不进入他的初始化配置向导
Press RETURN to get started!
# 选择no以后,提示你按回车键开始,此处我们需要按回车键
*Mar 1 00:43:56.591: %IP-5-WEBINST_KILL: Terminating DNS process *Mar 1 00:43:58.379: %SYS-5-RESTART: System restarted -- Cisco IOS Software, 3600 Software (C3640-JK9O3S-M), Version 12.3(14)T7, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2006 by Cisco Systems, Inc. Compiled Wed 22-Mar-06 21:46 by pwade *Mar 1 00:43:58.411: %SNMP-5-COLDSTART: SNMP agent on host Router is undergoing a cold start
Router> # 等显示稳定后,出现最初的提示符,注意提示符是“>”,目前所处的状态称为用户模式。
Router>en # 如果在当前状态下没有重复的命令,我们可以用“TAB”键来补齐这条命令,主要目的是为了便于阅读
Router>enable # 从用户模式(user mode)进入到特权模式(exec mode),注意提示符的变化,提示符变为“#”
Router#configure terminal(说明:#在特权模式下输入configure terminal进入全局配置模式(global configuration mode),在这之下输入的命令叫做全局命令,一旦输入,将对整个router产生即时影响。如下,注意提示符的变化:)
Router(config)#exit # 请注意提示符发生了改变,当前的模式据叫做全局配置模式。
Router#conf
*Mar 1 00:44:26.491: %SYS-5-CONFIG_I: Configured from console by console t # 在输入命令的过程中,IOS会出现一些即时提示。
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#exit # 退出当前的全局配置模式的命令是exit
Router#conf t # 重新进入到全局配置模式
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
*Mar 1 00:44:35.591: %SYS-5-CONFIG_I: Configured from console by consolehos
# 这行是路由器(交换机)出现的一些即时提示。
Router(config)#hostname test # 这条命令用来更改当前设备的名字(名字中可包含设备的楼层、用途等信息),主要是为了将来便于区分设备。
test(config)# # 回车后我们就会发现,但前的设备的名字已经发生了改变,变成了test了。
test(config)#enable pass
# 这条命令用来配置设备的登陆密码,用tab键补齐后,再下一行显示完整命令。
test(config)#enable password cisco # 我们输入这台设备的登陆密码为 cisco
test(config)#end # 我们退回到全局配置模式,校验一下刚才输入的密码
test#sh r # 此命令的完整写法是show running-start,此处的sh r用的是省略的写法,因无其他重复的命令所以可以被执行。
Building configuration... Current configuration : 1559 bytes ! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname test # 注意此处显示的是我们配置的设备的名字 ! boot-start-marker boot-end-marker ! enable password cisco # 此处显示的是刚才我们配置的enable密码,注意此时是用明文显示的,有点不安全。 ! no aaa new-model ! resource policy ! memory-size iomem 5 ip subnet-zero !
# 到这一行其实并未全部显示完配置的内容,我们可以按键盘上的任意键来终止继续显示。在显示的过程中通过按回车键可以逐行显示,按空格键可以一页一页的显示。这些操作可在实际的设备中体会。
test#conf t # 重新进入到全局配置模式
test(config)#service password-encryption # 利用这条命令给密码加密显示。
test(config)#end
test#sh r # 退出到全局配置模式后,验证刚才的配置。
Building configuration...
Current configuration : 1565 bytes ! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname test ! boot-start-marker boot-end-marker ! enable password 7 070C285F4D06 # 注意此处刚才明文显示的密码已经变成加密显示了,这样从一定程度上保证了密码的安全。 ! no aaa new-model ! resource policy ! memory-size iomem 5 ip subnet-zero ! # 验证完毕后按任何一个键中断显示,下面的内容说明终端登陆密码的配置。
test#conf t
Enter configuration commands, one per line. End with CNTL/Z.
test(config)#no service password-encryption
# 可利用这条命令(前面加no)来去掉密码加密功能,cisco的所有命令都可以通过这种方式来禁止。
test(config)#line con
test(config)#line console 0 # 利用这条命令来配置用超级终端登陆时的一些参数。
test(config-line)#pass
test(config-line)#password cisco # 添加密码,此处我们配置的密码为cisco
test(config-line)#logging ?
# 在任何情况下如果你忘记了命令的相关参数可以用?来获得提示和帮助
synchronous Synchronized message output
test(config-line)#logging sy
test(config-line)#logging synchronous
# 在我们进行配置时,IOS会产生一些即时的提示信息,而这些信息会冲乱我们的光标显示,用这条命令可以将光标规矩在下一行,即使出现了一些即时的提示。
test(config-line)#exit # 退出当前console口的参数配置
test(config)#line vt? # telnet登陆时相关参数的配置,此处用了?来寻求提示。
<0-134> First Line number aux Auxiliary line console Primary terminal line tty Terminal controller vty Virtual terminal x/y Slot/Port for Modems
test(config)#line vty 0 4 # 我们配置虚拟终端的0到4,也就是同时允许5个用户可以telnet到这台设备上来。
test(config-line)#password cisco # 我们配置telnet时的密码为cisco,如果此处我们不设置密码,那么用telnet来登陆的时候并不会以空密码登陆,而是会给你提示说:相关密码没有设置,禁止登陆。所以我们为了能远程telnet到这台设备,此处的密码一定要设置好。
test(config-line)#login # 这条命令是允许通过telnet来登录
test(config-line)#exit # 退出当前配置模式到全局配置模式。
test#conf s # 我们在做配置的时候,会出现输入错误的情况,在这种情况下ios会以为你输入的是一个域名
Translating "s"...domain server (255.255.255.255) # 那么ios会做长时间的搜寻,试图找到这个域名对应的ip地址.......
Translating "s"...domain server (255.255.255.255) # 这段时间是比较长的,那么我们如何禁用它的这个功能呢?
% Unknown command or computer name, or unable to find computer address
test#conf t
Enter configuration commands, one per line. End with CNTL/Z.
test(config)#no ip domain-lookup # 在全局配置模式下,将ip域名的搜寻功能关闭就可以了。
test(config)#end
test#conf
*Mar 1 01:40:46.895: %SYS-5-CONFIG_I: Configured from console by console
test#conf x # 将上述功能关闭以后,再有输入错误的情况会直接提示你输入错误。
^
% Invalid input detected at '^' marker.
test(config)#ip domain-name 202.102.128.68 # 如果有必要将设备配置上DNS功能的话就用这条命令。
### 基本配置完毕后我们验证一下所有的配置###
test#sh run
Building configuration... Current configuration : 1693 bytes ! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption # 密码加密显示功能打开 ! hostname test ! boot-start-marker boot-end-marker ! enable password 7 070C285F4D06 # 密码被加密显示了 ! no aaa new-model ! resource policy ! memory-size iomem 5 ip subnet-zero ! ! ip cef no ip domain lookup # 关闭了域名查找功能 no ip dhcp use vrf connected ! ! no ip ips deny-action ips-interface ! no ftp-server write-enable ! no crypto isakmp ccm ! (略……) ip http server no ip http secure-server ip classless ! control-plane ! line con 0 exec-timeout 0 0 password 7 094F471A1A0A # 用超级终端登陆的密码,也同样被加密显示 logging synchronous line aux 0 line vty 0 4 password 7 00071A150754 # 用telnet登陆的密码,也同样被加密显示 login ! ! end
3、cisco设备端口配置详解
User Access Verification
# 从dos提示符下运行telnet ip地址,就会连接到相应的交换机或者路由器
Password: # 输入配置号的telnet密码,也就是上节提到的vtp中的密码
test>en # 进入特权模式
Password: # 输入特权模式密码,也就是上节提到的enable密码。注意这些密码在输入的时候屏幕是不显示的。
test#
test#
test#sh ip int brief # 查看当前所有端口状态,包括vlan和实际的物理接口状态
Interface IP-Address OK? Method Status Protocol
# 这行列示的各种状态的名称
FastEthernet1 unassigned YES NVRAM down down
Vlan1 192.168.113.254 YES NVRAM up up
# vlan1的状态是active
Vlan2 172.16.0.2 YES NVRAM up up Vlan10 192.168.101.254 YES NVRAM up up Vlan20 192.168.102.254 YES NVRAM up up Vlan30 192.168.103.254 YES NVRAM up up Vlan40 192.168.104.254 YES NVRAM up up Vlan50 192.168.105.254 YES NVRAM up up Vlan60 192.168.106.254 YES NVRAM up up Vlan70 192.168.107.254 YES NVRAM up up Vlan80 192.168.108.254 YES NVRAM up up Vlan100 192.168.110.254 YES NVRAM up up Vlan110 192.168.111.254 YES NVRAM up up Vlan120 192.168.112.254 YES NVRAM up up Vlan150 192.168.100.254 YES NVRAM up up Vlan160 192.168.115.254 YES NVRAM up up GigabitEthernet1/1 unassigned YES unset up up
# 物理接口gi1/1也是active状态
GigabitEthernet1/2 unassigned YES unset down down GigabitEthernet1/3 unassigned YES unset down down GigabitEthernet1/4 unassigned YES unset down down GigabitEthernet1/5 unassigned YES unset down down GigabitEthernet1/6 unassigned YES unset down down GigabitEthernet1/7 unassigned YES unset down down GigabitEthernet1/8 unassigned YES unset down down GigabitEthernet1/9 unassigned YES unset down down
# 说明:通过上述命令即可以查看当前设备所有状态的情况也可以查看端口的表示方式。在此例中我们登陆的是一台cisco4503的三层交换机;其中GigabitEthernet1/1,表示的是这台交换机上的第1块业务板的第1个端口,并且此端口是个千兆端口;而GigabitEthernet3/19表示的是这台交换机上的第3块业务版的第19个端口,并且此端口也是一个千兆端口,其他的端口以此类推。千兆端口的名称为:GigabitEthernet,百兆端口的名称为:FastEthernet。
test# conf t
# 进入到全局配置模式。要想对端口、vlan、路由等操作一定要到全局配置模式中来。
Enter configuration commands, one per line. End with CNTL/Z.
test(config)#inter
test(config)#interface gi1/2
# 通过此命令可进去端口配置模式,此处我们进入的是GigabitEthernet1/2口,gi1/2为简写。
test(config-if)#?
#回车后进入到端口配置模式,注意提示符的变化,输入?寻求在这个模式着那个的帮助。
Interface configuration commands: access-group Access group configuration arp Set arp type (arpa, probe, snap) or timeout auto Configure Automation backup Modify backup parameters bandwidth Set bandwidth informational parameter bgp-policy Apply policy propogated by bgp community string carrier-delay Specify delay for interface transitions cdp CDP interface subcommands channel-group Etherchannel/port bundling configuration channel-protocol Select the channel protocol (LACP, PAgP) dampening Enable event dampening default Set a command to its defaults delay Specify interface throughput delay description Interface specific description dot1x Interface Config Commands for 802.1x duplex Configure duplex operation. exit Exit from interface configuration mode flow-sampler Attach flow sampler to the interface flowcontrol Configure flow operation. help Description of the interactive help system ip Interface Internet Protocol config commands isis IS-IS commands iso-igrp ISO-IGRP interface subcommands keepalive Enable keepalive l2protocol-tunnel Tunnel Layer2 protocols lacp LACP interface subcommands load-interval Specify interval for load calculation for an interface logging Configure logging for interface loopback Configure internal loopback on an interface mac MAC interface commands macro Command macro max-reserved-bandwidth Maximum Reservable Bandwidth on an Interface mtu Set the interface Maximum Transmission Unit (MTU) no Negate a command or set its defaults pagp PAgP interface subcommands power Power configuration qos QoS configuration rmon Configure Remote Monitoring on an interface service-policy Configure QoS Service Policy shutdown Shutdown the selected interface snmp Modify SNMP interface parameters spanning-tree Spanning Tree Subsystem speed Configure speed operation. storm-control storm configuration switchport Set switching mode characteristics timeout Define timeout values for this interface transmit-interface Assign a transmit interface to a receive-only interface tx-queue Configure interface transmit queue udld Configure UDLD enabled or disabled and ignore global UDLD setting vlan-range config vlan
test(config-if)#speed ?
# 我们可指定这个端口的速度,比如这个端口接的是一个百兆的收发器,我们就可以强制将此端口设置成100M
10 Force 10 Mbps operation # 强制此端口为10M
100 Force 100 Mbps operation # 强制此端口为100M
1000 Force 1000 Mbps operation # 强制此端口为1000M
auto Enable AUTO speed configuration # 允许速度自动协商
test(config-if)#speed 100
# 通过此命令就可将此端口强制设成100M,默认的状态下是auto。
test(config-if)#duplex ? # 用此命令可配置此端口的双工模式,有3个选项供选择。
auto Enable AUTO duplex configuration # 自动配置此端口的双工模式
full Force full duplex operation # 强制此端口为全双工模式
half Force half-duplex operation # 强制此端口为半双工模式
test(config-if)#duplex auto
test(config-if)#end # 用end命令可直接退回到特权模式,用exit是一层一层的退出。
test#terminal monitor # 打开终端监控。当用telnet登陆的时候默认是不显示各端口的实时变化情况的,打开这个功能就能实时的看到这台交换机上哪个端口up,哪个端口down,这对于排错的时候是很有帮助的。
test#conf t
Enter configuration commands, one per line. End with CNTL/Z.
test(config)#int gi1/2 # 重新回到端口配置模式
test(config-if)#shut # 此命令可手工关闭此端口
test(config-if)#no shut # 此命令为打开此端口
test(config-if)#switchport access vlan ? # 这条命令可配置此端口属于哪个vlan,当然此vlan要事先建好。
<1-4094> VLAN ID of the VLAN when this port is in access mode
dynamic When in access mode, this interfaces VLAN is controlled by VMPS
test(config-if)#switchport access vlan 100 # 我们配置此端口属于vlan100,如果此端口事先属于其他vlan那么,会从其他vlan退出
test(config-if)#exit
多端口一起配置 使用以下命令
test(config)#int rang # 亦可成批的配置端口,利用这个命令
test(config)#int range gi 1/1 - 5 # 表示同时对gi1/1到gi1/5这5个端口进行操作,注意命令“1 - 5”,之间有空格。
test(config-if-range)#switchport access vlan 100 # 可同时配置这5个端口属于vlan100
test(config-if-range)#shutdown # 可同时关闭这5个端口
test(config-if-range)#no shutdown # 可同时启用这5个端口
test(config-if-range)#exit
test(config-if)#end
test#sh int gi1/2 # 在特权模式中,可查看单个端口的状态
GigabitEthernet1/2 is down, line protocol is down (notconnect) # 这行说明此端口当前的状态是down的 Hardware is GigabitEthernetPort, address is 001a.6db4.a3c1 (bia 001a.6db4.a3c1) # 此端口的MAC地址 MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Auto-duplex, Auto-speed, link type is auto, media type is 10/100/1000-TX # 此端口的模式为10/100/1000-TX input flow-control is off, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters never Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts (0 multicast) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 input packets with dribble condition detected 0 packets output, 0 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out test#sh int gi1/1 GigabitEthernet1/1 is up, line protocol is up (connected) # 这行表明此端口是up的,并且连有网线。 Hardware is GigabitEthernetPort, address is 001a.6db4.a3c0 (bia 001a.6db4.a3c0) MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 1000Mb/s, link type is auto, media type is 10/100/1000-TX input flow-control is off, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters never Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 1293000 bits/sec, 426 packets/sec 5 minute output rate 2410000 bits/sec, 528 packets/sec 273591244 packets input, 142285545179 bytes, 0 no buffer Received 0 broadcasts (0 multicast) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored # 没有输入错误,表明链路状态良好 0 input packets with dribble condition detected 335026620 packets output, 223732323465 bytes, 0 underruns # 输出数据包统计 0 output errors, 0 collisions, 0 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out
test#wr # 保存刚才的配置结果