TFTP là gì? Hướng dẫn cài đặt và sử dụng TFTP Server
Bài viết này sẽ giúp các bạn tìm hiểu về TFTP, cách thức hoạt động và sử dụng TFTP Server để gửi hoặc nhận tệp tin từ remote host
TFTP là gì? Cách thức hoạt động của TFTP
TFTP là viết tắt của Trivial File Transfer Protocol, là 1 giao thức truyền file đơn giản, cho phép client có thể upload hoặc download các tệp tin từ trên các remote host như switch, router, server... TFTP được thiết kế nhỏ và dễ thực hiện, và do đó nó thiếu hầu hết các tính năng nâng cao của các giao thức truyền tệp. TFTP chỉ đọc và ghi tệp từ các máy chủ từ xa. Nó không thể liệt kê, xóa, hoặc đổi tên các tập tin hoặc thư mục và cũng không có xác thực giữa client và server.
Do không được bảo mật trong quá trình truyền tệp nên TFTP thường được ứng dụng trong mạng cục bộ (LAN) để backup, import config IOS trên các thiết bị switch router firewall, hoặc cài đặt license cho các thiết bị này.
TFTP sử dụng giao thức UDP làm giao thức truyền tải của nó và sử dụng port 69 làm port mặc định. Các tệp tin sẽ được chia nhỏ thành các Block có chiều dài cố định 512 byte và được truyền lần lượt. Cả 2 thiết bị đều có thể coi là 1 TFTP server hay TFTP Client (gọi chung là Remote Host). Quá trình truyền tệp tin
- A gửi gói RRQ (yêu cầu đọc) hoặc WRQ (yêu cầu ghi) để tới S tại cổng số 69, chứa tên tệp, chế độ truyền và các tùy chọn truyền tệp.
- S trả lời với bản tin ACK nếu các tùy chọn được sử dụng, và một gói ACK (xác nhận) tới WRQ và trực tiếp với gói DATA đến RRQ. Gói được gửi từ một cổng tạm thời được phân bổ ngẫu nhiên và tất cả các gói tin tiếp theo cho máy chủ S sẽ được chuyển đến cổng này
- Máy chủ nguồn gửi các gói DATA được đánh số tới máy chủ đích, tất cả trừ gói dữ liệu cuối cùng chứa một khối dữ liệu đầy đủ (mặc định là 512 byte). Máy chủ đích trả lời với các gói ACK được đánh số cho tất cả các gói DATA
- Gói DATA cuối cùng phải chứa ít hơn một khối dữ liệu có kích thước đầy đủ để báo hiệu rằng nó là dữ liệu cuối cùng. Nếu kích thước của tệp đã chuyển là bội số chính xác của kích thước khối, nguồn sẽ gửi gói DATA cuối cùng chứa 0 byte dữ liệu.
- Máy chủ nhận phản hồi từng bản tin DATA với ACK được đánh số liên quan. máy chủ gửi trả lời ACK nhận được đầu tiên của một khối có DATA của khối tiếp theo.
- Nếu một ACK không được nhận, sau khi hết khoảng thời gian timeout, tệp tin sẽ được gửi lại
|
Quá Trình tải tệp tin lên host
A gửi bản tin yêu cầu ghi (WRQ) để gửi file tới S
S gửi lại bản tin ACK 0 xác nhận yêu cầu
A gửi các gói dữ liệu đã được chia nhỏ tới S
Quá trình tải tệp tin
A gửi bản tin yêu cầu đọc (RRQ) để gửi file tới S
S gửi lại các gói dữ liệu đã được chia nhỏ
A gửi bản tin ACK 1 xác nhận đã nhận được tệp tin
|
Hướng dẫn cài đặt và sử dụng TFTP Server
Hiện nay có rất nhiều ứng dụng có thể được sử dụng làm TFTP Server và TFTP Client như SolarwinTFTP, TFTPD32, TFTPD64...
Download SolarwinTFTP
Download TFTPD32
Trong bài viết này mình sẽ hướng dẫn các bạn sử dụng SolarwinTFTP làm TFTP Server. Các ứng dụng khác hoạt động tương tự, chỉ khác nhau về giao diện.
Bước 1: Download và cài đặt SolarwinTFTP. Sau khi cài đặt xong ứng dụng sẽ có tên TFTP Server
Bước 2: Tắt Firewall và các phần mềm AntiVirut trên máy tính hoặc mở port 69 trên firewall. Mặc định Firewall hoặc các phần mềm diệt virut sẽ chặn port 69.
Bước 3: Kết nối mạng giữa TFTP Client và TFTP Server (Trong ví dụ này là laptop và Router). Với các thiết bị khác các bạn thực hiện tương tự, chỉ cần có kết nối mạng thông suốt giữa TFTP Client và TFTP Server. Nếu hệ thống mạng của bạn đã thông suốt (có thể ping được đến switch hoặc router) thì có thể bỏ qua bước này.
Cắm dây mạng giữa laptop cài đặt TFTP Server và router. Đặt IP tĩnh cho laptop và cổng kết nối trên router. Với các switch access thì có thể đặt IP trên Interface VLAN. Các thiết bị đặc biệt như SAN Switch chỉ có các cổng SFP thì các bạn có thể sử dụng cổng mgmt để truyền file
Đặt IP cho cổng mạng trên Router
Router(config)#interface f0/0
Router(config-if)#no shutdown
Router(config-if)#ip add 192.168.1.2 255.255.255.0 |
Đặt IP cho interface vlan
Switch(config)#interface vlan 1
Switch(config-if)#no shutdown
Switch(config-if)#ip add 192.168.1.2 255.255.255.0 |
Ping đến địa chỉ TFTP Server
Router#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms |
Bước 4: Khởi động TFTP Server
Khi khởi động lên TFTP Server sẽ tự động bật và gán với tất cả card mạng hiện có trên laptop. Vào File => Configure để kiểm tra cấu hình của TFTP Server
Tab General
- Status: trạng thái của TFTP Server. Bạn có thể nhấn Stop rồi nhấn Start để khởi động lại TFTP Server
- Storage: thư mục gốc của TFTP. Đây là thư mục chứa các tập tin để gửi tới Remote Host hoặc chưa tếp tin nhận từ remote host. Bạn có thể thay đổi đường dẫn của thư mục gốc này tới thư mục chứa file của bạn. Khi TFTP thì đường dẫn tệp tin được tính bắt đầu từ thư mục gốc này.
Tab Server Binding: xác định card mạng được sử dụng để truyền file. Bạn có thể chọn tất cả card mạng hoặc chỉ định chính xác card mạng mà mình kết nối tới Router.
Bước 5: Sau khi thiết lập hoàn tất, bạn đã có thể sử dụng TFTP để truyền và nhận file. Các câu lệnh và cách thức thực hiện TFTP là khác nhau trên các thiết bị và các ứng dụng.
Sau đây là 1 số ví dụ về ứng dụng TFTP. Các ví dụ bên dưới đều sử dụng mô hình kết nối phía trên với Ip của Router là 192.168.1.2 và IP của laptop cài TFTP Server là 192.168.1.1. Các file đều được đặt trên thư mục gốc của TFTP
Backup Config Switch hoặc Router
Router#copy running-config tftp: //Backup file running-config ra tftp
Address or name of remote host []? 192.168.1.1 //Địa chỉ TFTP Server
Destination filename [Router-confg]? Router_Backup //Tên File được lưu trong TFTP
!!
7400 bytes copied in 0.548 secs (13504 bytes/sec)
Router# |
Khôi phục cấu hình Switch hoặc Router (File config đã được backup ra TFTP)
Router#copy tftp: running-config //Câu lệnh để copy khôi phục cấu hình
Address or name of remote host []? 192.168.1.1 //Địa chỉ TFTP Server
Source filename []? Router_Backup //Nhập tên file config đã được Backup ra TFTP
Destination filename [running-config]?
Accessing tftp://192.138.1.1/Router_Backup...
Loading Router_Backup from 192.168.1.1 (via GigabitEthernet0/0): !
[OK - 7400 bytes]
7400 bytes copied in 0.440 secs (16818 bytes/sec)
Router#
|
Cài đặt License cho Router
File License FDO22241GVZ_20181014212247331.lic đã được copy vào thư mục Root của TFTP
Router#license install tftp://192.168.1.1/ FDO22241GVZ_20181014212247331.lic
Installing licenses from "tftp://192.168.1.1/ FDO22241GVZ_20181014212247331.lic"
Installing...Feature:throughput... Successful:Supported
1/1 licenses were successfully installed
0/1 licenses were existing licenses
0/1 licenses were failed to install
Router#
*Oct 15 03:54:57.275: %ISR_THROUGHPUT-6-LEVEL: Throughput level has been set to 50000 kbps
*Oct 15 03:54:57.276: %LICENSE-6-INSTALL: Feature throughput 1.0 was installed in this device. UDI=ISR4321/K9:FDO22241GVZ; StoreIndex=1:Primary License Storage
Router#
|
Backup IOS của Router (Switch)
Trên switch hay Router thì flash: là nơi lưu trữ IOS hoặc file config của router (giống như ổ cứng máy tính)
Switch#dir flash: //Xác định tên File IOS và đường dẫn
Directory of flash:/
1 -rw- 4414921 c2960-lanbase-mz.122-25.FX.bin
64016384 bytes total (59601463 bytes free)
Switch#copy flash:c2960-lanbase-mz.122-25.FX.bin tftp://192.168.1.1/ c2960-lanbase-mz.122-25.FX.bin //backup file IOS ra TFTP
|
Cài đặt IOS mới cho Switch
Switch#copy tftp://192.168.1.1/c2960-lanbase-mz.122-25.FX.bin flash:c2960-lanbase-mz.122-25.FX.bin //Copy file IOS mới vào Flash:
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#boot system flash:c2960-lanbase-mz.122-25.FX.bin //chuyển boot sang file IOS mới vừa copy vào flash:
Switch(config)#end
Switch#reload //Khởi động lại switch để boot bằng IOS mới
|
Trên đấy là 1 số ứng dụng hay gặp của TFTP, các bạn có thể tìm hiểu tùy theo trường hợp của mình
Bình luận bài viết!