CentOS7のTFTP-Serverインストール

tftpサーバーのインストール及び設定の確認

tftp-serverのインストール

 yum -y install tftp-server
 コマンドで[tftp-server]をインストールします。

xinetdのインストール

 yum -y install xinetd
 コマンドで[xinetd]をインストールします。  [systemctl enable xinetd.service]コマンドでサービスの自動起動有効化
 [systemctl start xinetd.service]コマンドでサービスの起動
 をしています。
 [chkconfig tftp on]コマンドでサービスの自動起動有効化
 [systemctl restart xinetd.service]コマンドでxinetサービスの再読み込み
 をしています。

tftp-serverの設定変更

 [/etc/xinetd.d/tftp]ファイルを編集します。
 変更点は2か所です。
 [disable]の値を[yes → no] ※サービス有効化
 [server_args]の値を[-s /var/lib/tftboot → -s -v /share_dir] ※ディレクトリ変更及びログ記載
 に変更しています。
 設定変更後
 [systemctl restart xinetd.service]コマンドでxinetサービスの再読み込み
 をしています。

tftp-serverの稼働ポート確認

 [ss -anu]コマンドでUDPで稼働しているサービスを確認します。
 ※tcpのみの確認は[-ant]tcp/udpの確認は[-antu]で行います。オプションの順番に決まりは(たぶん)ありません。  上記の通りUDP69で稼働しているサービスがあることを確認できます。

tftp-serverへの接続(おまけ)

 Let's Encryptで発行したワイルドカード証明書をtftpを使ってダウンロード可能にします。
 ダウンロードはApresiaと言う機器において行います。
 上記で変更したディレクトリ[/share_dir/cert]に実ファイルをコピーします。
 秘密鍵[privkey.pem]と証明書(中間証明書込)[fullchain.pem]で実験します。
 [\cp -f /etc/letsencrypt/live/example.com/privkey.pem /share_dir/cert]コマンドを実施します。
 [\cp -f /etc/letsencrypt/live/example.com/fullchain.pem /share_dir/cert]コマンドを実施します。
 ※cpの前の\[バックスラッシュ]はミスではありません。
 次に、ApresiaからWeb認証用に証明書をtftpを使ってダウンロードしてみます。
 tftpサーバーのIPアドレスは[192.168.0.123]とします。
 正常にダウンロードできることを確認いたしました。

反省

 xinetd系のサービスを
 [systemctl enable tftp.service]といったコマンドで対処していたら、設定ファイルが完全に無視されてしまうことが判明。
 サービスの有効無効も効かないし、ディレクトリの変更もできない。
 でも、サービスは起動してデフォルトのディレクトリ[/var/lib/tftboot]にファイルがあれば取得もできる。
 頑張れば対処できるんだけど汎用化することが目的でもあるので、今回のところは[xinetd]使ってやる!(負け惜しみ)

0 件のコメント :

コメントを投稿