TFTPをインストールするには? Linux、macOS、Windows別に解説FTPだけじゃないファイル転送方法【後編】

ファイル転送プロトコルのTFTPはFTPに比べ機能が限られているが、ファイルを手軽に送信することができる。TFTPのインストール手順や用途を解説する。

2024年06月04日 05時00分 公開
[Damon GarnTechTarget]

関連キーワード

Linux | Windows


 ファイル転送プロトコルの「TFTP」(Trivial File Transfer Protocol)は同じ用途の「FTP」と比べて軽量で使いやすく、システム起動時のネットワークブート(遠隔からネットワークを経由して端末やOSを起動すること)や設定ファイルのバックアップなどに適している。

 通常、TFTPを利用するためにはTFTPサービスのインストールと、TFTP設定ファイルの管理が必要となる。TFTPの取り扱いはOSによって異なる。以下では、OSごとに設定の概要を説明する。

TFTPを使うには? OS別に解説

Linux

 OS「Linux」でTFTPサービスをインストールするにはまず、Linux内にTFTPの機能を集約した「TFTPサーバ」をインストールする必要がある。TFTPサーバのパッケージとしては「tftpd-hpa」が一般的で、以下のコマンドを使用する。

  • sudo apt-get update
  • sudo apt-get install tftpd-hpa

 Linuxディストリビューション(Linuxの配布パッケージ)が、パッケージ管理システムとして「Dandified Yum」(DNF)を使用している場合は、代わりに以下のコマンドを使用する。

  • sudo dnf install tftpd-hpa

 インストール後、TFTPリポジトリとして機能するベースディレクトリを作成する。テキストエディタを使用して「/etc/default/tftpd-hpa」設定ファイルを編集し、ベースディレクトリの場所と IP情報を設定する。サービスの開始および有効化とファイアウォールの設定も忘れてはいけない。

macOS

 AppleのクライアントOS「macOS」には、デフォルトでTFTPサーバとクライアントはインストールされている。ただし、TFTPを制御するためにTFTPの設定ファイルを開いて編集する場合がある。筆者はテキストエディタとして「Vim」を利用しているが、使用するテキストエディタはどれでもよい。

Windows

 MicrosoftのクライアントOS「Windows」の管理者がTFTPサーバを必要とする場合、以下の2つが有力な選択肢だ。

  • オープンソースソフトウェア(OSS)の「Tftpd64」
  • IT監視ツールベンダーSolarWindsが無料で提供する「TFTP Server」

 LinuxやMacOSのデプロイ(展開)と同様に、コマンドラインツールでディレクトリやその他の情報を設定する。TFTPサーバのステータスを確認するには、次のコマンドを使用する。

  • netstat -an | more

 これで「udp 0.0.0.0:69」と表示されるはずだ。

 Windowsは、デフォルトでTFTPクライアントを含んでいない。Windows 10および11では、「コントロールパネル」から「プログラムと機能」へ移動し、「Windowsの機能をオンまたはオフにする」を選択し、「TFTPクライアント」のチェックボックスをオンにする。

 以下のコマンドを実行し、クライアントを追加することも可能だ。

  • Enable-WindowsOptionalFeature -FeatureName TFTP -Online

 TFTP クライアントがWindows Server から実行される場合、代わりに以下のコマンドを使用する。

  • Install-WindowsFeature TFTP-Client

 TFTPを設定する際は、Windowsファイアウォールの設定も確認しよう。

 OSに関わらず、TFTPをインストールする手順は単純である。サービスをインストールし、設定し、ファイアウォールを変更し、クライアントを準備するだけだ。

TFTPの使い方

 TFTPサービスを利用してファイルを転送する時の基本コマンドは「tftp」だ。tftpは、サブコマンドを通じて追加オプションを提供する。「utftp」コマンドもtftpと同様の機能と追加オプションを持っているが、ファイルのアップロード時に既存のファイルを上書きしない点が異なる。

 tftpとutftpで重要なサブコマンドは「get」と「put」だ。getコマンドでリモートの場所からファイルを取得して、putコマンドでファイルをリモートの場所にアップロードする。

 ファイルをコピー元から転送するには、そのディレクトリとファイルの読み取り権限が必要だ。コピー先のファイルやディレクトリの状態を保存する「リポジトリ」にファイルをアップロードするには、書き込み権限が必要だ。

 例えば、「server01」というリモートサーバから「config.file」というファイルを取得するには、次のように入力する。

  • tftp server01 get config.file

 「status」や「verbose」のサブコマンドは、TFTPサービスを確認する際に有用だ。その他のオプションは、ドキュメントやmanコマンドのマニュアルを確認してほしい。

  • put
    • ファイルをアップロードする
  • get
    • ファイルをダウンロードする
  • status
    • TFTPのステータスを表示する
  • -i
    • ASCIIやバイナリなどのイメージタイプを指定する

TFTPをセキュアに使う

 TFTPはセキュリティ機能が不十分だが、「SSHトンネル」や、VPN(仮想プライベートネットワーク)で通信を保護すれば、特定の状況下では適切に利用できる。

 TFTPでアクセスを制御したい時は、「/etc/ftpd」ディレクトリに置かれた構成ファイル群を使用する。TFTPサービス全体または特定のディレクトリへのアクセスを拒否することができる。操作には管理者権限が必要だ。

 安全なファイル転送プロトコルが必要なら、「SFTP」(SSH File Transfer Protocol)や「HTTPS」(Hypertext Transfer Protocol Secure)を検討する必要がある。

まとめ

 TFTPは、特定のシナリオで有効なツールであり、全てのファイル転送ニーズに適しているわけではない。FTPと比べると、ネットワークデバイスの設定ファイル管理やシステムのブート時にはその速さと簡単さからTFTPは適しているだろう。しかし、認証やファイル管理機能の欠如している点はデメリットだ。

 TFTPサービスはWindowsとLinuxで容易に設定でき、macOSには予め構成されたTFTPサービスが含まれている。クライアントソフトウェアをまだ持っていないシステムにも簡単に追加できる。リモートデプロイメント、ストレージリソースを持たない「ディスクレスシステム」、ネットワークデバイスのサポートが必要な場合、TFTPの使用を始めることをお勧めする。

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

ITmedia マーケティング新着記事

news047.jpg

SASのCMOが語る マーケティング部門が社内の生成AI活用のけん引役に適している理由
データとアナリティクスの世界で半世紀近くにわたり知見を培ってきたSAS。同社のCMOに、...

news159.jpg

SALES ROBOTICSが「カスタマーサクセス支援サービス」を提供
SALES ROBOTICSは、カスタマーサクセスを実現する新サービスの提供を開始した。

news139.jpg

「Fortnite」を活用  朝日広告社がメタバース空間制作サービスとマーケティング支援を開始
朝日広告社は、人気ゲーム「Fortnite」に新たなゲームメタバース空間を公開した。また、...