一般的なファイル転送プロトコルに代わる、より簡単な代替手段があることをご存知ですか?これは TFTP であり、Linux でのセットアップ方法は次のとおりです。
TFTP (Trivial File Transfer Protocol) は 1980 年に初めて定義されました。これはかなり古いプロトコルで、1981 年 6 月に Karen R. Sollins によって RFC 783 (Request for Comments) で TFTP Protocol Revision 2 として公開されました。
初期の頃、TFTP の主な目的はネットワーク上でファイルを送受信することでした。特に、ネットワーク経由でシステムを起動できるようにするために、起動中に必要なファイルを転送するために使用されます。
次に、Linux マシン上で TFTP サーバーをセットアップする方法について説明します。
TFTP とは何ですか?
TFTP は、サポートする機能に基本的な変更はなく、ファイル転送の目的で引き続き使用されています。 TFTP は、UDP/IP 経由でファイルをダウンロードおよび送信するために使用されます。他のファイル転送プロトコルで一般的な、ID および承認の制御、ファイルのリスト、削除、名前変更などの追加機能はありません。
トランスポート層で TCP を使用する Advanced File Transfer Protocol とは異なり、UDP プロトコル上で動作し、ファイルに属するデータ パケットが相手に送信されるかどうかを確認する機能はありません。この制限があるため、インターネットや WAN ではなく LAN での使用に適しています。
上記の一見不利な特性にもかかわらず、TFTP プロトコルの非常に強力な側面の 1 つはその単純さです。代替プロトコルと比較して、このプロトコルは、オペレーティング システムがない環境でも実装が非常に簡単です。この機能により、組み込みシステムで幅広い用途に使用されます。
Linux に TFTP サーバーをインストールする
組み込みデバイスを使用する場合は、TFTP サーバー サービスをインストールすることが重要です。 Linux システムでは、複数の TFTP サーバー実装を実行できます。 Debian ベースのディストリビューションを使用している場合は、tftpd-hpa、tftpd、または atftpd パッケージをインストールできます。どれを選択すればよいかわからない場合は、tftpd-hpa パッケージのインストールを検討してください。
リーリーインストール後、TFTP サービスは UDP ポート 69 でのリッスンを開始します。 TFTP サーバー経由で他のシステムにファイルを提供するには、いくつかの前提条件を覚えておく必要があります:
1 つ目は、必要なファイルを TFTP ホーム ディレクトリまたはそのホーム ディレクトリの下のディレクトリにコピーすることです。2 つ目は、ファイルのアクセス許可を一般に公開することです
TFTP サーバーのホーム ディレクトリを確認するには、/etc/default/tftpd-hpa ファイル内の TFTP_DIRECTORY 変数を確認します。通常、/var/lib/tftpboot または /srv/tftp のようなディレクトリが表示されます。必要に応じて、このディレクトリを変更してサービスを再起動できます。
使いやすくするために、関連する TFTP ホーム ディレクトリの所有者を自分のユーザー アカウントに変更すると、実行するすべてのコマンドに sudo プレフィックスを追加する必要がなくなります。 chown コマンドを使用して、所有権を root から現在のユーザーに変更します:
リーリーTFTP サーバーのパッケージ名とデフォルトのホーム ディレクトリは、使用する Linux ディストリビューションによって異なる場合があります。
TFTP サーバーを使用してファイルを送信する
場合によっては、組み込み Linux システムから外部環境にファイルを移動するためのオプションが TFTP だけである場合があります。たとえば、ファイルの転送に使用できる書き込み可能なメディアがシステムでサポートされていない場合があります。
この場合、TFTP クライアントはbusybox でコンパイルされている可能性があるため、システムに保存されているファイルをネットワーク上の TFTP サーバーに送信できます。
TFTP クライアント アプリケーションを使用するには、busybox tftp コマンドを発行します。
リーリーサンプル ファイルを TFTP サーバーに送信するには、次のコマンドを使用する必要があります:
リーリー上記のコマンドは正しいですが、ファイルを TFTP サーバーに転送するときにエラーが発生します。返されるエラー メッセージは一目瞭然ではないため、実際の問題が何であるかを理解するのが難しい場合があります。
ここでの問題は、TFTP サーバー上のいくつかのセキュリティ手順が原因です。 TFTP では、ファイルのアップロードの前提条件として、ファイルが書き込まれるディレクトリに同じ名前のファイルが存在し、ファイルへの書き込み権限がすべてのユーザーに与えられている必要があります。
つまり、TFTP サーバー上に存在しないファイルは、TFTP クライアント経由でアップロードできません。同じ名前の空のファイルを作成し、そのアクセス許可を編集すると、上記のアップロード プロセスは成功します。これを行うには、関連する TFTP サーバーのホーム ディレクトリで次のコマンドを実行する必要があります:
リーリーこれで、アップロードを正常に実行できるようになりました。
上記のセキュリティ対策を無効にして、TFTP サーバーに存在しないファイルを作成させることもできます。これを行うには、tftpd-hpa アプリケーションの起動時に -c または --create パラメータを使用します。このパラメータを /etc/default/tftpd-hpa ファイル内の既存の TFTPD_OPTIONS 変数に追加するだけで十分です:
リーリーファイル転送に TFTP サーバーを使用する理由は何ですか?
TFTP の最も重要な利点は、高速で時間を節約できることです。ネットワークデバイスの設定ファイルを他のシステムに転送するのに最適です。さらに、使用基準も非常にシンプルです。 Windows および Linux ベースのオペレーティング システム上のソフトウェアで簡単に実行できます。最後に、FTP が技術的に不可能な状況では、TFTP がいつでも窮地を救うことができます。
もちろん、最大の欠点は不安です。したがって、TFTP サーバーを使用してファイルを転送する場合は、細心の注意を払う必要があります。
ファイル転送を除き、TFTP サーバーを使用してファイルの削除、編集、変更などの機能を実行することはできません。この機能は、高度なシステムを使用している人、または高度なシステムを探している人にとっては大きな欠点です。最後に、認証が必要ありませんが、これはセキュリティを真剣に考えている場合には大きな欠点となります。
他のオペレーティング システムでの TFTP のセットアップ
Windows で TFTP を使用する場合は、サードパーティ ソフトウェアをインストールする必要はありません。コントロール パネルの [Windows の機能をオンまたはオフにする] オプションを使用して、TFTP を有効にできます。
以上がLinux 上で古くてシンプルな TFTP サーバーをセットアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。