Удалённая конфигурация IP

yulya

Подскажите, плз, как элегентнее решить следующую задачу
На машинке Debian. Таких машинок в подсети может быть несколько, они отличаются только mac-ом.
Нужен способ (желательно из-под windows) сделать следующее::
1) определить, какие маки соответствуют этим машинкам
2) для выбранной машины задать IP, подсеть и шлюз
3) запустить команду по ssh
у меня есть ясность только по 3 пункту

serega1604

>1) определить, какие маки соответствуют этим машинкам
arp -a
>2) для выбранной машины задать IP, подсеть и шлюз
если там настроено получение этих настроек по dhcp, то настраивать dhcp-сервер, если нет, то подозреваю что никак.

yulya

>1) определить, какие маки соответствуют этим машинкам
arp -a
>2) для выбранной машины задать IP, подсеть и шлюз
если там настроено получение этих настроек по dhcp, то настраивать dhcp-сервер, если нет, то подозреваю что никак.

1) arp -a выведет список всех машин в сети, а не только нужных
2) dhcp-сервер не годится. в сети не должно быть управляющих элементов. инженер должен прийти один раз с ноутбуком, настроить все машинки и уйти. после этого машины будут работать автономно, даже после перезагрузки
вполне допускается (без этого даже не обойтись чтобы на машинках постоянно работал какой-нибудь сервис, слушающий сеть

serega1604

>1) arp -a выведет список всех машин в сети, а не только нужных
используй grep, perl или что-нибудь что в коробочную венду входит.
>2) dhcp-сервер не годится. в сети не должно быть управляющих элементов. инженер должен прийти один раз с ноутбуком, настроить все машинки и уйти. после этого машины будут работать автономно, даже после перезагрузки
тогда такой вопрос: "пункт 3 возможно будет сделать до пункта 2?"
просто можно при помощи arp узнать нынешний айпишник, зайти по ssh, настроить то что тебе нужно, а потом перезапустить сеть.

yulya

>1) arp -a выведет список всех машин в сети, а не только нужных
используй grep, perl или что-нибудь что в коробочную венду входит.
маки моих машин от чужих отличаются только тем, что они имеют другие значения. я их не знаю
>2) dhcp-сервер не годится. в сети не должно быть управляющих элементов. инженер должен прийти один раз с ноутбуком, настроить все машинки и уйти. после этого машины будут работать автономно, даже после перезагрузки
тогда такой вопрос: "пункт 3 возможно будет сделать до пункта 2?"
ясен корень, нет
я не знаю IP адреса, более того — он может быть вообще не сконфигурён. а ssh работает на уровне tcp

serega1604

>я не знаю IP адреса
мак-то знаешь?
>более того — он может быть вообще не сконфигурён.
тогда никак: брать ноги в руки и обходить все машины.

yulya

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

serega1604

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

Plok2008

что мак не знаю. и IP не знаю
Тогда могу предложить на "твоих" машинах иметь запущенный типо сервис (который бы возвращял, например, текстовую константу) на нестандартном порту. Через nmap приходящий инженер щупает всю сеть на предмет открытого этого порта, подключается к нему и слушает ответ. При правильном ответе IP и mac ответевшей машины заносятся в массив для дальнейшего подключения к ним по ssh.

VitMix

вполне допускается (без этого даже не обойтись чтобы на машинках постоянно работал какой-нибудь сервис, слушающий сеть
Такой сервис обычно называется DHCP-client

tokuchu

вполне допускается (без этого даже не обойтись чтобы на машинках постоянно работал какой-нибудь сервис, слушающий сеть
Я думаю, если тебе надо определять своим машинки в сети, то возможно стоит посмотреть что-то вроде: http://ru.wikipedia.org/wiki/LLDP

yulya

Такой сервис обычно называется DHCP-client
если других требований нет, то ты прав

yulya

Тогда могу предложить на "твоих" машинах иметь запущенный типо сервис (который бы возвращял, например, текстовую константу) на нестандартном порту. Через nmap приходящий инженер щупает всю сеть на предмет открытого этого порта, подключается к нему и слушает ответ. При правильном ответе IP и mac ответевшей машины заносятся в массив для дальнейшего подключения к ним по ssh.
такой подход не будет работать, если IP на целевой машине настроен неправильно
тут придётся обойтись только link layer'ом

conv3rsje

тут придётся обойтись только link layer'ом
Включенный ipv6 автоматом берет себе ll адрес.
Дальше пингуешь ip6-allnodes (ff02::1) и тыкаешься к ответившим на предмет своих (если не хочешь сервисы вешать)
Или юзаешь предложенный LLDP или Avahi (благо в последний очень просто добавить свой сервис)

forenius

а dhcp религия не позволяет поднять или некая адекватная причина ?

Phoenix

сказали же, что на тачках может быть настроен какой-нибудь левый статический Ип. .
ну при чём тут DHCP ?
Тут что-то покруче должно быть. Что работает как сервер(т.е. само не посылает запросы) и имеет своё уникальный ID.
теоретически, можно же написать такой сервис. На канальном уровне без всяких IP адресов.
опрашиваем все маки, кто не ответил - там сервер не запущен. Кто ответил - говорит свой ID, далее некоторая авторизация и управление.
Во freebsd, если не ошибаюсь(никогда не делал) можно подключиться через netgraph к ng_ether и дальше принимать/отсылать пакетики на канальном уровне.
можно посмотреть исходники openlldp и сделать что-то похожее.
исходники dhcp сервера тоже можно посмотреть.

kiracher

То ли я ничего не понял, то ли реально мужики то не знают.
В деталях могу ошибаться, но направление такое:
1) если один ethernet сегмент - pppoe
2) если нет - snmp

serega1604

инженер должен прийти один раз с ноутбуком, настроить все машинки и уйти. после этого машины будут работать автономно, даже после перезагрузки
при этом
1)он хочет чтобы инженер даже во время первоначальной настройки сидел только за ноутбуком
2)он не знает ни айпишников, ни маков, ни (даже примерно) конфигурации машин, на которых надо все настроить.
как это все сделать при помощи snmp или pppoe?

kiracher

инженер должен прийти один раз с ноутбуком, настроить все машинки и уйти. после этого машины будут работать автономно, даже после перезагрузкипри этом1)он хочет чтобы инженер даже во время первоначальной настройки сидел только за ноутбуком2)он не знает ни айпишников, ни маков, ни (даже примерно) конфигурации машин, на которых надо все настроить.как это все сделать при помощи snmp или pppoe?
Поставить исходно на машинах pppoe сервер? Дальше уже совершенно не обязательно знать его айпишник, его может даже и не быть, подключение к нему идет без каких либо айпи адресов. а snmp дает базовый функционал, который можно допилить до уровня, который хочет топикстартер.
Но если речь о том что придти куда-то, воткнуть нетбук и переконфигурть незнамо что незнамо где непонятно как инсталлированное (а если там даже ссш нет? просто силой мысли, тогда я пас. Первоначально сконфигурить машинки придется все равно.

kiracher

Если ссш есть, то можно просканить нмапом всю сеть на наличие 22 порта и тыкаться туда. Есть ненулевая вероятность, что информированный злоумышленник поднимет себе ссш-прокси на реальную машину и получит таким образом пасс.

serega1604

>а если там даже ссш нет?
там может не быть ssh, там может быть не то что сконфигурирован, а даже не поднят интерфейс.
Оставить комментарий
Имя или ник:
Комментарий: