Lệnh tftp trong linux là một công cụ đơn giản để truyền file qua mạng, thường dùng để boot hệ thống hoặc cập nhật firmware. Nó hoạt động nhanh chóng nhưng không có tính năng bảo mật, nên chỉ nên sử dụng trong mạng nội bộ an toàn. Để sử dụng, bạn cần cài đặt và cấu hình máy chủ TFTP, sau đó dùng lệnh tftp để tải hoặc gửi file.
Lệnh tftp trong linux là gì?
Lệnh tftp in linux là một công cụ dòng lệnh đơn giản, cho phép bạn truyền tải tập tin đến và đi từ một máy chủ TFTP (Trivial File Transfer Protocol). Nó thường được sử dụng để cập nhật firmware cho các thiết bị mạng hoặc để khởi động hệ thống từ xa. Command tftp in linux rất hữu ích trong môi trường mạng nhỏ, nơi mà tính bảo mật không phải là ưu tiên hàng đầu. Tuy nhiên, bạn cần cẩn thận khi sử dụng nó vì TFTP không hỗ trợ mã hóa hoặc xác thực người dùng. Hãy nhớ rằng, việc cấu hình máy chủ TFTP đúng cách là rất quan trọng để đảm bảo an toàn cho hệ thống của bạn.
Tìm hiểu về giao thức TFTP
Giao thức TFTP (Trivial File Transfer Protocol) là giao thức đơn giản để truyền file nhẹ nhàng.
Khác với giao thức FTP phức tạp hơn, TFTP không có tính năng xác thực hoặc liệt kê thư mục.
TFTP hoạt động trên UDP port 69, giúp nó nhanh hơn nhưng kém tin cậy hơn TCP.
Hãy bắt đầu bằng cách kiểm tra xem TFTP client đã được cài đặt đúng cách trên hệ thống chưa:
which tftp
Bạn sẽ thấy kết quả tương tự như sau:
/usr/bin/tftp
Tiếp theo, hãy kiểm tra phiên bản của TFTP client:
tftp --version
Kết quả hiển thị sẽ như sau:
tftp-hpa version 5.2
TFTP client hoạt động ở chế độ tương tác. Để vào chế độ này, chỉ cần gõ:
tftp
Bạn sẽ thấy dấu nhắc tftp>, nơi bạn có thể nhập các lệnh khác nhau.
Để xem các lệnh có sẵn, hãy nhập:
help
Bạn sẽ thấy danh sách các lệnh như sau:
Commands may be abbreviated. Commands are:
connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet retransmission timeout
timeout set total retransmission timeout
? print help information
Hãy xem xét một số lệnh TFTP quan trọng nhất:
connect- Thiết lập kết nối đến một TFTP server từ xa.get- Tải file từ server về máy cục bộ của bạn.put- Tải file từ máy cục bộ lên server.quit- Thoát khỏi TFTP client.binary- Đặt chế độ truyền thành binary (khuyến nghị cho hầu hết các file).ascii- Đặt chế độ truyền thành ASCII (cho các file văn bản).
Bạn có thể thoát khỏi TFTP client bằng cách gõ:
quit
Trong bước tiếp theo, chúng ta sẽ học cách chạy TFTP server và cấu hình nó đúng cách.
Cấu hình và Quản lý TFTP Server
Trong bước này, chúng ta sẽ tìm hiểu cách TFTP server được cấu hình và chạy trên hệ thống.
Script cài đặt đã cài đặt và cấu hình TFTP server cho chúng ta, nhưng hiểu rõ cách nó hoạt động rất quan trọng.
Đầu tiên, hãy kiểm tra xem TFTP server có đang chạy hay không bằng lệnh sau:
sudo service tftpd-hpa status
Bạn sẽ thấy thông tin cho biết service đang active và running.
Cấu hình của TFTP server được lưu trữ trong file /etc/default/tftpd-hpa. Hãy xem nội dung của file này:
cat /etc/default/tftpd-hpa
Bạn sẽ thấy nội dung tương tự như sau:
TFTP_USERNAME="labex"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Dưới đây là ý nghĩa của từng thiết lập:
TFTP_USERNAME: Tài khoản người dùng mà TFTP server chạy dưới quyền.TFTP_DIRECTORY: Thư mục gốc nơi TFTP server phục vụ và lưu trữ file.TFTP_ADDRESS: Địa chỉ IP và port mà server lắng nghe (0.0.0.0 nghĩa là tất cả các interface).TFTP_OPTIONS: Các tùy chọn bổ sung cho server ("--secure" giới hạn các hoạt động trong thư mục TFTP).
Bây giờ, hãy khám phá thư mục TFTP:
ls -la /tftpboot
Ban đầu, thư mục này có thể trống hoặc chỉ chứa các file hệ thống. Hãy tạo một file thử nghiệm trong thư mục này:
echo "This is a file in the TFTP server directory." > /tmp/server-file.txt
sudo cp /tmp/server-file.txt /tftpboot/
Hãy kiểm tra xem file đã được tạo thành công hay chưa:
ls -la /tftpboot
Bạn sẽ thấy server-file.txt trong thư mục.
Để đảm bảo TFTP server có thể đọc và ghi file trong thư mục này, ta cần kiểm tra quyền:
ls -ld /tftpboot
Quyền nên được đặt để cho phép tất cả người dùng đọc và ghi (777), như chúng ta đã cấu hình trong script cài đặt.
Nếu bạn cần restart TFTP server, bạn có thể sử dụng lệnh sau:
sudo service tftpd-hpa restart
Bây giờ chúng ta đã có một TFTP server đang chạy với một file thử nghiệm sẵn sàng để tải xuống. Bước tiếp theo, chúng ta sẽ sử dụng TFTP client để truyền file đến và đi từ server.
Chuyển tập tin bằng TFTP Client
Chúng ta đã có TFTP server đang chạy với tập tin thử nghiệm, hãy học cách chuyển tập tin bằng TFTP client.
Chúng ta sẽ thực hành tải tập tin từ server và tải tập tin lên server một cách chi tiết.
Lưu ý quan trọng: Khi dùng TFTP để tải lên, client tìm tập tin trong thư mục làm việc hiện tại.
Hãy chắc chắn bạn đang ở đúng thư mục (~/project) trước khi thử tải tập tin lên server.
Tải tập tin từ TFTP Server
Đầu tiên, hãy thử tải tập tin server-file.txt mà chúng ta đã tạo ở bước trước đó về máy.
Chúng ta sẽ sử dụng TFTP client ở chế độ tương tác để thực hiện việc này một cách dễ dàng:
cd ~/project
tftp localhost
Bạn sẽ thấy dấu nhắc tftp> quen thuộc, cho biết TFTP client đã sẵn sàng hoạt động.
Hãy đặt chế độ truyền thành binary, phù hợp với mọi loại tập tin mà bạn muốn truyền tải:
binary
Bây giờ, hãy tải tập tin từ server về máy của bạn một cách nhanh chóng:
get server-file.txt downloaded-file.txt
Lệnh này tải server-file.txt từ server và lưu thành downloaded-file.txt trong thư mục hiện tại.
Sau khi quá trình truyền tập tin hoàn tất, hãy thoát khỏi TFTP client để tiếp tục:
quit
Hãy kiểm tra xem tập tin đã được tải xuống chính xác hay chưa bằng lệnh sau:
cat downloaded-file.txt
Bạn sẽ thấy nội dung sau:
This is a file in the TFTP server directory.
Tải tập tin lên TFTP Server
Tiếp theo, chúng ta sẽ thử tải một tập tin lên TFTP server để kiểm tra chức năng này.
Chúng ta đã có tập tin sample.txt trong thư mục project, được tạo bởi script thiết lập.
Đầu tiên, hãy chắc chắn rằng chúng ta đang ở đúng thư mục và kiểm tra nội dung của tập tin này:
cd ~/project
ls -la sample.txt
cat sample.txt
Bạn sẽ thấy nội dung sau:
This is a sample file for TFTP transfer testing.
Bây giờ, hãy tải tập tin này lên TFTP server một cách dễ dàng:
tftp localhost
Tại dấu nhắc tftp>, đặt chế độ truyền thành binary và tải tập tin lên server:
binary
put sample.txt uploaded-sample.txt
Nếu bạn gặp lỗi "File not found", hãy thoát TFTP và kiểm tra xem tập tin có tồn tại không:
quit
ls -la ~/project/sample.txt
cd ~/project
tftp localhost
binary
put sample.txt uploaded-sample.txt
Lệnh này tải tập tin sample.txt từ máy của bạn lên server và lưu thành uploaded-sample.txt.
Sau khi quá trình truyền tập tin hoàn tất, hãy thoát khỏi TFTP client để tiếp tục:
quit
Bây giờ, hãy kiểm tra xem tập tin đã được tải lên server thành công hay chưa:
cat /tftpboot/uploaded-sample.txt
Bạn sẽ thấy nội dung sau:
This is a sample file for TFTP transfer testing.
Sử dụng TFTP với một dòng lệnh duy nhất
Bạn cũng có thể sử dụng TFTP mà không cần vào chế độ tương tác bằng cách cung cấp thông tin cần thiết trong một dòng lệnh.
Ví dụ, bạn có thể thực hiện việc này một cách nhanh chóng như sau:
cd ~/project
echo "One-line TFTP test" > oneline-test.txt
tftp -c put oneline-test.txt localhost
Hãy kiểm tra xem tập tin đã được tải lên server hay chưa bằng lệnh sau:
cat /tftpboot/oneline-test.txt
Bạn sẽ thấy nội dung sau:
One-line TFTP test
Điều này cho thấy bạn có thể sử dụng TFTP tương tác hoặc với dòng lệnh đơn, tùy theo nhu cầu.
Trong bước tiếp theo, chúng ta sẽ khám phá các tùy chọn TFTP nâng cao và kỹ thuật khắc phục sự cố.
Kết luận cho linux tftp command
Vậy là chúng ta đã cùng nhau khám phá lệnh TFTP trong Linux rồi! Hy vọng qua bài viết này, bạn đã nắm vững cách sử dụng lệnh TFTP để truyền tải file một cách nhanh chóng và đơn giản. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau để hiểu rõ hơn về cách thức hoạt động của nó. Linux tftp command thực sự là một công cụ hữu ích cho việc quản lý và chia sẻ file trong mạng nội bộ. Hãy nhớ rằng, việc thực hành thường xuyên sẽ giúp bạn thành thạo hơn. Chúc bạn thành công trên con đường khám phá Linux và các công cụ mạnh mẽ của nó! Nếu có bất kỳ câu hỏi nào, đừng ngại tìm kiếm thêm thông tin hoặc tham khảo các tài liệu hướng dẫn khác nhé. Chúc bạn có những trải nghiệm tuyệt vời với Linux!