Несмотря на то, что протокол TFTP был рожден где-то в 1980г. прошлого века, он до сих пор в ходу и востребован. Применений много. Самое распространенное применение, пожалуй, это загрузка по сети, получение конфигураций через сеть и обновление прошивок на сетевых устройствах. Далее описан процесс настройки TFTP-сервера на Mikrotik.По традиции начну c winbox.
Открываем IP — TFTP
IP Address — диапазон IP, на который распространяется правило.
Req. Filename — имя запрашиваемого файла: регулярное выражение.
Real Filename — реальное имя файла.
Allow — разрешить.
Read only — только чтение.
По большому счету, вы можете не задействовать поля с запрашиваемыми и реальными именами файлов, а просто разрешить доступ из определенных подсетей. Но это не всегда является удобным. Не все устройства могут обратиться по TFTP к файлу, расположенному не в корне сервера TFTP. Бывает, что надо указать только имя файла без пути. В этом случае вам придется делать файлопомойку в корне сервера. Это во-первых. Во-вторых — вам же самим будет удобнее работать.
А удобство заключается в следующем. Как вы видите на скриншоте, я создал два правила, которые выполняют одну и ту же задачу и первое правило является частным случаем второго. Сделал я это специально для объяснения на простом, но наглядном примере.
Первое правило при запросе файла firmware.had (в правиле точка экранирована слешем, т.к. это спецсимвол в регулярных выражениях) отдаст файл /dlink/firmware.had
Второе правило отдаст тот же файл /dlink/firmware.had при запросе файла с любым именем, состоящим, как минимум из одного символа и с расширением .had
Таким образом, для меня задача обновления прошивки на свитче сводится к паре простых действий — залить файл firmaware.had на TFTP-сервер в директорию dlink, скопипэстить в консоль свитча команду обновления. При этом меня не особо волнует имя файла.
А если у вас в сети конфиги VoIP устройств хранятся на TFTP-сервере и вы еще используете загрузку бездисковых станций по сети? Если вы не будете структурировать данные на сервере, то очень скоро голова у вас пойдет кругом.
И конечно же не забудьте отрыть необходимые порты в firewall. В скрипте правила присутствуют:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# # # TFTP /ip tftp add ip-addresses=192.168.33.0/24 real-filename=/dlink/firmware.had req-filename="firmware\\.had" add ip-addresses=192.168.33.0/24 real-filename=/dlink/firmware.had req-filename=".+\\.had" # # FIREWALL /ip firewall add chain=input dst-port=69 protocol=tcp src-address=192.168.33.0/24 add chain=input dst-port=69 protocol=udp src-address=192.168.33.0/24 |
Кстати, номера портов и протоколы всегда можно подглядеть на сайте www.iana.org.
Реклама: