TFTP(Trivial File Transfer Protocol)とは、コンピュータ間のファイルを転送するプロトコルになります。ftpとは異なり、パスワード認証などもなく、信頼度の高いTCPではなくUDP(69)で実行します。ルータやスイッチのファイルのやり取りなどに利用されています。
今回は tftpサーバーを Ubuntu 20.04 LTS Server へインストールして設定をします。テストにCisco IOSからtftpプロトコルを利用して設定したサーバにファイルをアップロードします。
インストール環境
- Ubuntu 20.04.3 LTS
tftpサーバインストール
下記コマンドで tftp サーバをインストールします。
1 |
sudo apt-get install tftpd-hpa |
tftpサーバの設定
tftpサーバの設定ファイルは /etc/default/tftpd-hpa で定義されています。
1 2 3 4 5 6 7 8 |
test@ubuntu00:/etc/default$ cat /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" test@ubuntu00:/etc/default$ |
初期設定では tftpサーバーのディレクトリは /srv/tftp となっています。 またtftpサーバは 読み込み専用となっています。
書き込みを許可するには TFTP_OPTIONS に create を追加する必要があります。
1 2 3 4 5 6 7 8 |
test@ubuntu00:/etc/default$ cat /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure --create" test@ubuntu00:/etc/default$ |
tftpディレクトリの所有者の変更
設定ファイルの記述にもあるようにtftpdはtftp権限で実行されています。インストール直後のディレクトリの所有者はrootとなっていますので、tftpに変更します。
1 2 3 4 5 6 7 8 |
test@ubuntu00:/etc/default$ ls -l /srv/ total 4 drwxr-xr-x 2 root nogroup 4096 Oct 17 13:35 tftp test@ubuntu00:/etc/default$ sudo chown -R tftp /srv/tftp test@ubuntu00:/etc/default$ ls -l /srv/ total 4 drwxr-xr-x 2 tftp nogroup 4096 Oct 17 13:35 tftp test@ubuntu00:/etc/default$ |
tftpサーバーの再起動
上記の設定ファイルを反映させるため、tftpサーバを再起動します。
1 |
sudo service tftpd-hpa restart |
Cisco ルータから tftp によるファイルアップロード
Ciscoルータから running-config を tftpサーバにアップロードします。 tftpサーバは 172.28.254.3となっています。
下記の例は tftp サーバを 172.28.254.3 送信元ファイルを running-config 送信先ファイルを test-running-configとしています。
1 2 3 4 5 6 |
C4948E#copy running-config tftp Address or name of remote host []? 172.28.254.3 Destination filename [c4948e-confg]? test-running-config !! 21496 bytes copied in 0.692 secs (31064 bytes/sec) C4948E# |
ファイルがアップロードされましたので、サーバ側を確認します。 test-running-config ファイルがアップロードされています。
1 2 3 4 5 6 |
test@ubuntu00:/srv/tftp$ pwd /srv/tftp test@ubuntu00:/srv/tftp$ ls -ltr total 24 -rw-rw-rw- 1 tftp tftp 21496 Oct 17 14:01 test-running-config test@ubuntu00:/srv/tftp$ |
tftpサーバの他OSでのインストール記事
参考記事
スポンサーリンク
Ubuntu 20.04 LTS Server 記事一覧
Ubuntu 20.04 LTS Server インストール
Ubuntu 20.04 LTS Server 設定記事一覧
- タイムゾーンを日本時間(JST)に変更
- ネットワークの設定 ( IPv4アドレス、DNS(resolve) 、デフォルトゲートウェイ、static route )
- シリアルからコンソールに接続する設定
- ファイアウォール ufw の設定方法