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
コメント
- 申し訳ありませんが、TCPポートがリッスンすることを期待しているのはなぜですか。 TFTPはUDPベースのプロトコルです。そして、' UDP69をリッスンするようにxinetdを構成しました。' netstat -anpu |を使用してみてください。 grep 69 '開いているTFTPポートを検索します。
回答
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のみを変更する必要があります。「servicexinetdrestart」で再起動する必要があります–BЈовић 9月4日「13at 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 -tupan
ファイアウォールがポートへの接続を許可していることを確認して、netstatを再度実行します。
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のようなものです