# 模式

### 三种模式：

用户模式

特权模式

配置/全局模式

### 进入更高级别的模式

```bash
#从用户模式进入特权模式
R1>
R1>enable 
R1#

#从特权模式进入全局模式
R1#
R1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#
```

### 退出GNS3默认的

```bash
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#
R1(config)#
R1(config)#line console 0
R1(config-line)#no privilege level 15
R1(config-line)#exit
R1(config)#exit
R1#exit

R1>
```

### 常用命令

#### 用户模式

```bash
# 测试连通性
ping

# 链路追踪
traceroute

# 查看arp表
show arp

# 查看系统时间
show clock

# 查看系统版本信息，软件和硬件信息
show version
```

#### 特权模式

```bash
# 查看硬盘大小
show flash:

# 查看运行配置（内存中）
show running-config

# 查看初始配置（NVRAM中）
show startup-config

# 将内存中的配置写入NVRAM中，下次启动时会使用这个配置
copy running-config startup-config
write

# 查看接口三层地址信息
show ip interface brief

# 查看接口具体信息（包含二层信息）
show interfaces
show interface FastEthernet0/0
# 上下两条命令相同
show interface f0/0

# 关闭域名解析
no ip domain-lookup

# 进入console口
line console 0
  # 关闭发呆超时
  exec-timeout 0 0
  exec-timeout 2 30 # (2分30秒后被踢出)
  
# 日志输出同步
logging synchronous

```

#### 配置模式

```bash
# 自定义主机名
hostname ROUTER-1

# 进入接口模式
interface f0/0

# 打开接口
no shutdown

# 定义接口ip
ip address 12.1.1.1 255.255.255.0
```

```bash
R1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#
R1(config)#hostname ROUTER-1
ROUTER-1(config)#
ROUTER-1(config)#interface f0/0
ROUTER-1(config-if)#no shutdown 
ROUTER-1(config-if)#
ROUTER-1(config-if)#ip address 12.1.1.1 255.255.255.0
ROUTER-1(config-if)#exit
ROUTER-1(config)#exit
ROUTER-1#show ip interface brief 
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.1.1.1        YES manual up                    up      
ROUTER-1#
```

#### 配置模式设置用户密码

**推荐方式**

```bash
# 配置 console 0 口，VTY 0-2 口使用用户名密码登陆
R1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#        
R1(config)#username will secret 123456
R1(config)#
# 配置 console 0 口使用用户名密码登陆
R1(config)#line console 0
R1(config-line)#login local 
R1(config-line)#exit
R1(config)#
# 配置 VTY 0-2 口使用用户名密码登陆
R1(config)#line vty 0 2
R1(config-line)#
R1(config-line)#login local 
R1(config-line)#
R1(config-line)#exit
R1(config)#
R1(config)#exit      
R1#
R1#show running-config
--------------------------
username will secret 5 $1$9gjs$2mqgjM0VfPC/Kx6Qdjgyi/
# 可以看出此时密码为密文，5代表md5加密

# 密码加密说明：
# 0 未加密
# 5 md5加密
# 7 奇偶加密
# 当使用的是password明文时，使用 service password-encryption 开启全局加密，
# 此时明文密码会变成密文，加密标记为7（奇偶加密），此方式也不安全，仅仅是障眼法而已
```

```bash
# 开启特权密码（模拟器默认进入特权模式不需要密码，设置了之后进入特权模式就需要输入密码）
R1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#
R1(config)#enable secret 123456 
R1(config)#
R1(config)#
R1(config)#exit
R1#
*Jun 25 15:08:13.545: %SYS-5-CONFIG_I: Configured from console by will on console
R1#exit
R1 con0 is now available

Press RETURN to get started.


User Access Verification

Username: will
Password: 
R1>
R1>enable 
Password: 
R1#
```

#### 以下方式了解一下即可，不建议在生产环境中使用

Console密码1-不建议使用（无法区分用户）

```bash
R1>enable 
R1#
R1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#
R1(config)#line console 0
R1(config-line)#password cisco123
R1(config-line)#login
R1(config-line)#exit
R1(config)#exit
R1#exit

R1 con0 is now available


Press RETURN to get started.



*Jun 25 11:20:19.966: %SYS-5-CONFIG_I: Configured from console by console

User Access Verification

Password: 
R1>
```

Console密码2-不建议使用（明文密码，show running-config会发现是明文存储）

```bash
R1#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#
R1(config)#username will passw
R1(config)#username will password 123456
R1(config)#username will2 pass
R1(config)#username will2 password 678909
R1(config)#
R1(config)#line console 0
R1(config-line)#
R1(config-line)#login local 
R1(config-line)#
R1(config-line)#exit
R1(config)#exit
R1#
*Jun 25 12:01:24.833: %SYS-5-CONFIG_I: Configured from console by console
R1#exit

R1 con0 is now available


Press RETURN to get started.



User Access Verification

Username: will
Password: 
R1>
R1>
R1>exit

R1 con0 is now available


Press RETURN to get started.



User Access Verification

Username: will2
Password: 
R1>
```

VTY密码1-不建议使用（无法区分用户）

```bash
R2上操作：
------------------------------
# 查看允许多少个虚拟终端登录
R2(config)#line vty 0 ?
  <1-1869>  Last Line number
  <cr>

# 设置进入虚拟终端0口到2口
R2(config)#line vty 0 2
R2(config-line)#
R2(config-line)#password cisco2
R2(config-line)#login
R2(config-line)#



R1上操作：
------------------------------
R1>telnet 12.1.1.2
Trying 12.1.1.2 ... Open


User Access Verification

Password: 
R2>
```

VTY密码2-不建议使用（明文密码，show running-config会发现是明文存储）

```
R2上操作：
------------------------------
R2#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#
R2(config)#line vty 0 2
R2(config-line)#username will password 123456
R2(config)#
R2(config)#line vty 0 2                  
R2(config-line)#
R2(config-line)#login local 
R2(config-line)#


R1上操作：
------------------------------
R1>telnet 12.1.1.2
Trying 12.1.1.2 ... Open

User Access Verification

Username: will
Password: 
R2>
```

```bash
# 删除NVRAM里的显示
R2#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#
R2(config)#no username will
This operation will remove all username related configurations with same name.Do you want to continue? [confirm]
R2(config)#
R2(config)#no username will2
This operation will remove all username related configurations with same name.Do you want to continue? [confirm]
R2(config)#
```
