Як встановити та запустити сервер TFTP?


60

У мене є вбудована ціль VxWorks, якій потрібно завантажувати своє ядро ​​з мого комп'ютера Ubuntu. Як встановити та запустити сервер TFTP?

Відповіді:


103

Встановлення та налаштування сервера TFTP

  1. Встановіть наступні пакети.

    sudo apt-get install xinetd tftpd tftp
    
  2. Створіть /etc/xinetd.d/tftp та поставте цей запис

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. Створіть папку / tftpboot, це має відповідати тому, що ви вказали у server_args. в основному це буде tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Перезапустіть службу xinetd.

    новіші системи:

    sudo service xinetd restart
    

    старіші системи:

    sudo /etc/init.d/xinetd restart
    

Зараз наш сервер tftp працює і працює.

Тестування нашого сервера tftp

  1. Створіть файл з ім'ям тесту з деяким вмістом у / tftpboot шляху сервера tftp

    Отримати ip адресу сервера tftp за допомогою команди ifconfig

  2. Тепер у якійсь іншій системі виконайте наступні кроки.

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    

Джерело: http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/


1
лише крок 4 потрібно змінити, оскільки xinetd породжується на початку. вам потрібно перезапустити його з 'service xinetd restart'
BЈович

3
Я дотримувався цієї інструкції і зіткнувся з дозволом відмовлено! Назва файлу призначення [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: код помилки 2 отримано - порушення доступу% Помилка відкриття tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (дозвіл відхилено) #copy flash: c2950-i6q4l2-mz.121-22 .EA1b.bin tftp: Адреса чи ім'я віддаленого хоста []? 10.1.11.14 Назва файлу призначення [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: отримано код помилки 2 - Порушення доступу
Mohammad Rafiee

1
@Mohammad Rafiee: до повідомлення в блозі, пов’язане з тут, додано деяку інформацію: пройдіть sudo chmod -R 777 /tftpbootміж кроком 1 та 2 розділу "Тестування нашого сервера tftp". Не те, щоб мені це допомогло, але схоже, що допомагало іншим.
Готьє

2
14.04 це для мене не вийшло. Інформація про /tftpbootу в /etc/xinetd.d/tftp, здається, не має значення. Натомість клієнт шукає в каталозі, /srv/tftpяк зазначено в /etc/inetd.conf. Я не знаю, чи змінився спосіб налаштування з моменту статті, або якщо я якось накрутився. Якщо відповідь вище не працює для вас, спробуйте поставити /srv/tftpзамість цього тестовий файл .
Готьє

2
Зверніть увагу, що з Ubuntu 16.04 ви відчуєте досвід error code 2 (access violation). Щоб виправити це поклали tftpboot -sв server_args(який не веде слеш, -sв кінці Джерело :. Icesquare.com/wordpress / ...
CharlesB

7

Ви можете встановити, atftpdі він створить каталог, /tftpbootв якому ви можете розмістити свої файли. Покладіть pxelinux.0туди особливо файл. Будь-яка майбутня конфігурація буде вирішена, якщо це необхідно.

При встановленні пакета с

sudo apt-get install atftpd

він використовуватиме Debconf, щоб підказати вам про деякі варіанти. Ви можете встановити багато варіантів (тайм-аут сервера може бути корисним), особливо базовий шлях . Ви також можете налаштувати діапазон багатоадресної передачі.


Для чого таке pxelinux.0? Я завантажую ціль VxWorks, тому я подумав, що мені потрібен лише файл vxworks в / tftpboot.
користувач1689961

Вибачте - це для мене не вийшло.
користувач1689961

Спробуйте перейменувати vxworksйого pxelinux.0, щоб побачити, чи буде моя відповідь майбутнім користувачам.
ζ--

це не працює 13.04. Я щойно спробував
BЈович

@ BЈовић Це дещо давня відповідь, і я, чесно кажучи, не знаю процедури 13.04.
ζ--

6

Ви можете встановлювати tftpd-hpaта змінювати конфігурації. Крок встановлення tftpd-hpa пояснюється в цій публікації в блозі .


2
Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
guntbert

1
ви прихилили вас лише тому, що tftpd-hpa - дурний простий сервер tftp для використання і насправді не вимагає жодної конфігурації, необхідної в цій публікації, просто опустіть свої файли в / var / lib / tftpboot і ви налаштовані (на ubuntu 16.04 не впевнений про інші ОС).
mschuett
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.