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 |