私は this のチュートリアルに従って、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
を実行します
あなたが得るものを見てください。
前述のように、出力は十分に合法に見えます。ただし、実際には、クライアントを介してTFTPサーバーにアクセスしてみましたか。それが聞いているかどうかを知るための唯一の確実な方法...
これがUbuntuの場合、手順の1つを変更する必要があるかもしれません。基本的には次のようになります。
Sudo service xinetd restart
ない
Sudo service xinetd stop
Sudo service xinetd start
xinetdはupstartによって生成されるため、変更する必要があるのはステップ4のみです。 'service xinetd restart'で再起動する必要があります–BЈовићSep 4 '13 at 12:14 https://askubuntu.com/questions/201505/how-do-i-install-and-run-a -tftp-server
別の方法としては、別のTFTP(tftpd-hpa、atftpdなど)サーバーを試してみてください。
http://www.cyberciti.biz/faq/install-configure-tftp-server-ubuntu-debian-howto/
どのチュートリアルに従ったかについては触れていません。ただし、出力はかなり合法のようです。 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のようなものです