Как настроить несколько сеансов консольного сервера Minicom / Cisco без особых хлопот?
Я работаю над своей CCNA и имею 4 коммутатора и 4 маршрутизатора, которые составляют мою основную лабораторию. Я купил два четырехпортовых адаптера USB-Serial (от 1 USB до 4 Serial), на концах которых я подключил 8 последовательных консольных кабелей.
Эти USB-порты подключены к серверу P4 Ubuntu, и я могу успешно подключиться к этому серверу через ssh и управлять любым устройством с помощью minicom, как и я, находящийся в группе удаленного доступа.
У меня есть файл сохранения Minicom для USB[0-7], и я использовал ln для связи SW1-4, R1-4, чтобы я мог "minicom R1" и т. Д.
Благодаря двум мониторам я могу открыть все 8 сеансов терминала - по 4 на каждом экране.
Вот главное: я должен открыть терминал на своей рабочей станции, SSH через сервер доступа, а затем запустить Minicom. Я должен сделать это один раз для каждого устройства. Хотя это и не обходной путь, я уверен, что должен быть более простой способ сделать это - могу ли я сказать своему серверу выставлять каждое последовательное соединение как порт telnet или ssh? Мне бы очень хотелось иметь возможность запустить какой-нибудь скрипт, который запускает все восемь сессий одним щелчком мыши.
1 ответ
Некоторое время назад мне удалось сделать такой вид перенаправления последовательных в сеть с помощью remserial:
Предоставьте доступ к устройству 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 (например, веб-серверы) настроены на использование последовательного порта в качестве консоли вместо монитора / клавиатуры, их последовательные порты могут быть подключены к управляющему серверу с помощью многопортовой последовательной платы. На управляющем сервере копия 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
Это позволит подключиться через связанный последовательный порт к консоли желаемого сервера. Этот пример затем предоставит пользовательской консоли доступ к 3-му серверу.
Тщательный сценарий, такой как использование ожидаемой в Linux программы, может позволить запускать пакеты команд на каждом сервере.
В конце страницы вы найдете ссылки для загрузки предварительно скомпилированного двоичного файла для 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
Это автоматически соединится с логином хоста и выведет вас на приглашение.