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のディレクトリを変更するとなぜかうまくいかない現象が。。。
わかれば、また書いときます。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。