tftp command in linux

: html

Tìm Hiểu Lệnh TFTP Trong Linux: Truyền Tệp Dễ Dàng Trên Mạng

Bạn đang tìm kiếm một cách nhanh chóng và đơn giản để truyền tệp giữa các máy tính trong mạng nội bộ? Lệnh TFTP (Trivial File Transfer Protocol) trong Linux có thể là giải pháp bạn cần. Bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan về TFTP, cách cài đặt, sử dụng và các tình huống thực tế mà nó có thể giúp bạn.

TFTP Là Gì?

TFTP là một giao thức truyền tệp đơn giản, được thiết kế để truyền tệp một cách nhanh chóng và dễ dàng, đặc biệt là trong môi trường mạng cục bộ (LAN). Nó thường được sử dụng để khởi động hệ thống không ổ cứng (diskless systems), cập nhật firmware cho các thiết bị mạng, và truyền các tệp cấu hình nhỏ.

Điểm khác biệt chính giữa TFTP và các giao thức truyền tệp khác như FTP (File Transfer Protocol) là TFTP không yêu cầu xác thực người dùng (username/password). Điều này làm cho nó nhanh hơn và dễ sử dụng hơn, nhưng cũng kém an toàn hơn. Vì vậy, TFTP thường chỉ được sử dụng trong các mạng nội bộ đáng tin cậy.

Cài Đặt TFTP Client và Server trên Linux

Để sử dụng TFTP, bạn cần cài đặt cả TFTP client (để gửi hoặc nhận tệp) và TFTP server (để lưu trữ và cung cấp tệp). Dưới đây là hướng dẫn cài đặt trên Ubuntu/Debian:

Cài đặt TFTP Client:

sudo apt update
sudo apt install tftp

Cài đặt TFTP Server:

sudo apt update
sudo apt install tftpd-hpa

Sau khi cài đặt TFTP server, bạn cần cấu hình nó. Tệp cấu hình thường nằm ở /etc/default/tftpd-hpa. Mở tệp này bằng trình soạn thảo văn bản yêu thích của bạn và chỉnh sửa các tùy chọn sau:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -s"
  • TFTP_USERNAME: Tên người dùng mà TFTP server sẽ chạy dưới quyền.
  • TFTP_DIRECTORY: Thư mục mà TFTP server sẽ lưu trữ và cung cấp tệp.
  • TFTP_ADDRESS: Địa chỉ IP và cổng mà TFTP server sẽ lắng nghe.
  • TFTP_OPTIONS: Các tùy chọn dòng lệnh cho TFTP server. -l cho phép ghi log, -s cho phép chạy ở chế độ standalone.

Sau khi chỉnh sửa tệp cấu hình, hãy khởi động lại TFTP server để các thay đổi có hiệu lực:

sudo systemctl restart tftpd-hpa

Sử Dụng Lệnh TFTP

Để sử dụng lệnh TFTP, bạn cần biết địa chỉ IP của TFTP server và tên tệp bạn muốn truyền. Dưới đây là một số ví dụ:

Kết nối đến TFTP server:

tftp [địa_chỉ_IP_của_server]

Tải tệp từ server:

get [tên_tệp]

Gửi tệp lên server:

put [tên_tệp]

Ví dụ cụ thể:

Giả sử bạn muốn tải tệp config.txt từ TFTP server có địa chỉ IP 192.168.1.100:

tftp 192.168.1.100
get config.txt

Sau khi thực hiện lệnh get, tệp config.txt sẽ được tải xuống thư mục hiện tại của bạn.

Các Tình Huống Sử Dụng TFTP Trong Thực Tế

TFTP có thể được sử dụng trong nhiều tình huống khác nhau, bao gồm:

  • Khởi động hệ thống không ổ cứng (diskless systems): TFTP được sử dụng để tải kernel và các tệp hệ thống cần thiết để khởi động một máy tính không có ổ cứng.
  • Cập nhật firmware cho các thiết bị mạng: Nhiều thiết bị mạng như router, switch, và firewall sử dụng TFTP để nhận các bản cập nhật firmware.
  • Sao lưu và khôi phục cấu hình: TFTP có thể được sử dụng để sao lưu cấu hình của các thiết bị mạng, giúp bạn dễ dàng khôi phục lại cấu hình nếu cần thiết.
  • Truyền các tệp cấu hình nhỏ: TFTP là một cách nhanh chóng và dễ dàng để truyền các tệp cấu hình nhỏ giữa các máy tính trong mạng nội bộ.

Bảng So Sánh TFTP và FTP

Tính năng TFTP FTP
Xác thực người dùng Không yêu cầu Yêu cầu
Độ phức tạp Đơn giản Phức tạp hơn
Bảo mật Kém an toàn An toàn hơn
Tốc độ Nhanh hơn (do không xác thực) Chậm hơn (do xác thực)
Trường hợp sử dụng Mạng nội bộ đáng tin cậy, khởi động hệ thống, cập nhật firmware Truyền tệp qua internet, yêu cầu bảo mật cao

Những Lưu Ý Khi Sử Dụng TFTP

  • Bảo mật: Vì TFTP không yêu cầu xác thực, hãy đảm bảo rằng bạn chỉ sử dụng nó trong các mạng nội bộ đáng tin cậy.
  • Quyền truy cập: Đảm bảo rằng thư mục TFTP server có quyền truy cập phù hợp để người dùng TFTP có thể đọc và ghi tệp.
  • Kích thước tệp: TFTP có giới hạn về kích thước tệp (thường là 512 byte mỗi block). Nếu bạn cần truyền các tệp lớn, hãy cân nhắc sử dụng FTP hoặc các giao thức truyền tệp khác.

FAQ (Câu Hỏi Thường Gặp)

TFTP có an toàn không?

TFTP không an toàn vì nó không yêu cầu xác thực và dữ liệu được truyền đi không được mã hóa. Chỉ sử dụng TFTP trong mạng nội bộ tin cậy.

Làm thế nào để khắc phục lỗi "Timeout" khi sử dụng TFTP?

Lỗi "Timeout" thường xảy ra do tường lửa chặn kết nối TFTP. Hãy kiểm tra và cấu hình tường lửa của bạn để cho phép lưu lượng TFTP (cổng 69).

TFTP có thể truyền các thư mục không?

Không, TFTP chỉ có thể truyền các tệp riêng lẻ, không hỗ trợ truyền thư mục.

Kết Luận

Lệnh TFTP là một công cụ hữu ích để truyền tệp nhanh chóng và dễ dàng trong mạng nội bộ. Mặc dù nó không an toàn như FTP, nhưng nó có thể là một lựa chọn tuyệt vời cho các tình huống như khởi động hệ thống không ổ cứng, cập nhật firmware, và truyền các tệp cấu hình nhỏ. Hy vọng bài viết này đã cung cấp cho bạn những kiến thức cần thiết để bắt đầu sử dụng TFTP trong Linux.

Lưu ý: Đây là một bản nháp. Bạn có thể cần phải điều chỉnh nó để phù hợp với nhu cầu cụ thể của bạn. Hãy nhớ kiểm tra và cấu hình tường lửa của bạn để cho phép lưu lượng TFTP. Đảm bảo rằng bạn hiểu các rủi ro bảo mật liên quan đến việc sử dụng TFTP trước khi sử dụng nó trong môi trường sản xuất. Hy vọng điều này giúp bạn!
Last Updated : 21/08/2025