TFTPサーバのインストールと設定

TFTPサーバはTCP/IP上でファイルをやり取りするサーバです。

今回は、TFTPサーバのインストールと設定をし、実際にNW機器からコンフィグをアップロードできるか検証してみます。

TFTPサーバインストール

サーバでtftpを以下のコマンドでインストールします。

# yum install tftp tftp-server

インストール完了後、以下のファイルを修正します。

# vim /etc/xinetd.d/tftp

service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -c -u root -s /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

server_argsで

  • 「-c」はCreate(アップロード先にファイルが無い場合、新規に作成)
  • 「-u」はuser(tftpbootの権限がrootなので今回はrootを指定)
  • 「-s」はアップロード先のフォルダ指定

となります。

tftpファイル編集後、tftpサービスを立ち上げるので「xinetd」を起動します。

# service xinetd start
xinetd を起動中:                                           [  OK  ]

また、自動起動する設定もいれときましょう。

# chkconfig xinetd on
# chkconfig --list xinetd
xinetd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

あとはファイアーウォールでtftp(69)portをあけてあげましょう。
今回はsorce、destの穴あけ設定をしときました。
※iptablesの順番に気を付けて!

# iptables -I INPUT  -p udp --sport 69 -j ACCEPT
# iptables -I INPUT  -p udp --dport 69 -j ACCEPT

TFTPサーバ動作確認

それでは、TFTPサーバに疎通可能なNW機器(今回はCisco)から、tftpサーバへコンフィグをアップロードしてみます。

copy  running-config tftp://192.168.10.1/test011-config
Address or name of remote host [192.168.10.1]?
Destination filename [test011-config]?
!!
5443 bytes copied in 1.510 secs (3605 bytes/sec)

上記のようにファイルがアップロードできればOKです。

TFTPサーバ側でもファイルがアップロードされていることが確認できました。

# ll /var/lib/tftpboot/
合計 40
-rw-rw-rw- 1 root root 4645  8月 28 15:26 2014 test011-config

以上、結構簡単に作れますが、tftpファイル内の「server_args」でtftpbootのディレクトリを変更するとなぜかうまくいかない現象が。。。

わかれば、また書いときます。

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!