Cisco IOS 常用命令和配置
一、Cisco IOS 常用命令和配置
以一些常用配置的步骤作为例子,展示命令用法和配置过程。
1.视图
用户模式:默认视图
特权模式:enable 简写en
全局模式:configure terminal 简写conf t
回退:exit 或使用快捷键Ctrl+z
跳转到特权模式:end
2.配置主机名
设置主机名(需在全局模式下):(config)#hostname R3
设置主机名为R3
>en
#进入特权模式
#conf t
#进入全局模式
(config)#hostname R3
#设置主机名为R3
(config)#no hostname
#恢复默认主机名主机名字符要求:
- 字母开头
- 字母或数字结尾
- 无空格
- 可用字母、数字和下划线
- 长度不超过63个字符
3.保存和删除配置
保存配置:write
查看开启启动配置:show startup-config
复制当前配置到开机配置中去:copy running-config start
恢复出厂设置:write erase
4.常规系统设置
设置标语:banner motd <标语内容>
设置时区为GMT+8:clock timezone GMT +8
设置时间:clock set 00:00:00 25 jun 2099
5.设置通用视图密码
设置从用户模式进入到特权模式的密码enable password <密码>
设置密码,明文保存(可通过查看配置看到密码)
enabld secret <密码>
设置密码,使用密文保存。
example-1 设置明文特权模式密码
en
#进入特权模式
conf t
#进入全局模式
enable password 12345
#设置特权模式密码为12345,明文保存
end
#跳转到特权模式
show run | sec password
#查看密码信息
no service password-encryption
enable password 12345
#屏幕输出↑example-2 设置密文特权模式密码
en
#进入特权模式
conf t
#进入全局模式
enable secret 12345
#设置特权模式密码为12345,密文保存
The enable secret you have chosen is the same as your enable password.
This is not recommended. Re-enter the enable secret.
#屏幕输出,这里由于之前已经设置了明文密码,且设置的密文密码和明文密码一致,因此会提示不够安全,可忽略。
end
#跳转到特权模式
show run | sec secret
#查看密码信息
enable secret 5 $1$LM9n$OM.4GxtTSQfxFuJqjsE1X.
#屏幕输出,这里的5表示使用MD5加密。6.设置远程管理密码
基本概念:在连接到设备进行管理时需要验证密码。在成功远程连接到设备后,如果还有视图密码,则在进行视图切换时还要输入视图密码,进行视图的切换。
管理密码可以使用通用密码和本地账户进行登录。设备的远程管理方式主要有2种:1.console线连接 2.远程连接(telnet和ssh)。需要针对每一种管理方式单独进行配置。
example-1 设置console线直连的通用管理密码
(config)# line console 0
#进入console 0 线程
(config-line)# password secret <密码>
#设置密码并将密码密文保存
(config-line)# login
#设置密码验证方式为通用密码。example-2 设置console线直连管理密码,验证方式为使用本地用户方式
(config)# line console 0
#进入console 0 线程
(config-line)# login local
#设置密码验证方式为本地用户。设置前需要创建本地用户。创建本地用户
在将远程管理的验证方式设置为用户验证之前,需要先创建用户。
用户创建需要指定账户的权限和密码保存方式。
example-3 建立一个本地用户
(config)# username <用户名> privilege <0-15> secret <密码>
#privilege 分为0-15,3及3以上是管理员权限。
#secret 表示密码使用密文保存。example-4 设置telnet远程管理密码
使用telnet管理
(config)# line vty 0 4
#进入远程线程
(config-line)# transport input telnet
#启用telnet
(config-line)# password <密码>
#设置telnet通用密码
#接下来设置使用通用密码或本地用户方式登录,二选一。
(config-line)# login
#使用通用密码登录
(config-line)# login local
#使用本地用户登录example-5 设置SSH远程管理密码
R3>show ip ssh
#查看设备是否支持SSH
SSH Disabled - version 1.99
%Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).
Authentication methods:publickey,keyboard-interactive,password
Authentication timeout: 120 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 1024 bits
IOS Keys in SECSH format(ssh-rsa, base64 encoded): NONE
#屏幕输出,设备支持SSH,当前SSH未启用。version为1.99版本,表示设备支持SSHv1和SSHv2.建议只启用SSHv2。
en
#进入特权模式
conf t
#进入全局模式
ip domain-name cicso.com
#在全局模式配置网络IP域名
ip ssh version 2
#启用SSHv2版本
crypto key genersae rsa
#生成RSA密钥对
The name for the keys will be: R3.cicso.com
Choose the size of the key modulus in the range of 360 to 4096 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024
#屏幕输出,在这里需要输入密钥模数长度。这里选择1024位。
*Sep 25 07:27:44.770: %SSH-5-ENABLED: SSH 2.0 has been enabled
#屏幕输出,提示SSH2.0已经启用
(config)#username admin secret ccna
#设置用户名和密码,具体参数用法见本节的example-3。
(config)#line vty 0 4
#进入vty线路配置,VTY表示(virtual type terminal) 虚拟终端连接,其中0表示第一个线程号,4表示最后一个线程号。0-4一共有5个线程号,现在则是对5个线程号同时进行配置,不同设备的线路范围是不同的。
(config-line)#transport input ssh
#配置vty线路上启用的协议,这里设置为ssh,因此也就仅启用了ssh协议。可使用空格隔开输入启用多个协议,或使用all则配置启用全部支持的协议。
(config-line)#login local
#这里使用本地用户进行SSH验证
(config-line)#end
#跳转到特权模式
show ip ssh
#查看SSH的版本和配置数据
show ssh
#查看当前创建的SSH连接7.查看各类信息
SHOW命令在特权模式下执行
#show ip interface brief //查看接口列表,IP
#show running-config //查看当前运行配置
#show running-config interface e0/0 //查看接口e0/0配置信息
#show ip route //查看路由表
#show interfaces ethernet 0/0 //查看接口物理信息,状态、IP、MAC地址、MTU、带宽、延时
#show line //查看当前登录到设备的情况
逐步完善...8.配置接口IP地址
example-1 手动配置接口的静态IP地址信息
(config)#interface ethernet 0/0
#进入以太网接口e0/0
(config-if)#ip address 192.168.1.1 255.255.255.0
#配置IP地址
(config-if)#no shutdown
#开启端口9.配置静态路由
静态路由的种类
- 下一条静态路由:仅指定下一条IP地址
- 直连静态路由:仅指定路由器送出接口
- 完全指定静态路由:指定下一条IP地址和送出接口
使用show ip route命令查看路由表
使用ip route命令配置静态路由。
命令的格式如下:
ip route <目的网段> <目的网段掩码> <下一跳IP|下一跳送出接口> {管理距离/优先级}
example-1 配置下一跳静态路由
(config)#iproute 172.16.1.0 255.255.255.0 172.16.2.2
#所有目标IP地址在172.16.1.0/24的数据包,下一跳转发给ip172.16.2.2
(config)#iproute 192.168.1.0 255.255.255.0 172.16.2.2
(config)#iproute 192.168.2.0 255.255.255.0 172.16.2.2
#在路由器转发任何数据包之前,路由表过程必须确定用于转发数据包的送出接口。此过程称之为“路由解析”。example-2 配置直连静态路由
(config)#iproute 172.16.1.0 255.255.255.0 s0/0/0
#所有目标IP地址在172.16.1.0/24的数据包,
(config)#iproute 192.168.1.0 255.255.255.0 s0/0/0
(config)#iproute 192.168.2.0 255.255.255.0 s0/0/0
#路由表匹配后直接从送出接口转发,无需其它查找。example-3 配置完全指定静态路由
(config)#iproute 172.16.1.0 255.255.255.0 g0/0 172.16.2.2
#所有目标IP地址在172.16.1.0/24的数据包,下一跳转发给ip172.16.2.2并指定从g0/0接口送出
(config)#iproute 192.168.1.0 255.255.255.0 g0/0 172.16.2.2
(config)#iproute 192.168.2.0 255.255.255.0 g0/0 172.16.2.2example-4 配置默认路由
(config)#iproute 0.0.0.0 0.0.0.0 172.16.2.2
#边缘路由器或末节路由器通常使用默认静态路由10.配置动态路由协议-EIGRP
使用router eigrp配置EIGRP路由协议
example-1 启用EIGRP路由并宣告接口
router eigrp 100
#设置EIGRP的AS为100,AS为自治系统编号,取值为1-65535。EIGRP域内的所有路由器都需要使用相同的自治系统编号。
#命令本身不启动EIGRP进程,仅提供对配置EIGRP设置的访问。
(config-router)#no auto-summary
#关闭自动汇总,支持自动汇总,不是CIDR。
(config-router)eigrp router-id 1.1.1.1
#配置EIGRP的router id。(不设置router id也不影响EIGRP运行)
#EIGRP的router id用于在EIGRP路由域内唯一标识每台路由器。router id在OSPF中更加重要,而在EIGRP中不那么明显。在IPV6中使用EIGRP时router id的必要性更为明显,对重分布来说是必要的。
(config-router)network 172.16.0.0 0.0.0.255
(config-router)network 192.168.10.0 0.0.0.255
#在子网172.16.0.0/24和192.168.0.0/24中的接口上启用EIGRP。
#通配符掩码用于通告特定子网,0表示重要,1表示不重要。example-2 查看EIGRP信息
show ip protocols
#查看当前运行中的路由协议
show running-config | section eigrp
#查看EIGRP配置
show ip eigrp neighbors
#查看EIGRP邻居
show ip route eigrp
#查看eigrp路由表
show ip eigrp topology
#查看拓扑表
show ip eigrp topology all-links
#查看所有物理链路example-3 关闭EIGRP进程
(config)#no router eigrp 100
#停止EIGRP进程,并删除现有EIGRP路由协议的配置11.配置动态路由协议-OSPF
进入OSPF配置模式
(config)#router osopf 10使用router-id命令配置router id
(config)#router-id 1.1.1.1
(config)#end使用network命令在接口上启动OSPF
(config-router)#network 172.16.1.0 0.0.0.255 area 0
(config-router)#network 172.16.3.0 0.0.0.3 area 0
(config-router)#network 192.168.10.4 0.0.0.3 area 0
(config-router)#end
#配置单区域OSPF时所有路由器需使用同样的area-id值。在单区域OSPF中建议使用ID 0,便于网络以后被修改为支持多区域OSPFv2。
#可以使用network 0.0.0.0. 0.0.0.0 area 0全部宣告查看当前运行中的路由协议
#show ip protocols配置被动接口
(config)#router ospf 10
(config-router)#passive-interface GigabitEthernet 0/0
(config-router)#end
配置被动接口将阻止路由消息从指定接口发出去。
在被动接口上无法形成邻居关系。清除OSPF进程,用于重新建立邻居
clear ip ospf process12.交换网络-VLAN配置
交换机初始配置中,所有的交换机端口都属于默认VLAN的一部分,思科的默认VLAN是VLAN 1。
ACCESS:接入模式
TRUNK:干道链路
本征VLAN:trunk模式的端口的默认VLAN,是VLAN 1。数据帧的VLAN-id与本征不相同则直接转发。若数据帧的VLAN-id与本征相同,则拆tag后转发。
放行列表:trunk模式端口默认放行all。
ACCESS端口收到数据包时,若无tag则打上tag后接收数据帧。若有tag,且tag与端口的vlan-id相同则拆tag接收。若tag与端口的vlan-id不同,则丢弃。
TRUNK端口收到数据包时,若无tag则打上tag后接收数据帧,VLAN-id等于本征ID,默认为VLAN 1。若有tag则直接接收。若tag中的VLAN-ID与本征ID相同,则拆tag后接收。
查看VLAN信息
#show vlan brief创建VLAN
(config)#vlan 10
(config-vlan)#创建vlan name(用作备注)
(config-vlan)#name <备注>将接口配置到vlan
(config)#interface ethernet 0/0
(config-if)#description <备注>
(config-if)#switchport mode access
#将端口配置为access模式
(config-if)#switchport access vlan 10
#将access模式的端口配置到VLAN 10将端口配置为trunk模式
(config)#interface ethernet 0/0
(config-if)#switchport trunk encapsulation dot1q
#定义trunk的封装协议(仅在模拟器中需要)
(config-if)#switchport mode trunk
#将接口配置为trunk模式
(config-if)#switchport trunk allowed vlan all
#放行列表允许all。
#all代表所有已创建的vlan,没创建则不包括。
#此条为默认,可以不配置。语音VLAN
switchport voice vlan 10
给ip电话做为接入VLAN间路由
二层交换机配合路由器或使用三层路由器实现。
通过网络实现不通VLAN间通信。
单臂路由
原理:
1.使用路由器的一个端口子端口,实现配置多个IP地址。
2.使用trunk链路实现单条线路通过多个VLAN的数据。
(config)#interface ethernet 0/0.10
#配置子接口IP。.10对应的VLAN-id,表示用来接收VLAN 10的数据。
(config-subif)#encapsulation dot1q 10
#路由器的三层接口,无法识别带有VLAN-tag的数据。开启dot1q协议封装。并指定VLAN 10。
(config-subif)#ip address 192.168.10.254 255.255.255.0
#配置IP地址,一般是PC的网关。三层路由实现VLAN间路由
原理:
1.配置SVI(虚拟VLAN接口),通过三层交换机内部直连路由通信。
(config)#interface vlan 10
#进入vlan 10的SVI接口
(config-if)#ip address 192.168.10.254 255.255.255.0
#配置IP地址
(config-if)#no shutdown
#开启端口13.VTP(VLAN中继协议)
配置vtp-server
vtp mode server
vtp password <密码>
vtp domain <域名>server与client之间需要trunk链路用来传递配置。
配置vtp-client
vtp mode client
vtp password <密码>
vtp domain <域名>当交换机配置为vtp-client模式时,将不允许手动创建vlan。
14.DHCP服务
配置DHCP服务器
(config)#ip dhcp pool <池名称>
(dhcp-config)#network 192.168.10.0 /24
#dhcp地址池网段
(dhcp-config)#default-router 192.168.10.254
#默认网关ip地址
(dhcp-config)#dns-server 1.1.1.1 2.2.2.2
#首选DNS及备用DNS服务器地址从地址池中排除IP
(config)#ip dhcp excluded-address <IP地址起始> <IP地址结束>
#排除一个IP地址范围,若范围为单个IP,则只排除单个IP地址。DHCP中继
当DHCP被VLAN隔离,需要做DHCP中继。
(config)#interface vlan 10
#进入SVI
(config-if)#ip helper-address <DHCP服务器IP地址>
#开启DHCP中继。将DHCP广播转发至目标DHCP服务器
show ip interface e0/0
#查看接口信息,Helper address is x.x.x.xdhcp管理命令
no service dhcp
#禁用DHCP服务
show running-config | section dhcp
#显示与dhcp相关的命令配置
show ip dhcp binding
#显示dhcp提供的IP地址与MAC地址绑定列表
show ip dhcp server statistics
#显示已发送和接收的dhcp消息数量计数信息
15.STP生成树协议
默认情况下STP自动开启。
关闭STP协议
(config)#no spanning-tree vlan 1
#关闭vlan 1 的stp协议16.ACL访问控制列表
基本ACL:编号1~99。可以过滤源IP地址。
扩展ACL:编号100~199。可过滤源IP地址、目的IP地址、协议、源端口、目的端口。
添加基本ACL
(config)#access-list 10 permit 192.168.10.0 0.0.0.255
#编号10表示其为基本ACL、permit/deny表示允许或拒绝、源IP网段
(config)#access-list 10 deny host 192.168.1.100
#host表示单台主机
(config)#access-list 10 permit any
#允许所有
#show access-lists
#显示ACL-list信息
输出:
Standard IP access list 10
10 permit 192.168.10.0,wildcard bits 0.0.0.255添加扩展ACL
(config)#access-list extended 100 remark <100个以内的字符注释>
#添加注释。
(config)#access-list extended 100 deny <协议名> <源IP> <目的IP>
(config)#access-list extended 100 deny icmp host 192.168.1.100 host 192.168.2.100 echo
#扩展ACL,deny ICMP协议的echo报文,源ip>>目的IP
#配置时多使用?提示
(config)#access-list extended 100 permit ip any any
#允许任意IP
(config)#access-list extended 100 deny tcp host 192.168.1.100 host 192.168.3.100 eq 23
#eq表示等于23端口
(config)#access-list extended 100 deny tcp host 192.168.1.100 host 192.168.3.100 range 1000 2000
#range表示一个端口范围
(config)#access-list extended 100 deny tcp host 192.168.1.100 host 192.168.3.100 lt 10000
#lt表示小于
#gt表示大于
(config)#access-list extended 100 deny udp host 192.168.1.100 any eq 53 time-range <时间计划名称>
#禁止udp协议53端口,引用一个时间计划。
(config)#time-range <时间计划名称>
#创建一个时间计划
(config-time-range)#periodic daily 21:00 22:00
#设置时间范围通过object配置ACL
(config)#object-group network <组名称>
(config)#object-group network PCs
(config-object-group)#host 192.168.1.100
(config-object-group)#host 192.168.1.101
(config-object-group)#host 192.168.1.102
(config-object-group)#192.168.2.0 /24
#创建PCs组,并添加3台host和一个网段
(config)#object-group network SERVER
(config-object-group)#host 172.16.1.1
(config-object-group)#host 172.16.1.2
(config-object-group)#host 172.16.1.3
#创建SERVER组,并添加3台服务器
access-list extended 100 permit tcp object-group PCs object-group SERVER eq 22
#添加ACL,调用object-group。
#后期添加PC和服务器只需再object-group组中添加即可。默认ACL
思科在ACL的最后有一条默认隐藏规则为拒绝所有。
在接口上调用ACL列表
- 创建完ACL列表后,需要在接口上调用后才会生效。
- 一个接口上只能在一个方向上调用一个ACL。
流量是路由器自身发出的ACL出方向的规则匹配不到。
(config)#interface ethernet e0/0 (config-if)#ip access-group <ACL编号> <in或out> (config-if)#ip access-group 10 in #指定ACL列表编号,和入站或出站方向
ACL条目的优先级
(config)#ip access-list extended 100
#进入ACL内部
(config-ext-nacl)#no 30
#删除指定优先级的ACL条目
(config-ext-nacl)#19 deny host 192.168.1.100 host 192.168.2.100 echo-reply
#指定优先级插入ACL条目删除ACL
(config)#no access-list 10
#删除ACL列表1017.NAT网络地址转换
静态NAT
- 私有地址和公网地址一对一映射。
一个公网IP只会分配给唯一且固定的内网主机。
NAT设备先将接口划分到内部和外部 (config)#interface ethernet e0/0 (config-if)#ip nat inside #将e0/0设置为内部接口 (config)#interface ethernet e0/1 (config-if)#ip nat outside #将e0/1设置为外部接口 (config)#ip nat inside source static 192.168.10.100 interface ethernet 0/1 #静态映射到端口或IP地址 #可以使用?查看提示 #show ip nat translations #查看nat转换列表 #clear ip nat translation * #释放正在使用中的NAT (config)#no ip nat inside source static 192.168.10.100 interface ethernet0/1 #删除NAT设置
动态NAT
- 基于地址池来实现私有地址和公网地址转换
多对多NAT
(config)#access-list 10 permit 192.168.10.0 /24 (config)#access-list 10 permit 192.168.20.0 /24 (config)#access-list 10 permit 192.168.30.0 /24 #配置一个ACL规则,用于数据匹配和过滤 (config)#ip nat pool <池名称> 60.30.1.2 60.20.1.3 255.255.255.248 #建立NAT-ip地址池 (config)#ip nat inside source list 10 pool <池名称> #开启NAT转换,调用ACL 10和NAT-ip地址池PAT网络地址端口转换
- 允许多个内网地址映射到同一个公网地址的不同端口
多对一PAT
(config)#access-list 20 permit 192.168.10.0 /24 (config)#access-list 20 permit 192.168.20.0 /24 #配置一个ACL规则,用于数据匹配和过滤 (config)#ip nat inside source list 20 interface ethernet 0/2 overload #overload端口复用NAT服务器发布
将内网的服务通过NAT发布到公网(config)#ip nat inside source static tcp 192.168.10.100 23 interface ethernet 0/2 23 #将指定IP的tcp 23端口服务发布到外网23端口 #处于安全考虑,需要更改外网端口号
18.EtherChanner链路汇聚
二、模拟器操作
关闭域名解析
no ip domain-lookup
路由器模拟PC
no ip routing
关闭路由功能
VPC从dhcp获取IP
ip dhcp