Instalacja tftp na CentOS 7
Wbrew pozorom serwer tftp ma wciąż swoją rację bytu w dzisiejszym świecie IT. Jakiś czas temu pisaliśmy o instalacji tftp na urządzeniach pracujących pod kontrolą systemów Windows – jednak wiadomo nie każdy ma licencję na Windowsa, więc poratujemy się hipsterką i linuxem (tu konkretnie – CentOS 7).
Mając działający serwer CentOS, wystarczy nam kilka komend, aby cieszyć się z dobrodziejstw tftp. Zacznijmy od instalacji:
[root@spece01]# yum -y install tftp tftp-server xinetd
Oczywiście nim przejdziemy dalej warto utworzyć sobie przestrzeń w której serwer tftp będzie operował – czyli katalog z którego będzie udostępniał pliki – lub miejsce w którym będzie je zapisywał (u mnie musiało to działać w dwie strony)
[root@spece01]# mkdir /usr/local/share/tftp [root@spece01]# chmod -R 777 /usr/local/share/tftp
Hurr durr – 777!!! 🙂
Następnie zaglądamy do dwóch plików i staramy się aby wyglądały tak:
[root@spece01]# nano /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c -s /usr/local/share/tftp
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@spece01]# nano /usr/lib/systemd/system/tftp.service
[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd
[Service]
ExecStart=/usr/sbin/in.tftpd -s /usr/local/share/fw-switch
StandardInput=socket
[Install]
Also=tftp.socket
Jeśli korzystamy z SELinuxa na serwerze należy sprawdzić status (pisaliśmy o tym jak wyłączyć SELinux) i tryb działania. Zacznijmy od pliku konfiguracyjnego:
[root@spece01]# cat /etc/selinux/config
SELINUX=permissive
SELINUXTYPE=targeted
I rzeczywistego statusu:
[root@spece01]# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: permissive Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
[root@spece01]# getsebool -a | grep tftp tftp_anon_write --> off tftp_home_dir --> off
Trzeba więc włączyć możliwość zapisu przez tftp:
[root@spece01]# setsebool -P tftp_anon_write 1 [root@spece01]# setsebool -P tftp_home_dir 1
Ostatnią częścią będzie modyfikacja reguł firewall:
[root@spece01]# firewall-cmd --permanent --add-port=69/udp [root@spece01]# firewall-cmd --permanent --zone=public --add-service=tftp --permanent [root@spece01]# firewall-cmd --reload
Na koniec startujemy usługi i ustawiamy je aby uruchamiały się podczas bootowania systemu:
systemctl start xinetd
systemctl start tftp
systemctl enable xinetd
systemctl enable tftp
I to już. Mamy działający serwer tftp – akurat do zgrywania konfiguracji np. switchy lub serwowania im obrazów systemowych.
Najnowsze komentarze