TFTP — просто передать файл по сети
Первая статья из серии про сервер начальной установки (Install Server)
TFTP
TFTP (Trivial File Transfer Protocol) — это простой протокол передачи данных. Для передачи данных использует протокол UDP, что в свою очередь не гарантирует надежность передачи. Также в нем нет средств аутентификации пользователей. TFTP используется в связке с другими технологиями когда нужно просто передать файл без каких либо сложностей.
Обычно TFTP используется в связке с другими технологиями а для классической передачи данных используют FTP. Настройка TFTP не занимает более 10 минут.
Самые распространенные способы использования TFTP:
- передача файлов при загрузке бездисковых рабочих станций;
- передача начального загрузочного образа при установке ОС по сети;
- участие в процессе backup`а и восстановления конфигурации сетевого оборудования;
- другие схожие операции.
TFTP ищет все файлы в каталоге /tftpboot который создается автоматически при установке программы.
Установка TFTP на примере Linux CentOS 5:
Устанавливаем пакет tftp-server из репозитория
# yum -y install tftp-server
Теперь необходимо включить tftp в конфигурации xinetd, для этого в файле
/etc/xinetd.d/tftp
Меняем “disable = yes” на “disable = no” и включаем xinetd
# service xinetd start
Проверяем что порт tftp-сервера прослушивается (tftp работает на порту 69)
# netstat -nlp | grep :69
0 0 0.0.0.0:69 0.0.0.0:* 3105/xinetd udp
Работа с TFTP
После того как TFTP-сервер запущен можно помещать все нужные файлы в / tftpboot на отдачу по сети.
Если вы хотите делать backup файлов конфигураций сетевых устройств, например оборудование компаний Cisco или Nortel то сначала нужно создать пустые файлы в которые планируется сохранять конфигурацию.
То есть при backup`е конфигурации в файл на TFTP-сервере он уже должен существовать!
Создаем пустой файл
# touch /tftpboot/cisco2960.backup
Устанавливаем на него права
# chmod 666 /tftpboot/cisco2960.backup
Типы пакета
В каждом передаваемом пакете есть поле размером 2 байта, оно и определяет что это за пакет. Знание какой тип чего делает может помочь при анализе сетевого трафика, например с помощью tcpdump.
- RRQ (Read Request) – запрос на чтение файла;
- WRQ (Write Request) – запрос на запись файла;
- DATA – данные передаваемые через tftp;
- ERR (Error) – ошибка;
- OACK (Options Acknowledgment) – подтверждение опций.
Режимы передачи
Существует два режима передачи файлов:
- netascii – файл перед передачей перекодируется в ASCII
- octet – файл передается без изменений
Коды ошибок
0 Нет определенного кода, см. текст ошибки;
1 Файл не найден;
2 Доступ запрещен;
3 Невозможно выделить место на диске;
4 Некорректная TFTP-операция;
5 Неправильный Transfer ID;
6 Файл уже существует;
7 Пользователь не существует;
8 Неправильная опция.
Клиент tftp
Чтобы подключаться к TFTP-серверу из командной строки нужно поставить tftp-клиент
# yum -y install tftp
Ну а далее просто подключаемся к tftp-серверу, например:
# tftp 192.168.146.135
Можно набрать help чтобы получить список доступных команд. Самое распространенное действие – это скачка файла, сделать это можно командой get.
tftp>get filename.txt

(2 голосов, средний: 4.50 из 5)
