Как установить и настроить tftp-сервер в Ubuntu 14.10 (utopic)?

Как установить и настроить tftp-сервер в Ubuntu 14.10 (utopic)?

Я использовал 14.04 раньше, и я смог настроить и заставить работать tftp сервер и клиент. Теперь, когда я обновился до 14.10, tftp сервер больше не работает

Вот что я сделал:

  1. Установите пакет.

    sudo apt-get install tftpd-hpa
    
  2. Отредактируйте файл конфигурации следующим образом.

    sudo vi /etc/default/tftpd-hpa

    # /etc/default/tftpd-hpa
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/tftpboot"
    TFTP_ADDRESS="0.0.0.0:69"
    TFTP_OPTIONS="-s -c -l"
    
  3. Создайте папку TFTP.

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Перезапустите приложение, чтобы применить новую конфигурацию.

    sudo service tftpd-hpa restart
    

(Источник)

В то время я не знал, что tftpd-hpaэто пакет для TFTP-сервера и tftp-hpaдля TFTP-клиента, поэтому я установил другой пакет для TFTP-КЛИЕНТА.

  1. Установите следующие пакеты:

    sudo apt-get install xinetd tftpd tftp
    
  2. Изменить разрешение /etc/xinetd.dкаталога.

    sudo chmod –R 777 xinetd.d
    
  3. Создайте файл с именем tftp /etc/xinetd.dи напишите в нем следующее:

    service tftp {
    socket_type = dgram
    protocol = UDP.
    WAIT = YES
    user = root
    server = /usr/sbin/in.tftpd
    server_args =-s /tftpboot
    disable = no
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    
  4. Сохранить и выйти.

  5. Создайте tftpbootкаталог и измените разрешения.

    cd /
    sudo mkdir /tftpboot
    chmod –R 777 /tftpboot
    
  6. Перезапустите службу.

    sudo /etc/init.d/xinetd restart
    

Этот пошаговый процесс установки сервера TFTP и другого пакета для клиента TFTP работает в версии 14.04, но не в 14.10, и я думаю, что вторая установка и настройка ( sudo apt-get install xinetd tftpd tftp) являются причиной того, что сервер TFTP не работает. Я уже удалил пакеты, которые, как я думаю, не нужны. Но сервер TFTP все еще не работает. Что я могу сделать, чтобы сервер TFTP работал?

решение1

Мне это подходит:

service tftp
{
protocol        = udp
port            = 69
socket_type     = dgram
wait            = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args     = /tftpboot
disable         = no
}

решение2

Это старый вопрос, но для тех, кто ищет ясности, мой ответ может помочь:

tftpd-hpaявляется автономным TFTP-сервером — для его работы не требуется настройка xinetd. Фактически, некоторые из рекомендаций, которые я прочитал, приведут к конфликту за порт 69 между tftpd-hpaи xinetd!

Theотвечать в другом месте на этой странице от пользователябуряпример. Я уверен, что эта xinetdконфигурация работает с каким-то другим пакетом tftp, но не вижу, как она могла бы работать с tftpd-hpa.

Взгляните на конфигурацию по умолчанию tftpd-hpaдля /etc/default/tftpd-hpa:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

Если вам не нужно решение с большим количеством опций, вам следует убедиться, что выненастроить xinetdдля обработки tftp или прослушивания порта 69 (или просто не устанавливать его вообще). Отредактируйте /etc/default/tftpd-hpaв соответствии с вашими потребностями, а затем запустите sudo systemctl restart tftpd-hpa, и все должно быть хорошо. Вы можете проверить это с помощью этого:

$ sudo netstat -tulpn | grep 69
udp        0      0 0.0.0.0:69              0.0.0.0:*                           45262/in.tftpd
udp6       0      0 :::69                   :::*                                45262/in.tftpd

Связанный контент