Как настроить несколько сеансов консольного сервера Minicom / Cisco без особых хлопот?

Я работаю над своей CCNA и имею 4 переключателя & amp; 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? Мне бы очень хотелось иметь возможность запустить какой-нибудь скрипт, который запускает все восемь сессий одним щелчком мыши.

5
задан 2 December 2015 в 13:18

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

Это автоматически соединит вас с логином хоста и выведет на приглашение.

0
ответ дан 2 December 2015 в 13:18

Другие вопросы по тегам:

Похожие вопросы: