AlmaLinux9でtftpサーバを構築します。Alma9以前(CentOS8など)の場合はtftp-serverはxinetd経由で起動していましたが、AlmaLinux9ではtftp単体で起動可能となっています。
# dnf install tftp-server |
デフォルトの状態ですとtftp経由でファイルをダウンロードすることはできるものの、アップロードができない状態なので起動スクリプトを編集します。(-cオプションの追加)
# vi /usr/lib/systemd/system/tftp.service [Unit] Description=Tftp Server Requires=tftp.socket Documentation=man:in.tftpd [Service] ExecStart=/usr/sbin/in.tftpd -c -s /var/lib/tftpboot StandardInput=socket [Install] Also=tftp.socket |
これで起動します。
# systemctl enable tftp.socket # systemctl start tftp.socket |
ただし、firewalldが動いている場合はpermitルールを追加する必要があるのでxmlファイルを編集後、再起動します。
# vi /etc/firewalld/zones/public.xml
<以下、追加>
<rule family="ipv4">
<source address="192.168.0/16"/>
<port protocol="udp" port="69"/>
<accept/>
<>
|
firewalldを再起動して有効化します。
# systemctl restart firewalld |
tftpサーバのルートディレクトリは/var/lib/tftpbootになります。ファイルをアップロードしたい場合は属性を変えてあげないとアップロードに失敗します。オーナーをnobody等に変更するとアップロードも可能となります。
# chown nobody /var/lib/tftpboot |