如何轻松设置多个 minicom/Cisco 控制台服务器会话?

如何轻松设置多个 minicom/Cisco 控制台服务器会话?

我正在攻读 CCNA,有 4 个交换机和 4 个路由器,它们构成了我的主实验室。我买了两个四端口 USB 转串行(1 个 USB 转 4 个串行)适配器,并在适配器的两端连接了 8 条串行翻转电缆。

这些 USB 插入 P4 Ubuntu 服务器,我可以成功地通过 ssh 进入该服务器并使用 minicom 管理任何设备,因为我属于拨出组。

我有一个用于 USB[0-7] 的 minicom 保存文件,并且已使用 ln 链接 SW1-4、R1-4,以便我可以“minicom R1”等。

使用双显示器,我可以打开全部 8 个终端会话 - 每个屏幕上 4 个。

不过,主要的事情是:我必须在工作站上打开一个终端,通过 SSH 连接到访问服务器,然后运行 ​​minicom。我必须为每个设备执行一次此操作。虽然这不是什么大事,但我确信一定有更简单的方法可以做到这一点 - 我可以告诉我的服务器将每个串行连接公开为 telnet 或 ssh 端口吗?我真的很想能够运行某种脚本,只需单击一下即可启动所有八个会话。

答案1

前段时间,我能够使用以下方法实现这种串行到网络重定向剩余序列

通过网络访问 RS232 设备。

连接设备(如数据采集设备)的串口电脑运行remserial程序:

remserial -d -p 23000 -s "9600 raw" /dev/ttyS0 &

这将以守护进程模式启动程序,使其在后台运行,等待端口 23000 上的连接,并将串行端口 /dev/ttyS0 设置为 9600 波特。然后,任何机器到端口 23000 的网络连接都可以读取和写入连接到串行端口的设备。

它可以从 /etc/rc.local 启动,或作为 /etc/inittab 中的条目启动,或者使用 /etc/rc.init/ 中的文件设置为系统服务。

这是你所需要的:

服务器场控制台控制。

假设多台 Linux 服务器(例如 Web 服务器)设置为使用串行端口作为控制台而不是显示器/键盘,则可以使用多端口串行板将它们的串行端口连接到控制服务器。在控制服务器上,为每个服务器运行 remserial 的副本:

remserial -d -p 23000 -s "115200 raw" /dev/ttyS0
remserial -d -p 23001 -s "115200 raw" /dev/ttyS1
remserial -d -p 23002 -s "115200 raw" /dev/ttyS2
remserial -d -p 23003 -s "115200 raw" /dev/ttyS3

从本地网络上的任何计算机,使用 telnet 程序连接到相应端口上的控制服务器:

telnet control-server-name 23002

这将通过相关串行端口连接到所需服务器的控制台。此示例随后将允许用户控制台访问第三台服务器。

精心编写的脚本(例如使用 Linux“expect”程序)可以允许在每台服务器上运行批量命令。

在页面末尾,您会找到下载 i386(32 位)预编译二进制文件和源代码的链接(如果您运行的是 64 位操作系统或更喜欢自己编译)。

编辑:为了添加一些自动化功能,您可以安装expect并编写以下脚本:

#!/usr/bin/expect

spawn telnet 192.168.0.1
expect "Username:"
send "your-username\r"
expect "Password:"
send "your-password\r"
expect "#"            <----- prompt character ($ or #)
interact

这将自动 telnet 到主机登录并将您带到提示符。

相关内容