Hướng dẫn cài đặt TFTP Server trên CentOS 7.

1. Cài đặt các gói chương trình TFTP Server.

yum install tftp tftp-server xinetd

Nếu bạn không biết cấu hình hay sử dụng, bạn thường sẽ phải reboot lại hệ thống nhưng có thể tắt tạm thời SELINUX bằng lệnh ‘setenforce’ .

vi /etc/selinux/config

SELINUX=disabled

setenforce 0

2. Cấu hình dịch vụ TFTP.

– Khởi tạo user dành riêng cho thư mục chứa dữ liệu phục vụ dịch vụ TFTP Server.

useradd –no-create-home -s /sbin/nologin tftp

– Đầu tiên bạn có thể khởi tạo thư mục dành cho data sử dụng cho dịch vụ TFTP hoặc sử dụng thư mục mặc định trong cấu hình.

# mkdir -p /tftpdata

# chmod 777 /tftpdata

# touch /tftpdata/demo.txt

# chown tftp:tftp -R /tftpdata

– Cấu hình file dịch vụ TFTP và một số cấu hình chú thích.

# vi /etc/xinetd.d/tftp

# default: off

# description: The tftp server serves files using the trivial file transfer

# protocol. The tftp protocol is often used to boot diskless

# workstations, download configuration files to network-aware printers,

# and to start the installation process for some operating systems.

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -c -v -u tftp -p -U 117 -s /tftpdata

disable = disable

per_source = 11

cps = 100 2

flags = IPv4

}

Chú thích:

– disable = disable

– server_args

+ ‘-c‘ : cho phép tạo file mới trên thư mục tftp.
+ ‘-s‘ : tự động change root directory cho người dùng kết nối đến TFTP, tức người dùng sẽ chỉ thấy nội dung file/thư mục trong thư mục /tftpdata đã được quy định trước.
+ ‘-u‘ : chỉ định user sử dụng cho thư mục TFTP.
+ ‘-p‘ : không thực hiện check quyền permission đối với user cụ thể như ‘tftp‘ đã tạo ở trên.
+ ‘-U‘ : chỉ định giá trị umask khi tạo mới 1 file.
+ ‘-v‘ : option giúp hiển thị các thông tin log khi kết nối TFTP Server.

3. Khởi động dịch vụ TFTP và thêm vào danh sách startup service.

– Chỉnh lại cấu hình systemd start service ở phần ‘ExecStart’ mục [Service] cho giống cấu hình config phía trên.

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 -v -u tftp -p -U 117 -s /tftpdata

StandardInput=socket

[Install]

Also=tftp.socket

– Reload lại cấu hình systemd service đã chỉnh sửa.

systemctl daemon-reload

– Khởi động dịch vụ TFTP.

systemctl start xinetd

systemctl start tftp

– Thêm vào danh sách startup service.

systemctl enable xinetd

systemctl enable tftp

– Kiểm tra xem dịch vụ đã listen trên port UDP 69 chưa.

netstat -antpu | grep 69

udp6 0 0 :::69 :::* 1/systemd

4. Cấu hình tường lửa allow port dịch vụ TFTP.

4.1. Đối với Iptables.

– Nếu bạn chạy dịch vụ TFTP sau 1 dịch vụ tường lửa thì bạn cần allow port incomming 69/UDP.

iptables -I INPUT -p udp –dport 69 -j ACCEPT

4.2. Đối với Firewalld.

sudo firewall-cmd –zone=public –add-service=tftp –permanent

sudo firewall-cmd –reload

5. Kiểm tra kết nối dịch vụ TFTP Server

– Bạn có thể sử dụng chương trình WinSCP trên Windows để test. Hoặc nếu sử dụng Linux thì có thể test trực tiếp như sau. Sử dụng lệnh ‘get’ để lấy file về local ; ‘pu’ – để đẩy file lên hệ thống TFTP Server.

tftp 192.168.1.42

get demo.txt

Như vậy bạn đã hoàn tất việc cài đặt TFTP Server trên CentOS 7.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *