4. 命令行界面入门:设备登录方式与CLI基本模式切换
说实话,很多刚入行的朋友觉得网络设备配置就是敲命令。但敲命令之前,你得先连上设备。连都连不上,后面全是白搭。
这一章,我带你走一遍设备登录的三种主流方式——Console、Telnet、SSH。顺便把CLI的基本模式讲清楚。这些东西看着基础,但我在项目里见过太多人在这上面翻车。
4.1 三种登录方式:你该用哪个?
先看一张总览图,把三种方式的关系理清楚。
4.2 Console登录:第一次接触设备的必经之路
Console口,说白了就是设备屁股上的那个RJ45或DB9串口。新设备第一次上电,没有IP地址,你只能靠它。
你需要准备什么?
- Console线(通常是RJ45转DB9,或者USB转Console)
- 终端软件(SecureCRT、PuTTY、Xshell都行)
- 知道波特率——绝大多数设备默认是9600
连接步骤:
- 用Console线连接电脑串口和设备Console口
- 打开终端软件,新建串口会话
- 配置参数:波特率9600,数据位8,停止位1,无校验,无流控
- 设备上电,终端窗口应该能看到启动信息
- 按回车,出现提示符,搞定
我的习惯:每次用Console前,我都会先确认一下设备型号的默认波特率。有些老设备是19200,华为有些设备是115200。波特率不对,屏幕上全是乱码。别问我怎么知道的——我曾经对着满屏的乱码折腾了半小时才发现是波特率设错了。
4.3 Telnet登录:简单但危险
Telnet是最早的远程登录协议。它最大的问题——所有数据都是明文传输。包括你的密码。
你想想看,你在办公室Telnet到核心交换机,隔壁工位的人用Wireshark抓个包,你的密码就裸奔了。所以现在生产环境基本不用Telnet了。
但为什么还要学?
- 很多老旧设备只支持Telnet
- 实验环境里快速验证很方便
- 理解Telnet的缺陷,你才会真正重视SSH
Telnet配置示例(以思科为例):
!
! 开启Telnet服务(默认已开启)
line vty 0 4
password cisco123
login
!
! 配置管理IP
interface vlan 1
ip address 192.168.1.1 255.255.255.0
no shutdown
!
然后在电脑上执行:telnet 192.168.1.1,输入密码就能登录。
警告:千万不要在公网或不可信网络中使用Telnet。我曾经在一个客户现场看到有人用Telnet管理核心路由器,结果被中间人攻击,整张网被人植入了后门。那次事故之后,客户把所有Telnet都换成了SSH。
4.4 SSH登录:生产环境的标准答案
SSH(Secure Shell)就是Telnet的加密升级版。它用公钥加密技术保护你的会话,密码和命令都不会被窃听。
SSH配置示例(思科):
!
! 配置主机名和域名(SSH需要)
hostname R1
ip domain-name example.com
!
! 生成RSA密钥对
crypto key generate rsa modulus 2048
!
! 配置VTY线路支持SSH
line vty 0 4
transport input ssh
login local
!
! 创建本地用户
username admin secret admin123
!
! 开启SSH服务(默认版本2)
ip ssh version 2
!
连接命令:ssh admin@192.168.1.1
关键对比:
| 特性 | Telnet | SSH |
|---|---|---|
| 加密 | 无(明文) | 有(加密) |
| 默认端口 | 23 | 22 |
| 认证方式 | 密码 | 密码/密钥 |
| 生产环境 | 不推荐 | 强烈推荐 |
4.5 CLI基本模式:你敲命令的地方
登录设备之后,你面对的就是CLI。不同厂商的模式名称略有差异,但逻辑大同小异。我以思科为例,因为它的模式划分最典型。
三种核心模式:
| 模式名称 | 提示符 | 能做什么 | 进入命令 |
|---|---|---|---|
| 用户模式 | > |
查看基本信息,不能改配置 | 默认登录后 |
| 特权模式 | # |
查看所有信息,重启设备 | enable |
| 全局配置模式 | (config)# |
修改设备配置 | configure terminal |
从全局配置模式还能进入更具体的子模式,比如接口模式、线路模式、路由协议模式等。
模式切换示例:
! 用户模式
Router> enable
! 特权模式
Router# configure terminal
! 全局配置模式
Router(config)# interface gigabitethernet 0/0
! 接口配置模式
Router(config-if)# exit
Router(config)# exit
Router# disable
Router>
避坑指南:我曾经见过新手在全局配置模式下直接敲接口命令,结果命令没生效,还以为是设备坏了。记住:你在哪个模式,就只能敲那个模式的命令。不确定的时候,看一眼提示符——
>、#、(config)#,一目了然。
4.6 模式切换的完整流程
把登录方式和模式切换串起来,就是完整的设备操作流程。我画了张图,你一看就明白。
4.7 几个实用小技巧
- Tab键补全:敲命令时按Tab,自动补全。我敲命令几乎从来不敲全,都是Tab补出来的。
- 问号帮助:在任何模式下敲
?,显示当前模式所有可用命令。记不住命令?问号就是你的救命稻草。 - 上下箭头:调出历史命令,不用重复敲。
- Ctrl+Z:从任何子模式直接回到特权模式,比敲
end快多了。
注意:在Console口下,如果设备正在启动,不要乱敲键盘。启动过程中的按键可能会被设备解释为中断指令,导致启动失败。我见过有人手贱按了Ctrl+Break,结果设备直接进了ROMmon模式,折腾了半天才恢复。
好了,这一章的内容就这些。Console、Telnet、SSH三种登录方式,加上CLI的模式切换,是后续所有配置操作的基础。把这些练熟了,后面敲命令才能行云流水。