以前は 14.04 を使用していましたが、TFTP サーバーとクライアントをセットアップして動作させることができました。14.10 にアップグレードしたところ、TFTP サーバーが動作しなくなりました。
私がやったことは次のとおりです:
パッケージをインストールします。
sudo apt-get install tftpd-hpa
設定ファイルを次のように編集します。
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"
TFTP フォルダーを作成します。
sudo mkdir /tftpboot sudo chmod -R 777 /tftpboot sudo chown -R nobody /tftpboot
新しい設定を適用するにはアプリを再起動してください。
sudo service tftpd-hpa restart
(ソース)
当時は、それがtftpd-hpa
TFTP サーバー用のパッケージであり、tftp-hpa
TFTP クライアント用のパッケージであることを知らなかったため、TFTP クライアント用の別のパッケージをインストールしました。
次のパッケージをインストールします。
sudo apt-get install xinetd tftpd tftp
ディレクトリの権限を変更します
/etc/xinetd.d
。sudo chmod –R 777 xinetd.d
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 }
保存して終了。
ディレクトリを作成し
tftpboot
、権限を変更します。cd / sudo mkdir /tftpboot chmod –R 777 /tftpboot
サービスを再起動する
sudo /etc/init.d/xinetd restart
TFTP サーバーと TFTP クライアント用の別のパッケージをインストールするこのステップ バイ ステップのプロセスは 14.04 では機能しますが、14.10 では機能しません。2 回目のインストールとセットアップ ( 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 を構成する必要はありません。実際、私が読んだ推奨事項の中には、tftpd-hpa
との間でポート 69 の競合が発生するものがありますxinetd
。
の答え このページの他のユーザー嵐は例です。この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"
より多くのオプションを備えたソリューションを必要としない限り、しないでくださいtftp を処理するか、ポート 69 で listen するように構成しますxinetd
(または、まったくインストールしないでください)。/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