一、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.2
example-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 process

12.交换网络-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.x

dhcp管理命令

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列表10

17.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

标签: Cisco, Network

添加新评论