Frequently used commands for Cisco IOS
命令参考文档:
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750/software/release/12-2_55_se/commmand/reference/3750cr/cli1.html#wpmkr11906496
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/12-2_53_se/configuration/guide/3750xscg/swtrbl.html
http://www.cisco.com/c/en/us/support/docs/security/ios-firewall/23602-confaccesslists.html
Edit
CLI命令模式
User EXEC
Switch>
Privileged EXEC
Switch> enable
Switch#
Global configuration
Switch# configure terminal
Switch(config)# ?
Interface configuration
Switch(config)# interface gigabitethernet0/1/1
Switch(config-if)#
Config-vlan
Switch(config)# vlan 20
Switch(config-vlan)#
VLAN configuration
Switch# vlan database
Switch(vlan)#
Line configuration
Switch(config)# line vty 0 7
Switch(config-line)#
Edit
初始配置
1. 系统名称
(config)#hostname Cisco3750
2. 设置时间
Switch# clock set 13:32:00 23 July 2001
Switch# show clock
3. 控制台密码:
config)#line console 0
config-line)#password 123
config-line)#login
4. VYT密码:
(config)#line vty 0 15
(config)#password 123
(config)#login
5. 特权密码:
(config)#enable password /secret 123
(config)#service password-encrytion
6. SSH登陆
(config)#ip domain-name Neo.com
(config)#aaa new-model
(config)#username neo.niu password neo1234
(config)#crypto key generate rsa
(config)#line vty 0 15
(config-line)#transport input ssh
(config-line)#login local
7. 设置管理IP
(config)#interface vlan 100
(config-if)#ip address 192.168.0.100 255.255.255.0
(config-if)#no shutdown
8. DNS设置
(config)#ip domain-name noetest.com
(config)#ip name-server 8.8.8.8 202.99.96.68
(config)#ip domain-lookup
9. 设置默认网关
(config)#ip default-gateway 192.168.0.1
Edit
10. 配置静态路由
(config)#ip route 10.0.0.0 255.0.0.0 172.21.10.240 10
(config)#ip route 10.0.0.0 255.0.0.0 172.21.10.241 100
进入100M/bit Gigabit 10-Gigabit 接口方法
100M Ethernet port
Switch(config)# interface f1/0/1
Gigabit Ethernet port
Switch(config)# interface gigabitethernet1/0/4
10-Gigabit Ethernet port
Switch(config)# interface tengigabitethernet1/0/1
同时对多个接口进行配置
Switch(config)# interface range gigabitethernet1/0/1 – 3 , tengigabitethernet1/0/1 – 2
Edit
系统监控
1. 配置日志服务器
(config)#logging 192.168.1.30
2. SNMP设置
snmp-server community string [view view-name] [ro | rw] [access-list-number] #命令格式
This example shows how to permit any SNMP manager to access all objects with read-only permission using the community string public. The switch also sends VTP traps to the hosts 192.180.1.111 and 192.180.1.33 using SNMPv1 and to the host 192.180.1.27 using SNMPv2C. The community string public is sent with the traps.
Switch(config)# snmp-server community public
Switch(config)# snmp-server enable traps vtp
Switch(config)# snmp-server host 192.180.1.27 version 2c public
Switch(config)# snmp-server host 192.180.1.111 version 1 public
Switch(config)# snmp-server host 192.180.1.33 public
This example shows how to allow read-only access for all objects to members of access list 4 that use the comaccess community string. No other SNMP managers have access to any objects. SNMP Authentication Failure traps are sent by SNMPv2C to the host cisco.com using the community string public.
Switch(config)# snmp-server community comaccess ro 4
Switch(config)# snmp-server enable traps snmp authentication
Switch(config)# snmp-server host cisco.com version 2c public
This example shows how to send Entity MIB traps to the host cisco.com. The community string is restricted. The first line enables the switch to send Entity MIB traps in addition to any traps previously enabled. The second line specifies the destination of these traps and overwrites any previous snmp-server host commands for the host cisco.com.
Switch(config)# snmp-server enable traps entity
Switch(config)# snmp-server host cisco.com restricted entity
3. 端口镜像
定义源端口
Monitor session {session-number} source {interface interface-number | vlan vlan-ID} [rx|tx|both]
定义目的端口
Monitor session {session-number} destination {interface interface-number | vlan vlan-ID} [rs|tx|both]
This example shows how to create a local SPAN session 1 to monitor both sent and received traffic on source port 1 on stack member 1 to destination port 2 on stack member 2:
Switch(config)# monitor session 1 source interface gigabitethernet2/0/1 both
Switch(config)# monitor session 1 destination interface gigabitethernet2/0/2
This example shows how to delete a destination port from an existing local SPAN session:
Switch(config)# no monitor session 2 destination gigabitethernet2/0/2
This example shows how to limit SPAN traffic in an existing session only to specific VLANs:
Switch(config)# monitor session 1 filter vlan 100 – 110
This example shows how to configure RSPAN source session 1 to monitor multiple source interfaces and to configure the destination RSPAN VLAN 900.
Switch(config)# monitor session 1 source interface gigabitethernet2/0/1
Switch(config)# monitor session 1 source interface port-channel 2 tx
Switch(config)# monitor session 1 destination remote vlan 900
Switch(config)# end
远程端口镜像
源端口和目的端口位于不同交换机上,原理是将源端口的流量镜像到本端VLAN中,然后通过TRUNK传送到目的设备,再将本地设备中VLAN中的数据镜像到指定的端口中。
switch A:
(config)#vlan 900
(config-vlan)#remote-span
(config)#monitor session 1 source int g1/0/1 -10
(config)#monitor session 1 destination remote vlan 900
switch B
(config)#vlan 900
(config-vlan)#remote-span
(config)#monitor session 1 source remote vlan 900
(config)#monitor session 1 destination interface g1/0/23
将VLAN 900中的流量镜像到G1/0/23,这时在G1/0/23上接设备就可以远程抓取数据包。
Edit
管理配置
1. 将运行配置保存到NVRAM中
Switch#copy running-config startup-config
2. 保存NVRAM配置到TFTP server
Switch#copy startup-config tftp
3. 备份IOS文件
Switch#copy flash tftp
4. 系统升级
Switch#copy tftp flash
Switch#configure terminal
Switch(config)#boot system flash:xxxxxxxxxxxxxxxxxxxxxxxxx
Switch#copy run start
Switch#reload
Edit
配置loopback 接口
配置loopback 接口作为此路由器的Router ID。好处是loopback接口为逻辑接口,不会down,
Switch(config)#interface loopback 0
Switch(config-if)#ip address 192.168.11.11 255.255.255.255
Edit
指定一个三层接口
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.20.135.21 255.255.255.0
Switch(config-if)# no shutdown
Switch(config)# vlan internal allocation policy ascending
是内部VLAN在设备内存中排序是增序还是降序,主要用于交换机一个二层端口变成三层端口,会用一个内部VLAN,如果用这个命令,内部vlan的占用就是递增顺序,
1006-4094 是内部VLAN,他们能通过vtp协议进行传播
Edit
VLAN配置
1. 划分VLAN,设置vlan名
Switch# configure terminal
Switch(config)# vlan 200
Switch(config-vlan)# name vlan_manager
Switch(config-vlan)# end
2. 将接口加入指定VLAN
Switch# configure terminal
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 200
Switch(config-if)# description WEBserver
Switch(config-if)# switchport host #启用PortFast并禁用EtherChannel特性
3. 删除VLAN
Switch# configure terminal
Switch(config)# no vlan 200
Edit
配置VLAN间路由
Switch(config)# ip routing
Switch(config)#router ospf 1
Switch(config-router)#network 192.168.0.0 0.0.255.255 area 0
Switch(config)#interface vlan 100
Switch(config-if)#ip address 192.168.0.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config)#interface vlan 200
Switch(config-if)#ip address 192.168.2.1 255.255.255.0
Switch(config-if)#no shutdown
Edit
配置Trunk
switchport trunk encapsulation {isl | dot1q | negotiate}
Configure the port to support ISL or IEEE 802.1Q encapsulation or to negotiate (the default) with the neighboring interface for encapsulation type.You must configure each end of the link with the same encapsulation type.
switchport mode {dynamic {auto | desirable} | trunk}
Configure the interface as a Layer 2 trunk (required only if the interface is a Layer 2 access port or tunnel port or to specify the trunking mode).
dynamic auto—Set the interface to a trunk link if the neighboring interface is set to trunk or desirable mode. This is the default.
dynamic desirable—Set the interface to a trunk link if the neighboring interface is set to trunk, desirable, or auto mode.
trunk—Set the interface in permanent trunking mode and negotiate to convert the link to a trunk link even if the neighboring interface is not a trunk interface.
This example shows how to configure a port as an IEEE 802.1Q trunk. The example assumes that the neighbor interface is configured to support IEEE 802.1Q trunking.
Switch# configure terminal
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# switchport mode dynamic desirable
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# end
从Trunk中移除指定VLAN
switchport trunk allowed vlan {add | all | except | remove} vlan-list
switchport trunk pruning vlan {add | except | none | remove} vlan-list [,vlan[,vlan[,,,]]
(Optional) Configure the list of VLANs allowed on the trunk.
For explanations about using the add, all, except, and remove keywords, see the command reference for this release.
The vlan-list parameter is either a single VLAN number from 1 to 4094 or a range of VLANs described by two VLAN numbers, the lower one first, separated by a hyphen. Do not enter any spaces between comma-separated VLAN parameters or in hyphen-specified ranges.
All VLANs are allowed by default.
To return to the default allowed VLAN list of all VLANs, use the no switchport trunk allowed vlan interface configuration command.
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# switchport trunk allowed vlan remove 200
Switch(config-if)# end
Edit
PVLAN配置
说明:pVLAN通常用于企业内部网,用来防止连接到某些接口或接口组的网络设备之间的相互通信,但却允许与默认网关进行通信。尽管各设备处于不同的pVLAN中,它们可以使用相同的IP子网。
PVLAN类型
每个pVLAN 包含2种VLAN :主VLAN(primary VLAN)和辅助VLAN(Secondary VLAN)。
辅助VLAN(Secondary VLAN)包含两种类型:隔离VLAN(isolated VLAN)和团体VLAN(community VLAN)。
接口类型
pVLAN中的两种接口类型:处在pVLAN中的交换机物理端口,有两种接口类型。
①混杂端口(Promiscuous Port)
②主机端口(Host Port)
例子说明:
Vlan200相关的PVLAN配置,其中包括团休vlan220和隔离valn230,端口5/1被邦定到团体vlan220,端口5/2被邦定到隔离vlan230。vlan200接口允许对辅VLAN220和vlan230的入口流量进行路由选择。
Switch# configure terminal
Switch(config)# vlan 200
Switch(config-vlan)# private-vlan primary #定义vlan类型为pvlan 主VALN
Switch(config)# vlan 220
Switch(config-vlan)# private-vlan community #定义vlan类型为pvlan 团体VALN
Switch(config)# vlan 230
Switch(config-vlan)# private-vlan isolated #定义vlan类型为pvlan 隔离vlan
Switch(config)# vlan 200
Switch(config-vlan)# private-vlan association 220,230 #将辅vlan关联到主vlan
Switch(config-vlan)# exit
Switch(config)# interface vlan 200
Switch(config-if)# private-vlan mapping add 220,230 #将辅vlan映射到主vlan的第3层vlan接口,允许pvlan进行三层交换
Switch(config)# interface FastEthernet 5/1
Switch(config-if)# switchport mode private-vlan host #定义端口为主机端口或混杂端口 {host | promiscuous} 混杂端口通常为路由器端口,备份服务器端口,或vlan接口. 对于混杂端口,通过将端口映射到PVLAN来配置接口 例如:(Switch(config-if)#switchport private-vlan mapping add 220,230)
Switch(config-if)# switchport private-vlan host-association 200 220
Switch(config)# interface FastEthernet 5/2
Switch(config-if)# switchport mode private-vlan host
Switch(config-if)# switchport private-vlan host-association 200 230 #将隔离vlan关联到Pvlan
Edit
VTP配置
1. 配置VTP server
Switch(config)# vtp domain eng_group
Switch(config)# vtp mode server
Switch(config)# vtp password mypassword
vtp version {1 | 2 | 3}
2. 配置VTP client
Switch(config)# vtp domain eng_group
Switch(config)# vtp mode client
Switch(config)# vtp password mypassword
Edit
STP配置
1. 指定影响根网桥的优先级
Switch(config)#spanning-tree vlan 200 priority 4096
设置最低的网桥优先级以使这台交换机成为根网桥,或者
Switch(config)#spanning-tree vlan 1 root primary
Switch(config)#spanning-tree vlan 200 priority 8192
设置次低的网桥优先级以使这台交换机成为备用根网桥,或者
Switch(config)#spanning-tree vlan 2 root primary
2. 手工指定开销
选择进入转发状态的接口时,生成树需要考虑根路径开销。开销越小,越优先。接口开销的取值范围是1到200000000
Switch(config-if) #spanning-tree cost 10
Switch(config-if) #spanning-tree vlan 100 cost 20
spanning-tree mode pvst
就是启用基于VLAN的生成树模式,这是思科的独有用法,简单说就是一个VLAN一棵树,在一个网络里,不同的VLAN可以有不同的根桥,不同的阻塞端口等等,其主要目的是为了提高链路利用率(可以想象,如果所有VLAN都是同一棵树,必定有一部分线路处于完全的block状态)
spanning-tree extend system-id
启用扩展SID,首先,每个生成树实例都有一个bridge-id,根据刚才PVST的解释,一个VLAN可以拥有一棵树,在老机器里,VLAN号只支持到1024,后来扩展到4096,而bridge-id自然也需要支持到这么多,就需要这个命令。
Edit
配置LACP EtherChannel (三层)
带宽增加:带宽相当于组成组的端口的带宽总和。
增加冗余:只要组内不是所有的端口都down掉,两个交换机之间仍然可以继续通信。
负载均衡:可以在组内的端口上配置,使流量可以在这些端口上自动进行负载均衡。
端口聚合它可将多物理连接当作一个单一的逻辑连接来处理,它允许两个交换器之间通过多个端口并行连接同时传输数据以提供更高的带宽、更大的吞吐量和可恢复性的技术。
EtherChannel
1. switchA配置
Switch(config)# interface gigabitEthernet 5/3
Switch(config-if) channel-protocol lacp
Switch(config-if) channel-group 20 mode active
Switch(config)# interface gigabitEthernet 5/4
Switch(config-if) channel-protocol lacp
Switch(config-if) channel-group 20 mode active
Switch(config)#interface port-channel 20
Switch(config-if)#ip address 10.1.1.1 255.255.255.0
2. switchB配置
Switch(config)# interface gigabitEthernet 1/3
Switch(config-if) channel-protocol lacp
Switch(config-if) channel-group 20 mode active
Switch(config)# interface gigabitEthernet 1/4
Switch(config-if) channel-protocol lacp
Switch(config-if) channel-group 20 mode active
Switch(config)#interface port-channel 20
Switch(config-if)#ip address 10.1.1.2 255.255.255.0
3. EetherChannel 负载均衡
Switch(config)# port-channel load-balance src-dst-ip
Edit
OSPF简单配置
Switch(config)#router ospf 1
Switch(config-router)#network 192.168.0.0 0.0.255.255 area 0
1、明文认证:
Switch(config)# area 0 authentication
Switch(config)# int gigabitEthernet 1/4
Switch(config-if)# ip ospf authentication-key [密码]
2、加密认证(MD5):
Switch(config)# area [区域ID] authentication message-digest
Switch(config)# int gigabitEthernet 1/4
Switch(config-if)# ip ospf message-digest-key [Key-ID] authentication [密码] //Key-ID:密匙链ID,取值1-255,验证双方需
Edit
Access Control List
访问控制列表的原理
对路由器接口来说有两个方向
出:已经经路由器的处理,正离开路由器接口的数据包
入:已经到达路由器接口的数据包,将被路由器处理。
匹配顺序为:"自上而下,依次匹配".默认为拒绝
访问控制列表的类型
标准访问控制列表:一般应用在out出站接口。建议配置在离目标端最近的路由上
扩展访问控制列表:配置在离源端最近的路由上,一般应用在入站in方向
命名访问控制列表:允许在标准和扩展访问列表中使用名称代替表号
访问控制列表使用原则
最小特权原则
只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。
最靠近受控对象原则
所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。
默认丢弃原则
在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。
标准的ACL使用 1 ~ 99 以及1300~1999之间的数字作为表号,扩展的ACL使用 100 ~ 199以及2000~2699之间的数字作为表号
1. 标准访问列表配置实例:
(config)#access-list 10 deny 192.168.1.0 0.0.0.255
(config)#access-list 10 permit any
(config)#int gigabitEthernet 1/4
(config-subif)#ip access-group 10 out
阻止来自网段192.168.1.0/24 的机器从gigabitEthernet 1/4端口出去,访问列表在配置好之后,要把它在端口上应用,否则配置了还是无效的。
删除已建立的标准ACL
(config)#no access-list access-group 10
2. 扩展访问控制列表
This is the command syntax format of extended ACLs. Lines are wrapped here for spacing considerations.
IP
access-list access-list-number
[dynamic dynamic-name [timeout minutes]]
{deny|permit} protocol source source-wildcard
destination destination-wildcard [precedence precedence]
[tos tos] [log|log-input] [time-range time-range-name]
ICMP
access-list access-list-number
[dynamic dynamic-name [timeout minutes]]
{deny|permit} icmp source source-wildcard
destination destination-wildcard
[icmp-type [icmp-code] |icmp-message]
[precedence precedence] [tos tos] [log|log-input]
[time-range time-range-name]
TCP
access-list access-list-number
[dynamic dynamic-name [timeout minutes]]
{deny|permit} tcp source source-wildcard [operator [port]]
destination destination-wildcard [operator [port]]
[established] [precedence precedence] [tos tos]
[log|log-input] [time-range time-range-name]
UDP
access-list access-list-number
[dynamic dynamic-name [timeout minutes]]
{deny|permit} udp source source-wildcard [operator [port]]
destination destination-wildcard [operator [port]]
[precedence precedence] [tos tos] [log|log-input]
[time-range time-range-name]
扩展访问控制列表配置实例:
(config)#access-list 110 deny tcp any host 192.168.1.12 eq www
(config)#access-list 110 deny tcp any host 192.168.1.12 eq ftp
(config)#int gigabitEthernet 1/4
(config-if)#ip access-group 110 out
上面配置的含义是拒绝访问192.168.1.12的www和ftp服务
3. 命名访问控制列表
不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。也就是说修改一条或删除一条都会影响到整个ACL列表。这一个缺点影响了我们的工作,为我们带来了繁重的负担。不过我们可以用基于名称的访问控制列表来解决这个问题。
ip access-list {standard/extended} access-list-name(可有字母,数字组合的字符串)
例如 :ip access-list standard neotest //建立一个名为neotest的标准访问控制列表。
命名访问控制列表使用方法:
(config)#ip access-list standard +自定义名
(config-std-nac1)#11 permit tcp any host 192.168.1.12 eq ftp //默认情况下第一条为10,第二条为20.如果不指定序列号,则新添加的ACL被添加到列表的末尾
(config-std-nac1)#deny any
对于命名ACL来说,可以向之前的acl中插入acl,删除也可以删除单条acl,
(config)#ip access-list standard benet
(config-std-nasl)#no 11
使用show access-lists可查看配置的acl信息
总结:如果设置ACL的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL规则。
4. 反向访问控制列表
反向访问控制列表属于ACL的一种高级应用。他可以有效的防范病毒。通过配置反向ACL可以保证B可以访问A,但A不能访问B(假设A为危险用户,B为服务器)
反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established即可。
反向访问控制列表配置实例:
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24.在172.16.4.0/24网段中的计算机都是服务器,我们通过反向ACL设置保护这些服务器免受来自172.16.3.0这个网段的病毒***。
access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established //定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。
假如172.16.4.0提供了WWW服务的话,需要在ESTABLISHED那句前头再添加一个扩展ACL规则,例如:access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.13 0.0.0.0 eq www
使 172.16.3.0用户可以访问172.16.4.0 的80端口。
转载于:https://blog.51cto.com/neowlyz/1616084