TFTP-server

Обсуждение ПО и его настройки
timteka
Сообщения: 1
Зарегистрирован: 14 дек 2011, 09:58

Гуру, выручайте.
Для Voip хозяйства нужен сабжевый сервачок. Нагрузка минимальная. Пока только несколько железок перез загрузкой должны скачивать образ с tftp. Все девайсы в одном vlan-е. Никаких извращений, банальная конфигурация. Прочитал на wiki ман, но там есть нюанс про поднятие tftp-сервера на микротике (http://wiki.mikrotik.com/wiki/Manual:IP/TFTP) , процитирую:

Warning: Since version 4.4 to set up tftp rules you will have to have policy sensitive enabled for your account.


Что это значит и какая железка вообще мне подойдет наиоптимальнейшим образом?


iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

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

это увеличитобъем памяти для FTP и tFTP
например http://mikrotik.ru/katalog/katalog/mars ... -751u-2hnd
-----------------------------------------

так как протокол tftp упрощен до предела, в меню ip - tftp производится настройка серверной части со стороны роутера.

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

пример есть 5 камер которые хотят по ТФТП файл config.conf и есть 5 телефонов, которые тоже хотят файл config.conf
камеры живут в подсети 192.168.10.0/24
а телефоны в192.168.20.1.. 192.168.20.5

добавялем в ip - tftp правило

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

Flags: X - disabled 
 #   IP-ADDRESSES         REQ-FILENAME          REAL-FILENAME           ALLOW READ-ONLY ALLOW-ROLLOVER       HITS
 0    192.168.10.0/24         config.conf         /camera.conf                         yes   yes       no                      0
 1    192.168.20.1         config.conf         /tel1.conf                         yes   yes       no                      0
 2    192.168.20.2         config.conf         /tel2.conf                         yes   yes       no                      0
 3    192.168.20.3         config.conf         /tel3.conf                         yes   yes       no                      0
 4    192.168.20.4         config.conf         /tel4.conf                         yes   yes       no                      0
 5    192.168.20.5         config.conf         /tel5.conf                         yes   yes       no                      0


таким образом камеры получают свой конфиг, а каждый телефон -свой
-----------------------------------------
Warning: Since version 4.4 to set up tftp rules you will have to have policy sensitive enabled for your account.


перевод

Предупреждение! Начиная с версии 4.4 для того чтобы менять правила tftp необходимо включить политику sensitive для вашего аккаунта


теперь с русского на русский

в разделе system - users - есть группы (groups)

у групп есть политики (то есть разграничения, что каклй группе можно делать)
у группы full - все опции включены (admin в этой группе)

чтобы изменять правила ТФТП нужна галочка sensetive
Вложения
group-pol.png
(8.49 КБ) 183 скачивания


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Аватара пользователя
Barvinok
Сообщения: 104
Зарегистрирован: 28 фев 2012, 23:21

Вы не упомянули, как настраивать при этом DHCP (я говорю про случай, когда используется встроенный в Mikrotik DHCP-сервер).
Там же нужно параметрами указать адрес сервера загрузки и имя файла загрузки. И делается это не самым очевидным образом:
Example
Classless route adds specified route in clients routing table. In our example it will add dst-address=160.0.0.0/24 gateway=10.1.101.1

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

/ip dhcp-server option
add code=121 name=classless value=0x18A000000A016501000A016501
/ip dhcp-server network
set 0 dhcp-option=classless

Я вот пока ума не приложу, как произвести вышеозначенное преобразование в шестнадцатеричную систему.


iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

возьмите ip калькулятор в помощь

http://ip-calculator.ru/ он переводит айпишники в шестнадцатиричный вид


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Аватара пользователя
Barvinok
Сообщения: 104
Зарегистрирован: 28 фев 2012, 23:21

Благодарю за ссылку, хотя родного сёмерочного калькулятора вполне достаточно.
Не совсем понятно, как из 160.0.0.0/24 и 10.1.101.1 получается строка 0x18A000000A016501000A016501

160.0.0.0/24 преобразуется в:

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

Address:         160.0.0.0         A0.00.00.00
Netmask:         255.255.255.0      FF.FF.FF.00

10.1.101.1 выглядит как 0A.01.65.01

А откуда в вышепривдённой строке берётся "18" и избыточные нули?
И куда делись FF.FF.FF.00 ?
____

Предположу, что 18 - это 24 в hex. Тогда адрес моего TFTP-сервера 192.168.2.1/24 должен выглядеть так: 0x18C0A80201
Попробую.


Аватара пользователя
Barvinok
Сообщения: 104
Зарегистрирован: 28 фев 2012, 23:21

Вроде сработало - пошла загрузка.
Следующий вопрос. Я понял, что просто назначить корнем TFTP-сервера произвольную папку по моему выбору нельзя?
У меня все загрузочные файлы лежать в /usb1/tftproot/Thinstation
Можно ли как-то одним регулярным выражением сказать, что любой файл, который запрашивает клиент нужно отдавать из этой папки?
Что-то вроде

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

real-filename="/usb1/tftproot/Thinstation/$req-filename"

Либо как-то смонтировать этот каталог корнем TFTP...


iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

посмотрите мануал http://wiki.mikrotik.com/wiki/Manual:IP/TFTP

по мануалу получается

/ip tftp add req-filename=* real-filename=/usb1/tftproot/Thinstation/* allow=yes read-only=yes


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Аватара пользователя
Barvinok
Сообщения: 104
Зарегистрирован: 28 фев 2012, 23:21

Это первое, что я попробовал.
Хотя выражение

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

/ip tftp add req-filename=* real-filename=/usb1/tftproot/Thinstation/* allow=yes read-only=yes
по русски звучит странновато: "при запросе любого файла отдавать любой из папки /usb1/tftproot/Thinstation".
На терминале после сведений о полученном IP-адресе выводит следующее сообщение:
PXE-T00: permission denied!
PXE-E36: Error received from TFTP server

В мануале самый похожий пример выглядит так:

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

/ip tftp add req-filename=.* real-filename=/sata1/file.txt allow=yes read-only=yes
который можно озвучить так: "при запросе любого файла отдавать /sata1/file.txt". Звучит и работает понятно, но это не мой случай!

Вообще в мануале говорится о возможности использования регулярных выражений только в поле req-filename, а в поле real-filename я увидел лишь явное указание определённого файла.


iSupport
Сообщения: 2359
Зарегистрирован: 06 фев 2011, 20:44

тогда как вариант - посмотреть на форуме производителя или помучить суппорт@микротик.ком


Граждане, сколько раз просил =) чем понятнее и точнее сформулирован вопрос - тем понятнее и точнее будет на него ответ.
Я просматриваю ВСЕ темы форума и стараюсь помочь в каждой из них
Поэтому, НА ЛС отвечаю в последнюю очередь
Аватара пользователя
Barvinok
Сообщения: 104
Зарегистрирован: 28 фев 2012, 23:21

Уже помучал...
Hello,
unfortunately at the moment there is no option added in TFTP to add multiple
files, but you could write script that adds these TFTP entries for you. you can
check our wiki scripting subsection: http://wiki.mikrotik.com/wiki/Manual:TOC
or scripting section in forum: http://forum.mikrotik.com/viewforum.php?f=9
maybe you can already find some template there that you can modify for your requirements.

Regards,
Krisjanis

Пичаль...


Ответить