LINUX.ORG.RU

управление маршрутизатором по RS-232


0

1

В общем, многие маршрутизаторы (коммутаторы) имеют порты RS-232. По ним можно зайти и тыкаться в менюшках, делать какие-то настройки и т.д. (читал в документации)

Но насколько такие интерфейсы позволяют делать настройки при помощи автоматического кода, которые тупо шлет последовательности байт в порт?

Меня интересует, можно ли по RS-232 задать маршрутизатору его IP-адрес? Не пишу модель, меня интересует принципиальная такая возможность на какой-либо модели.

Нужно обеспечить прозрачную замену одного маршрутизатора на другой в случае выхода из строя и чтобы некое устройство (будь то на базе микроконтроллера) при включении задавало конфигурацию. Оно то как раз всегда будет одинаковое и IP-адрес будет выдавать свой уникальный.

P.S. Первая мысль - добавить в сеть простейший маршрутизатор с DHCP/option82 и к каждому маршрутизатору тянуть кабель, выдавая определенный IP в порты подключения (которые одни и те же). Но увы, устройство с DHCP-сервером тоже должно быть резервировано - могу ли я держать два DHCP сервера в сети чтобы было два приоритета - работает один DHCP-сервер, сдыхает - работает второй?

Лучше бы ты написал модели.

dvrts ★★★ ()

Меня интересует, можно ли по RS-232 задать маршрутизатору его IP-адрес?

D-link, ruby, planet - по rs-232 пускают в cli и делай там что хочешь(другие вероятно тоже).

при включении задавало конфигурацию.

Заливать конфиг по tftp например.

могу ли я держать два DHCP сервера в сети

2 DHCP сервера в 1 сети

Deleted ()

автоматического кода, которые тупо шлет последовательности байт в порт?

То, что свичами управляют через expect/autoexpect я знаю, там можно настраивать, получив какую последовательность байт что слать в ответ. А вот, чтобы маршрутизатор запомнил всю отосланную ему последовательность байт и неспешно, по мере выполнения команд, читал её, как то сомнительно. Не уверен, что разработчики прошивки об это заботятся. По мне, в микроконтроллере нужно будет реализовывать аналог expect'a.

mky ★★★★★ ()
Ответ на: комментарий от Deleted

D-link, ruby, planet - по rs-232 пускают в cli и делай там что хочешь(другие вероятно тоже).

Я не уверен, но по моему ТС хочет, чтобы микроконтроллер просто «выплюнул» в RS-232 порт последовательность байт, не анализируя, успевает ли маршрутизатор их обрабатывать. Это ему наверное надо как cisco:

copy xmodem: startup-config

mky ★★★★★ ()

CLI разных производителей (и даже в разных линейках) отличается, то есть тупо сделать expect-скрипт который автоматом всё наладит конечно можно, но работать он будет только с «совместимыми» маршрутизаторами. С другой стороны маршрутизаторы умеют сохранять/загружать конфиги, так что непосредственно для настройки expect не очень то и нужен: но одном сохранил конфиг, на другом загрузил и поменял при необходимости пару опций.

Первая мысль - добавить в сеть простейший маршрутизатор с DHCP

сильное архитектурное решение :-)

MKuznetsov ★★★★★ ()

Если без разницы модель то dlink des-3028 например сто процентов можно. Думаю другие не сильно отличается. IP тупо слетает не пойми от чего, девайс через СОМ только и оживляется. Подключаешься к девайсу, компом прослушиваешь что передаётся- получается, повторяешь в МК, профит.

ilovewindows ★★★★★ ()
Ответ на: комментарий от mky

Могу сделать с ожиданием ответа и подсчетом числа отвеченных байт.

Про некий expect надо бы почитать.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от ilovewindows

В общем, судя по ответам, моя мысль не такая уж и шальная, а если учесть что маршрутизаторов у меня будет всего штук 10 и они одинаковые, то подобное устройство может быть разработано на базе AVRки какой-нибудь, но сначала просто с компа. Тайминги, ожидания ответов на команды - тоже предусмотрю.

А выхода другого нет - нужна заменяемость устройств без необходимости ручной настройки. Таково требование заказчика.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Мне хотябы IP задать и я уже буду рад

маршрутизаторы вообще настраиваются и тюнятся через CLI. Забудь про gui и web - они только если по быстрому и грубо. А так - ssh,telnet,rs232. К ним snmp,rmon

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

MKuznetsov ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Тайминги, ожидания ответов на команды - тоже предусмотрю.

а это и есть expect :-)

spawn "telnel 192.168.0.20 5550"
expect "login:"
send "vasya\r\n"
expect "password:"
send "1234\r\n"
expect ">";
foreach cmd $cmdlist {
  set timeout 200
  send $cmd"\r\n"
  expect {
     "Ok" { send_user "Ok $cmd" }
     "Error" {send_user "Error $cmd" }
     timeout { send_user "Timeout at $cmd";break }
     eof { send_user "Connection drop"; break }
  }
}

демо-пример по памяти,возможно с ошибками :-) Когда-то развлекались ещё ботами для MUD и IRC

MKuznetsov ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

А выхода другого нет - нужна заменяемость устройств без необходимости ручной настройки. Таково требование заказчика.

Ну, если запасные маршрутизаторы будут куплены заранее и протестированы это одно, а если резерв оборудования не предусмотрен, лучше как-то в договоре или ещё где подложить себе сломки — указать не только модель маршрутизатора, но и версию прошивки.

ЕМНИП, у нормальных железяк конфиг хранится в текстовом виде и интерфейс командной строкой и новые версии прошивок не особо страшны, а у всяких свичей, управляемых только через менюшки может измениться их порядок, формат файла конфигурации (это если контроллер будет заливать в маршрутизатор конфиг через xmodem).

И, ещё, например, cisco, если не путаю, при первом включении (конфигурации вобще нет) выдаёт совсем другие вопросы в порт консоли (то есть ждёт других ответов), чем если бы была она была сконфигурина хотя бы раз. То есть в общем случае процесс конфигруации свича, нового (купленного заказчиком в магазине) может отличаться от процесса конфигурации свича старого (снятого с другого объекта, полученно из ремонта).

mky ★★★★★ ()

Меня интересует, можно ли по RS-232 задать маршрутизатору его IP-адрес? Не пишу модель, меня интересует принципиальная такая возможность на какой-либо модели.

Да. Проверено на различных MOXA.

trex6 ★★★★★ ()
Ответ на: комментарий от mky

trex6 Спасибо, в общем, спаял я кабелёк, воткнул в Etherwan EX65080, вижу простой консольный интерфейс (достаточно примитивный, хотя и не привычный) - удалось поменять адрес при помощи серии команд, ну а остальное уже можно там скомандовать загрузить файл по tftp.

I-Love-Microsoft ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.