TFTP не прослушивает определенный порт при запуске с использованием правила xinetd

Я следую этому руководству для работы с tftp:

Во-первых, я устанавливаю все необходимые пакеты:

sudo apt-get install xinetd tftpd tftp -y 

Затем создайте файл конфигурации:

 sudo nano /etc/xinetd.d/tftp 

Поместите в файл следующее содержимое.

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

Теперь я изменяю право собственности на каталог:

 sudo mkdir /var/lib/tftpboot sudo chown -R nobody:nobody /var/lib/tftpboot sudo chmod -R 777 /var/lib/tftpboot 

и запустите службу TFTP:

 sudo service xinetd stop sudo service xinetd start 

Затем убедитесь, что TFTP работает правильно или нет:

  root@ravi-Inspiron-N5010:/home/ravi# netstat -na | grep LIST | grep 69 unix 2 [ ACC ] STREAM LISTENING 16171 @/com/ubuntu/upstart-session/1000/1692 root@ravi-Inspiron-N5010:/home/ravi# 

Результат netstat отличается от того, что упоминается в учебнике:

 tcp 0 0 0.0.0.0:69 0.0.0.0:* LISTEN 

TFTP – это протокол на основе UDP, и поэтому вы не найдете строку, которая говорит LISTEN или LISTENING.

Запустить netstat -na | grep udp netstat -na | grep udp

и посмотреть, что вы получаете.

вы не указали, какой учебник вы следовали. Однако вывод кажется вполне законным. tftp использует оболочку xinetd, поэтому вы увидите соединение в netstat только в том случае, если на самом деле есть подключенный клиент. Попробуйте, а затем снова запустите netstat.

 netstat -tupan 

убедитесь, что ваш брандмауэр разрешает подключение к порту:

 iptables -I INPUT -s <your subnet> -p tcp --dport 69 -j ACCEPT iptables -I INPUT -s <your subnet> -p udp --dport 69 -j ACCEPT 

где «ваша подсеть» относится к 192.168.1.0/24

Как уже было сказано, выход выглядит достаточно легитимным. Вот что, однако, вы действительно пытались получить доступ к TFTP-серверу через клиента. Только верный способ узнать, слышит ли он или нет …

Одно дело, что один из шагов может потребоваться изменить, если это Ubuntu. В основном это должно быть:

sudo service xinetd restart

не

sudo service xinetd stop

sudo service xinetd start

только шаг 4 нужно изменить, так как xinetd порождается выскочкой. вам нужно перезапустить его с помощью «service xinetd restart» – BЈовић 4 сен 13 в 12:14 https://askubuntu.com/questions/201505/how-do-install-and-run-a-tftp-server

Другой альтернативой является просто попробовать другой TFTP (tftpd-hpa, atftpd и т. Д.) Сервер, чтобы все было в порядке …

http://www.cyberciti.biz/faq/install-configure-tftp-server-ubuntu-debian-howto/