TFTP и HTTP на разных серверах

Методы загрузки терминала WTware - дискеты, старт из ДОС, загрузка по сети.
Ответить
Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

TFTP и HTTP на разных серверах

Сообщение Barvinok » Вс фев 10, 2019 12:12 pm

Для небольших сетей, где нет толстого компьютера пришёл к решению загружать загрузчик по TFTP с локального Микротика, а конфиги и бинарники с удалённого HTTP через VPN.
Настройки на микротике (192.168.70.1):

Код: Выделить всё

/ip dhcp-server network> print detail 
 0   address=192.168.70.0/24 gateway=192.168.70.1 dns-server=192.168.70.1 [b]next-server=192.168.70.1 boot-file-name="wtware.http"[/b] 
 /ip tftp> print detail 
 0   [b]real-filename="tftproot/"[/b] allow=yes read-only=yes allow-rollover=yes allow-overwrite=yes reading-window-size=pipelining
В каталоге tftproot лежат файлы wtware.http, wtware.http.cfg, wtware.http.v2.
В файле wtware.http.cfg указан адрес сервера HTTP:

Код: Выделить всё

set wtware-url http://192.168.2.100:789/wtware
Обычные тонкие клиенты с загрузкой по PXE работают, всё хорошо.
Но как поступать с клиентами, у которых WTWare установлена локально (полностью или только локальный загрузчик - не важно. Это могут быть малинки или обычные x86).
Указать "получать конфиги по TFTP" будет неверно, ибо на сервере TFTP (микротике) никаких конфигов нет.
Если указать "получать по HTTP", то непонятно, откуда терминал узнает адрес адрес этого самого HTTP-сервера? Ведь по DHCP ему выдаётся адрес TFTP: next-server=192.168.70.1

Было бы логично указать "загрузку по TFTP". Что бы терминал всосал wtware.http.cfg, увидел указанный там адрес сервера HTTP и получил конфиги с него. Но не сработало. Я что-то неправильно сделал или такой случай не предусмотрен?

aka
Разработчик
Разработчик
Сообщения: 9879
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение aka » Вс фев 10, 2019 1:02 pm

Barvinok писал(а):
Вс фев 10, 2019 12:12 pm
Если указать "получать по HTTP", то непонятно, откуда терминал узнает адрес адрес этого самого HTTP-сервера? Ведь по DHCP ему выдаётся адрес TFTP: next-server=192.168.70.1
Именно адрес из next-server терминал и использует как HTTP. Терминалу, загрузившемуся с локального диска, адрес загрузочного TFTP не нужен, так почему бы не использовать привычную настройку?
Barvinok писал(а):
Вс фев 10, 2019 12:12 pm
Было бы логично указать "загрузку по TFTP". Что бы терминал всосал wtware.http.cfg, увидел указанный там адрес сервера HTTP и получил конфиги с него. Но не сработало. Я что-то неправильно сделал или такой случай не предусмотрен?
Мне не нравится идея добавлять лишнюю точку отказа - TFTP сервер - только чтобы перенаправить терминал за конфигами к другому источнику.

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Вс фев 10, 2019 1:58 pm

В данном случае сервером TFTP является маршрутизатор. Если он откажет - всё остальное уже не имеет значения.
Иногда было бы удобно, что бы клиенты с локальной загрузкой обрабатывали http.cfg, как описано выше.
Примите как пожелание - вреда нет, а польза возможна.

Просто я не уверен, что TFTP через VPN будет работать достаточно надёжно (если совместить обе службы на удалённом сервере).
Последний раз редактировалось Barvinok Вс фев 10, 2019 2:17 pm, всего редактировалось 2 раза.

aka
Разработчик
Разработчик
Сообщения: 9879
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение aka » Вс фев 10, 2019 2:14 pm

Barvinok писал(а):
Вс фев 10, 2019 1:58 pm
Просто я не уверен, что TFTP через VPN будет работать достаточно надёжно (если совместить обе службы на удалённом сервере).
Вполне вероятно, что TFTP не будет работать через VPN. HTTP для дальних линков лучше.

Чем не нравится теперешний варииант, когда терминалы берут адрес HTTP из 066 параметра DHCP?

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Вс фев 10, 2019 2:17 pm

На клиенте есть выбор "загрузка по TFTP" и "загрузка по HTTP".
Если я выбираю HTTP - мне надо как-то сообщить ему адрес сервера HTTP. Но по DHCP я выдаю адрес сервера TFTP!
Вот я и предлагаю использовать wtware.http.cfg
Последний раз редактировалось Barvinok Вс фев 10, 2019 2:30 pm, всего редактировалось 1 раз.

aka
Разработчик
Разработчик
Сообщения: 9879
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение aka » Вс фев 10, 2019 2:26 pm

Barvinok писал(а):
Вс фев 10, 2019 2:17 pm
Непонятно, зачем на клиенте сделали выбор "загрузка по TFTP" и "загрузка по HTTP". На случай, если TFTP-сервера вовсе нет?
Да. Зачем поднимать службу TFTP в маршрутизаторах периферийных офисов?

Если прямо сильно хочется дополнительный файл скачать с TFTP, то есть такой специальный файл Everyone/source.wtc, который используется при загрузке по сети чтобы бинарники брать с локального сервера, а за конфигами идти в центр. Втварь его сейчас не читает при загрузке с локального диска потому что я не понимал, зачем это. Посмотри комменатрии в Everyone/source.wtc. Если это то что ты хочешь - могу заставить втварь читать его при локальной загрузке И указании брать конфиги на TFTP.

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Вс фев 10, 2019 2:35 pm

Конфиги мне как раз надо брать с HTTP.
Я сейчас говорю о единой настройке для сети, содержащей разнородных клиентов: некоторые полностью бездисковые (PXE), а некоторые имеют диск (Raspberry).
Для PXE-клиентов мне TFTP нужен неизбежно. И для них я вынужден указывать next-server именно локальный TFTP.
Но тогда малинки не получают конфиги с удалённого HTTP! Вот я о чём толкую.

aka
Разработчик
Разработчик
Сообщения: 9879
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение aka » Вс фев 10, 2019 7:42 pm

Поставь на малину это: http://wtware.com/testing/201902101639.zip

На малине настройки сети от DHCP, конфигурационные файлы с TFTP, адрес TFTP от DHCP.

На микротике в каталоге tftproot сделай каталог Everyone, в него положи source.wtc из дистрибутива. В source.wtc откомментируй строчку "wtware:http://10.1.2.3:789/wtware" и впиши в неё свой удаленный HTTP с конфигами.

Когда всё поедет - подумай, не хочешь ли ты перенести бинарные файлы втвари на микротик. Локально загружаться всяко быстрее, чем качать из центра через VPN. Everyone/source.wtc придуман для такого сценария: большие бинарные файлы лежат рядом с терминалами, а конфиги качаются по HTTP из центра.

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Вс фев 10, 2019 10:33 pm

Раньше я так и делал.
Однако, опыт показал что загрузка по HTTP через VPN - гораздо лучше (быстрее и надёжнее), чем TFTP на локальном микротике.
К тому же на многих микротах сейчас ставят всего 16МБ встроенной памяти и нет слота для внешней флешки.
aka писал(а):
Вс фев 10, 2019 7:42 pm
Everyone/source.wtc придуман для такого сценария: большие бинарные файлы лежат рядом с терминалами, а конфиги качаются по HTTP из центра.
Попробую, похоже это то, что мне надо. Но зачем же плодить сущности, если можно было всё прописать в wtware.http.cfg? Ради двух строчек сделали целый файл :?

aka
Разработчик
Разработчик
Сообщения: 9879
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение aka » Пн фев 11, 2019 12:42 am

Barvinok писал(а):
Вс фев 10, 2019 10:33 pm
Однако, опыт показал что загрузка по HTTP через VPN - гораздо лучше (быстрее и надёжнее), чем TFTP на локальном микротике.
Любопытно. У микротиков такой плохой TFTP или интернет стал таким быстрым? Сколько времени загружается втварь с Chrome по VPN?
Barvinok писал(а):
Вс фев 10, 2019 10:33 pm
Но зачем же плодить сущности, если можно было всё прописать в wtware.http.cfg?
Конкретно в одной твоей схеме загрузки можно, да. Но wtware.http.cfg есть в дистрибутиве, и в нем написан адрес, который не будет работать у тех, кто не использует HTTP. Если сейчас все терминалы, которые загружаются с локальных дисков и берут конфиги по TFTP, заставить читать и обрабатывать wtware.http.cfg - всё сломается у всех кроме тебя.

Everyone/source.wtc сделан давно для похожей задачи: "перенаправить за конфигами куда-нибудь подальше". Я сейчас ничего не менял в его синтаксисе, я только заставил терминал, загрузившийся с локального диска и скачивающий конфиг с TFTP, читать этот файл так же, как его читают все загрузившиеся по сети. По умолчанию он пустой, т.е. совершенно безопасный, само у всех всё не сломается. Если он не пустой - то его правили руками именно с целью перенаправиль конфиги, и может быть догадаются, почему всё сломалось...

PS: wtware.http.v2 на микротике не нужен, если все терминалы соглашаются работать с wtware.http. v2 для кривых BIOS'ов, если им пользоваться - ещё раз придется плодить сущности и копировать wtware.http.cfg в wtware.http.v2.cfg.

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Пн фев 11, 2019 5:01 pm

Да, TFTP на микротике очень плох. До недавнего времени его совсем нельзя было использовать.
Хром/VLC/LinPhone через VPN ещё не грузил. Для таких случаев я предусмотрел локальный сервер загрузки на база Ubuntu.

На 47 всё взлетело.

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Пн фев 11, 2019 7:51 pm

aka писал(а):
Пн фев 11, 2019 12:42 am
Everyone/source.wtc сделан давно для похожей задачи: "перенаправить за конфигами куда-нибудь подальше". Я сейчас ничего не менял в его синтаксисе, я только заставил терминал, загрузившийся с локального диска и скачивающий конфиг с TFTP, читать этот файл так же, как его читают все загрузившиеся по сети. По умолчанию он пустой, т.е. совершенно безопасный, само у всех всё не сломается. Если он не пустой - то его правили руками именно с целью перенаправиль конфиги, и может быть догадаются, почему всё сломалось...
В http.cfg можно сделать закомментированные строки и тоже ничего не сломается. А source.wtc убрать как морально устаревший (или сохранить с текстом справки по пользованию http.cfg).

aka
Разработчик
Разработчик
Сообщения: 9879
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение aka » Пн фев 11, 2019 9:16 pm

Barvinok писал(а):
Пн фев 11, 2019 5:01 pm
Да, TFTP на микротике очень плох.
А на HTTP микротика свои файлы можно выкладывать?

Аватара пользователя
Barvinok
Сообщения: 434
Зарегистрирован: Вт ноя 30, 2004 4:06 pm
Откуда: Ростов-на-Дону
Контактная информация:

Re: TFTP и HTTP на разных серверах

Сообщение Barvinok » Пн фев 11, 2019 9:28 pm

Нет :(
Я копал этот вопрос...
Самое большее - подменить страницу ошибки, которую выдаёт прокси.

Ответить