xinetdルールで起動すると、TFTPは定義されたポートでリッスンしません。

xinetdルールで起動すると、TFTPは定義されたポートでリッスンしません。

私はフォローしていますこれ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

答え1

TFTPはUDPベースのプロトコルなので、「LISTEN」または「LISTENING」という行が見つかりません。

走るnetstat -na | grep udp

あなたが何を得るかを確認してください。

答え2

述べたように、出力は十分に正当なように見えます。しかし、問題は実際にクライアントを介してTFTPサーバーにアクセスしてみましたか?相手が聞いているかどうかを確認する唯一の方法は...

1つは、これがUbuntuであれば、ステップの1つを変更する必要があるかもしれません。デフォルトでは、次のようになります。

sudo service xinetd restart

いいえ

sudo service xinetd stop

sudo service xinetd start

upstart によって xinetd が生成されるので、4 段階だけ変更するだけです。 「service xinetd restart」を使用して再起動する必要があります – BЈовић 2013-09-04 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/

答え3

どのチュートリアルに従ったのか言及していません。しかし、出力はかなり合法的なようです。 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です。

関連情報