TFTP(Trivial File Transfer Protocol)とは、コンピュータ間のファイルを転送するプロトコルになります。ftpとは異なり、パスワード認証などもなく、信頼度の高いTCPではなくUDP(69)で実行します。ルータやスイッチのファイルのやり取りなどに利用されています。
今回は tftpサーバーを Ubuntu 22.04 LTS Server へインストールします。テストにCisco IOSからtftpプロトコルを利用して設定したサーバにファイルをアップロードします。
インストール環境
- Ubuntu 22.04 LTS Server
tftpサーバインストール
下記コマンドで tftp サーバをインストールします。
1 |
sudo apt-get install tftpd-hpa |
tftpサーバの設定
tftpサーバの設定ファイルは /etc/default/tftpd-hpa で定義されています。
1 2 3 4 5 6 7 8 |
test@ubuntu2204-1:~$ cat /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" test@ubuntu2204-1:~$ |
初期設定では
- tftpサーバーのディレクトリ /srv/tftp
- tftpサーバーのユーザ権限 tftp
- tftpサーバーの読み取り専用
tftpサーバの書き込みの許可
書き込みを許可するには TFTP_OPTIONS に create を追加する必要があります。
1 2 3 4 5 6 7 8 |
test@ubuntu2204-1:~$ cat /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure --create" test@ubuntu2204-1:~$ |
tftpディレクトリの所有者の変更
tftpサーバの初期設定のディレクトリの権限はrootとなっているため、書き込みができません。今回は初期設定のtftpに所有者を変更します。
1 2 3 4 5 6 7 8 |
test@ubuntu2204-1:~$ ls -l /srv total 4 drwxr-xr-x 2 root nogroup 4096 Jul 15 06:53 tftp test@ubuntu2204-1:~$ sudo chown -R tftp:tftp /srv/tftp test@ubuntu2204-1:~$ ls -l /srv total 4 drwxr-xr-x 2 tftp tftp 4096 Jul 15 06:53 tftp test@ubuntu2204-1:~$ |
tftpサーバの再起動による設定反映
tftpサーバの設定を反映させるためにtftpサーバを下記のコマンドで再起動します。
1 |
sudo service tftpd-hpa restart |
Cisco IOS-XEからtftpサーバへのアップロードテスト
Cisco IOS-XEからtftpにてrunning-configをサーバにアップロードします。今回設定したサーバーのIPアドレスは 10.3.101.1 となっています。
1 2 3 4 5 6 |
ios-xe#copy running-config tftp Address or name of remote host []? 10.3.101.1 Destination filename [ios-xe-confg]? !! 4225 bytes copied in 0.190 secs (22237 bytes/sec) ios-xe# |
tftpサーバにアップロードされたか確認します。
1 2 3 4 |
test@ubuntu2204-1:~$ ls -ltr /srv/tftp/ total 8 -rw-rw-rw- 1 tftp tftp 4225 Jul 15 07:14 ios-xe-confg test@ubuntu2204-1:~$ |
tftpサーバの他OSでのインストール記事
参考記事
Ubuntu 22.04 LTS Server 記事一覧
Ubuntu 22.04 LTS Server インストール
Ubuntu 22.04 LTS Server 環境変更
- Ubuntu 22.04 LTS Server タイムゾーン日本時間(JST)への変更手順
- Ubuntu 22.04 LTS Server システムのロケール 日本語(UTF-8)への変更手順
- Ubuntu 22.04 LTS Server ネットワークの設定 ( IPv4アドレス、DNS(resolve) 、デフォルトゲートウェイ、static route )
- Ubuntu 22.04 LTS Server ファイアウォール(ufw)の起動および設定手順