Pull to refresh

Dial-in сервер как средство восстановления сети

Reading time1 min
Views3K
Не секрет, что любое железо, какое бы хорошее оно не было, имеет свойство падать.
И хорошо, если упал малозначимый сервер. А если корневой маршрутизатор?
Ехать на другой конец города среди ночи? Или в другой город? Как-то не хочется.
Когда передо мной встал данный вопрос, я вспомнил о модеме. И вот что получилось.


Моя конфигурация:
OS: Slackware 12
2 платы MCS9895 по 4 serial-порта в каждой
Модем D-Link DFM-562E EXT VI (RTL) V.92 (rs232-connected)

1. Качаем и устанавливаем драйвер для mcs9895.
В моём случае код пришлось подправить руками, то есть заменить SA_SHIRQ на IRQF_SHARED.
/dev/ttyD* — порты MCS9895 (8 штук).

2. Подключаем всё корневое оборудование через rs232 к портам плат mcs

3. Настраиваем конфиги minicom'a. Я делал конфиги /etc/minirc.d0-d7
pr port /dev/ttyD0
pu baudrate 9600
pu bits 8
pu parity N
pu stopbits 1

4. Пишем sh-скрипт по образцу
#!/bin/sh
echo "welcome to rs232 console server"
echo "choose server"
echo "1 - core-gw"
echo "2 - core-sw"
echo -n "> "
read I
case "$I" in
1)
minicom -o d0
;;
2)
minicom -o d1
;;
*)
echo "good bye"
;;
esac

Далее создаём пользователя с опцией -s /путь/до/скрипта
Не забываем включить его в группу uucp (или ту, которой принадлежат устройства /dev/ttyD*)

5. Скачиваем и устанавливаем mgetty.
В mgetty.config пишем 3 строчки:
port ttyS0
debug 3
data-only y

где ttyS0 — порт, на котором висит модем.

6. Правим inittab
S0:2345:respawn:/usr/local/sbin/mgetty -x 3 /dev/ttyS0
И делаем kill -HUP 1

7. Вуаля!
Можно проверять. И больше не хранить заначку на ночное такси в случае проблем с оборудованием.

Спасибо за внимание и удачи на работе.
Tags:
Hubs:
Total votes 2: ↑2 and ↓0+2
Comments1

Articles