Pull to refresh

Терминальный сервер на базе маршрутизатора Cisco

Reading time 4 min
Views 21K
В статье хочу рассказать, как настроить на базе cisco терминальный сервер для консольного доступа к другим cisco или любому другому оборудованию с консольным портом rs-232


1. Компоненты схемы:


Маршрутизатор Cisco 1841
Модуль hwic-8a/s-rs232
image
Кабель cab-hd8-async
image

Для этого модуля нужен кабель cab-hd4-rs232, с одной стороны которого стоит разъем VHDCI 68 pin male, а с другой стороны — 4 кабеля с разъемом DB-25, в который подключаются консоли.
image
Но такой кабель за адекватные деньги найти не удалось (220 баксов за такой кабель на ebay без доставки — это не адекватные деньги). Решили делать сами, но найти даже распайку оказалось непосильной задачей. И вот на одном форуме попалась информация, что для этого модуля можно использовать кабель cab-hd8-async, с одной стороны которого такой же VHDCI 68 pin male, а с другой — 8 проводов с RJ-45 на конце, единственный нюанс, что работать будут только четные линии 0,2,4,6.

Итак, подключаем кабель в один из слотов модуля, а соответствующие RJ-45 включаем в консольные порты цисок, которые хотим конфигурировать удаленно.

2. Базовая конфигурация маршрутизатора:


Так как модуль hwic-8a/s работает как в синхронном, так и в асинхронном режиме, по умолчанию режим передачи для него синхронный. Для передачи данных в консольные линии, все последовательные интерфейсы нужно сконфигурировать для работы в асинхронном режиме. Для асинхронных модулей, таких, как hwic-16a, nm-32a, nm-16a этого можно не делать.
interface s0/0/0
physical-layer async

К сожалению, команда range не работает для последовательных интерфейсов, поэтому приведенную выше строку придется вбивать на всех интерфейсах.

После такой операции асинхронные интерфейсы появятся в списке линий по команде show line
TermServer#sh line
   Tty Line Typ     Tx/Rx    A Modem  Roty AccO AccI  Uses  Noise Overruns  Int
*    0    0 CTY              -    -      -    -    -     1      0    0/0      -
     1    1 AUX   9600/9600  -    -      -    -    -     0      0    0/0      -
 0/0/0    2 TTY   9600/9600  -    -      -    -    -     1      0    0/0    Se0/0/0
 0/0/1    3 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/0/1
 0/0/2    4 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/0/2
 0/0/3    5 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/0/3
   194  194 VTY              -    -      -    -    -     0      0    0/0      -
   195  195 VTY              -    -      -    -    -     0      0    0/0      -
   196  196 VTY              -    -      -    -    -     0      0    0/0      -
   197  197 VTY              -    -      -    -    -     0      0    0/0      -
   198  198 VTY              -    -      -    -    -     0      0    0/0      -

Конфигурируем линии, можно конфигурировать сразу группу линий. Команда no exec была найдена на одном из форумов и нужна для того, чтобы параметр overruns не рос и линия не переходила в занятое состояние.
line 0/0/0 0/0/3
transport input all
no exec

Создаем loopback интерфейс, который будет использоваться в качестве ip-адреса для подключений
interface loopback0
ip address

Фактически после этого можно подключаться на консоль другой циски.
TermServer#telnet 172.16.1.1 2002
Trying 172.16.1.1, 2002 ... Open

Router>

Номер порта, который используется для подключения, зависит от номера линии по следующей схеме
порт 20хх — где хх номер линии, который можно посмотреть в листинге show line
Важный момент, что если переставить модуль из слота 0 в слот 1, нумерация линий также изменится, например, для слота 1 на Cisco 1841 будет следующая ситуация:
Router#sh line
   Tty Line Typ     Tx/Rx    A Modem  Roty AccO AccI  Uses  Noise Overruns  Int
*    0    0 CTY              -    -      -    -    -     1      0    0/0      -
     1    1 AUX   9600/9600  -    -      -    -    -     0      0    0/0      -
 0/1/0   18 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/0
 0/1/0   19 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/1
 0/1/0   20 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/2
 0/1/0   21 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/3
 0/1/0   22 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/4
 0/1/0   23 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/5
 0/1/0   24 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/6
 0/1/0   25 TTY   9600/9600  -    -      -    -    -     0      0    0/0    Se0/1/7
   194  194 VTY              -    -      -    -    -     0      0    0/0      -
   195  195 VTY              -    -      -    -    -     0      0    0/0      -
   196  196 VTY              -    -      -    -    -     0      0    0/0      -
   197  197 VTY              -    -      -    -    -     0      0    0/0      -
   198  198 VTY              -    -      -    -    -     0      0    0/0      -

Как видно, номера линий изменились, поэтому для подключения к 1-й консоли на интерфейсе s0/1/0 надо использовать команду telnet 172.16.1.1. 2018

3. Дополнительные настройки и украшения:


Для удобства работы с терминальным сервером, можно добавить к нему меню, которое будет отображаться при удаленном подключении

Создадим заголовок меню
menu TS title ^
**********************************************************
Kharkov National University of Radioelectronics
Regional Cisco Academy
To exit from a device, use CTRL+SHIFT+6 then press x
**********************************************************
^

затем определим элементы меню:
menu TS prompt ^ Your selection : ^
menu TS text 1 Connect to Console 1
menu TS text 2 Connect to Console 2
menu TS text 3 Connect to Console 3
menu TS text 4 Connect to Console 4
menu TS text s show all established sessions
menu TS text c(no) clear the session by number ie: c4
menu TS text e menu-exit
menu TS text q Quit terminal server session

и команды, которые будут выполняться:
menu TS command 1 resume c1 /connect telnet c1
menu TS command 2 resume c2 /connect telnet c2
menu TS command 3 resume c3 /connect telnet c3
menu TS command 4 resume c4 /connect telnet c4
menu TS command s show sessions
menu TS command e menu-exit
menu TS command q exit
menu TS command c1 disconnect c1
menu TS command c2 disconnect c2
menu TS command c3 disconnect c3
menu TS command c4 disconnect c4

В заключение нужно определить несколько опций меню:
menu TS line-mode
menu TS single-space
menu TS options s pause

а также заполнить таблицу хостов для удобства работы:
ip host c1 2002 172.16.1.1
ip host c2 2003 172.16.1.1
ip host c3 2004 172.16.1.1
ip host c4 2005 172.16.1.1

Проверяем меню:
TermServer#menu TS

**********************************************************
Kharkov National University of Radioelectronics
Regional Cisco Academy
To exit from a device, use CTRL+SHIFT+6 then press x
**********************************************************
1 Connect to Console 1
2 Connect to Console 2
3 Connect to Console 3
4 Connect to Console 4
s show all established sessions
c(no) clear the session by number ie: c5
e menu-exit
q Quit terminal server session

Your selection : 1
Trying c1 (172.16.1.1, 2002)... Open

Router>

Выбор от 1 до 4 подключает на соответствующий консольный порт, вернуться в меню можно комбинацией CTRL+SHIFT+6, потом х.

Настроим vty линию, чтобы при подключении к терминальному серверу, меню запускалось автоматически:
line vty 0 4
autocommand menu TS

4. DIY :)


Находим/покупаем вот такой шнурок
image
по цене как повезет, я нашел на ебее 2 штуки за 25$, в Украину привез знакомый, который был то время в Штатах, за что ему отдельное спасибо.
Одну сторону такого шнурка отрезаем и согласно следующей распайке:
image
вызваниваем нужные провода.
На самой циске распиновка следующая:
image
3 — RX
4,5 — GND
6 — TX
Мы забили нужные провода с кабеля на патч-панель и соединяем с цисками обычными roll-over кабелями, получилось достаточно удобно.
На базе 1841 с двумя такими модулями получился консольный сервер на 16 консолей.
Tags:
Hubs:
+24
Comments 11
Comments Comments 11

Articles