TFTPサーバにする

概要

TFTPとは認証機能がないファイル転送プロトコルです。ネットブート時にカーネルの転送やブートローダの転送を行うなどの際に使用します。

インストール

スーパーサーバxinetdを介してtftpdを使いますので、netkit-tftpの他にxinetdをインストールします。

emerge sys-apps/xinetd net-misc/netkit-tftp 

設定

/etc/xinetd.d/tftpdを開き、disable=yesをnoにします。また、only_fromという項目を追加し、アクセスを許可するIPアドレス(の範囲)を指定します。下は192.168.0.0/24からのアクセスを許可するtftpdの例です。

service tftp
{
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    group           = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    only_from       = 192.168.0.0/24
    disable         = no
}

次に、server_argsで指定したディレクトリを作成します。

mkdir /tftpboot

最後に、作成したディレクトリにTFTP経由で転送したいファイルをコピーします。

cp ~/hoge /tftpboot

実行

  1. /etc/init.d/xinetd start を実行して、エラーが起こらないか確認してください。
  2. rc-update add xinetd default を実行して、起動時に自動的に動作するようにします。

テスト

次のようにしてtftpdの動作確認を行うことができます。

$ tftp tftpd.example.com
tftp> get hoge
Received 145572 bytes in 0.3 seconds
tftp> quit