1705694161
2024-01-19 19:05:24
TCP/IP スタック内のあまり一般的に知られていないアプリケーション層プロトコルの 1 つは、Trivial File Transfer Protocol です。 より認知度の高い FTP は、画像やフォーマットされたドキュメントなどの大きなファイルを確実に転送するために使用されます。 ただし、TFTP は別の目的を果たします。
この記事では、バックアップから展開まで、ネットワーク環境における TFTP の役割について説明します。 TFTP と FTP をより詳細に比較し、いくつかの TFTP の使用例を提案します。 最後に、この記事ではインストール、TFTP コマンド、およびセキュリティについて説明します。
TFTP と FTP の比較
TFTP と FTP の違いを理解するには、まず TCP/IP スタックの詳細を覚えておくことが重要です。 どちらのファイル転送プロトコルもアプリケーション層で動作しますが、 さまざまなトランスポート層プロトコル。
FTP は、送信元ノードと宛先ノードの両方で各パケットを処理するステートフルで信頼性の高いプロトコルである TCP を使用します。 この方法では、より多くの管理オーバーヘッドが生成されますが、送信されたすべてのデータが宛先で確実に受信されます。
TFTP は、迅速な転送のためにユーザー データグラム プロトコル (UDP) に依存しています。 UDP はステートレスでベストエフォート型のプロトコルであり、トランスポート層でパケット損失をチェックしません。 UDP は、アプリケーションに応じて、異なる層で失われたパケットをチェックする場合があることに注意してください。
FTP をサポートする TCP と TFTP をサポートする UDP を備えた TCP/IP スタック
TFTP と FTP の次の違いはコマンドにあります。 従来の FTP アプリケーションは、リモート FTP サーバー上の既存のファイルの表示や操作など、かなりの機能を提供します。 FTP サービスでは、匿名であるか、パスワード付きの標準ユーザー アカウントを使用しているかにかかわらず、何らかの認証が必要です。
TFTP はファイルを管理しません。 ファイルをアップロード (配置) およびダウンロード (取得) する機能のみが提供され、どのファイルが存在するかを確認したり、それらを管理したりする機能はありません。 TFTP は、面倒な認証手順も使用しません。
TFTP はポート 69/udp を使用して初期接続を確立します。 次に、クライアントとサーバーは、データ転送プロセスのために他のポートをネゴシエートします。 FTP は通常、モードに応じてポート 20/tcp (データ) と 21/tcp (管理) を使用します。
TFTP の利点は、小さくて使いやすいことです。 これは、ネットワーク デバイスのバックアップ時や、ネットワーク クライアントへのブート ファイル情報のダウンロード時など、構成ファイルの転送に役立ちます。 これらの状況は、認証されていないシナリオではうまく機能します。 TFTP は軽量でもあるため、ストレージやコンピューティング能力がほとんどないデバイスに役立ちます。
FTP には、データ転送用の暗号化機能が組み込まれていません。 ただし、Secure Shell FTP (SFTP) と FTP Secure が存在し、転送中のデータのセキュリティを強化できます。
TFTP の一般的な使用例
TFTP 標準は 1981 年に定義されましたが、現在でも主に特殊な状況で使用されています。
TFTP の使用例をいくつか示します。
- プリブート実行環境展開によるネットワークブート。
- ディスクレスワークステーションによるネットワークブート。
- ネットワークデバイス構成ファイルのバックアップ。
- ネットワークデバイス構成ファイルを転送します。
- ファームウェアイメージを転送しています。
- クライアント デバイスからネットワーク サーバーへの従来のファイル転送を実行します。
ただし、セキュリティと認証が欠如しているため、TFTP は現在の多くの厳格なセキュリティ要件を満たさない可能性があります。
TFTP インストール オプション
ほとんどのシステムに TFTP サービスをインストールし、TFTP 構成ファイルを管理することが想定されます。 各 OS は TFTP の処理方法が少し異なります。 次のセクションでは、各プラットフォームの構成を要約します。
Linux
おそらく、構成ファイルを編集する前に、Linux デバイスに TFTP サービスをインストールする必要があります。
apt-get を使用して tftpd-hpa サーバーをインストールするには、次のように入力します。
$ sudo apt-get インストール tftpd-hpa
Linux ディストリビューションが DNF パッケージ マネージャーに依存している場合は、次のコマンドを入力します。
$ sudo dnf インストール tftpd-hpa
次に、TFTP リポジトリとしてベース ディレクトリを作成します。 好みのテキスト エディタを使用して /etc/default/tftpd-hpa 構成ファイルを構成し、ベース ディレクトリの場所と IP 情報を設定します。 サービスを開始/有効化し、ファイアウォールを構成することを忘れないでください。
マックOS
おそらく Mac にはすでに TFTP サーバーとクライアントがインストールされて実行されていますが、構成ファイルを管理する必要があります。 私は好きです Vim を使用する 私の Mac では、好きなテキスト エディタを使用してください。
ウィンドウズ
多くの Windows 管理者は、TFTP オプションが必要な場合、tftpd64 または SolarWinds TFTP サーバーをシステムに追加します。 TFTP インターフェイスは、通常よく知られているアプリケーションである PuTTY に似ています。 Linux および macOS の展開の場合と同様に、ベース ディレクトリおよびその他の情報のインターフェイスでオプションを設定します。
次の netstat コマンドを使用して、TFTP サーバーのステータスを確認します。
netstat -an | もっと
udp 0.0.0.0:69 が表示されるはずです。
Windows システムには、デフォルトでは TFTP クライアントも含まれていません。 Windows 10 および 11 では、[コントロール パネル]>[プログラムと機能]に移動し、[Windows の機能をオンまたはオフにする]を選択します。 「TFTP クライアント」チェックボックスにチェックを入れます。
次のコマンドレットを実行してクライアントを追加することもできます。
Enable-WindowsOptionalFeature -FeatureName TFTP -Online
TFTP クライアントが Windows Server から実行されている場合は、代わりに次のコマンドレットを使用します。
インストール-WindowsFeature TFTP-クライアント
プラットフォームに関係なく、TFTP をインストールするプロセスは簡単です。サービスをインストールし、構成し、ファイアウォールを変更し、クライアントを提供します。
Windows ファイアウォールの TFTP 設定を必ず確認してください。
プラットフォームに関係なく、TFTP をインストールするプロセスは簡単です。サービスをインストールし、構成し、ファイアウォールを変更し、クライアントを提供します。
TFTPの使用方法
TFTP サービスの主なコマンドは tftp です。 このコマンドは、追加のオプションを提供するさまざまなサブコマンドを使用します。 utftp コマンドは機能的には同じですが、アップロード時にファイルを上書きしません。
tftp と utftp の 2 つの重要なサブコマンドは、get と put です。 put コマンドはファイルをリモートの場所にアップロードし、get コマンドはリモートの場所からファイルを取得します。
ソースの場所からファイルをコピーするには、ユーザーはそのディレクトリとファイルに対する読み取り権限を持っている必要があります。 ユーザーは、宛先リポジトリの場所にファイルをアップロードするための書き込み権限を持っている必要があります。
たとえば、server01 という名前のリモート サーバーから config.file という名前のファイルを取得するには、次のように入力します。
tftp サーバー01 config.file を取得
status やverbose などのサブコマンドは、TFTP サービスを確認するときに役立つ場合があります。 他の選択肢については、ドキュメントまたはマニュアル ページを確認してください。
コマンド 説明 put ファイルをアップロードする get ファイルをダウンロードする status TFTP ステータスを表示する -v 詳細モードをオンにする -i ASCII やバイナリなどのイメージ タイプを指定する
TFTP は FTP よりも制限されています。 ユーザーはリモート システム上のファイルの一覧表示、名前変更、削除を行うことはできません。 TFTP の機能を思い出してください。TFTP は主に、多くの場合自動化またはスクリプト化された方法で、ファイルを迅速に転送する方法として存在します。
物理または仮想を問わず、所有している 2 台のラボ コンピューターを使用して TFTP を実験できます。 追加の Raspberry Pi デバイスはありますか? 中央ストレージ サーバーとして構成し、TFTP を使用してファイルを転送することを検討してください。 上記の Linux の構成手順を使用して、 構成、設定 TFTP 用の Raspberry Pi デバイス。
安全なTFTP
TFTP は、特に今日のゼロトラスト環境においては、実際のセキュリティを提供しません。 それでも、状況によっては適切な場合もあります。 Secure Shell トンネルや VPN などの他の安全な接続上で TFTP を使用できます。 これらのセキュリティ対策は TFTP とは独立して存在し、効果的である必要があります。 セキュリティ ポリシーで安全なプロトコルが必要な場合は、代わりに SFTP または HTTPS の使用が必要になる場合があります。
TFTP 内の主なアクセス制御方法は、/etc/tftpaccess.ctl ファイルです。 このファイルには、TFTP サービスがアクセスできるディレクトリまたは拒否されたディレクトリが明示的にリストされます。 不正な変更を防ぐために、ファイル自体には 644 のアクセス許可が必要です。
まとめ
TFTP は状況に応じて変化します。 すべてのファイル転送シナリオに適しているわけではありません。 ユーザーは次のような場合にこの問題に遭遇する可能性があります。 ネットワークデバイス構成ファイルの管理 またはシステム イメージの展開を使用します。 素早く、簡単かつ効果的です。 ただし、認証機能やファイル管理機能が含まれていないため、FTP よりも機能が劣ります。
TFTP サービスは Windows と Linux で簡単にセットアップでき、macOS には事前構成された TFTP サービスが付属しています。 クライアント ソフトウェアがまだインストールされていないシステムにクライアント ソフトウェアを追加することも簡単です。 リモート展開、ディスクレス システム、またはネットワーク デバイスをサポートしている場合は、今すぐ TFTP の使用を開始してください。
Damon Garn は Cogspinner Coaction を所有し、フリーランスの IT 執筆および編集サービスを提供しています。 彼は、Linux+、Cloud Essentials+、Server+ ガイドなど、複数の CompTIA 学習ガイドを執筆しており、TechTarget エディトリアルおよび CompTIA ブログに幅広く寄稿しています。
#TFTP #を使用してネットワーク経由でファイルを転送する方法