TFTP recovery qua Ethernet chỉ là phần chuẩn bị máy chủ. Bootloader của từng router mới quyết định IP, tên file, nút bấm, port và cách ghi firmware; không phải model nào cũng hỗ trợ TFTP. Trang OpenWrt mô tả hai hướng: router chạy TFTP client để tải file từ máy tính, hoặc router chạy TFTP server để máy tính upload file. Bài này tập trung vào việc dựng host TFTP và không bịa quy trình trigger theo model.1
Cảnh báo: Chỉ bật TFTP trên interface LAN, chỉ cho phép UDP 69 từ mạng riêng, tắt server ngay sau khi recovery xong và không để firmware ngoài ý muốn trong thư mục phục vụ.1
Quy trình chung
- Tải đúng OpenWrt hoặc stock firmware, đổi tên đúng filename mà Device Page yêu cầu và đặt vào thư mục TFTP.
- Đặt IP Ethernet của máy tính đúng như Device Page.
- Khởi động TFTP server.
- Nối máy tính và router bằng Ethernet.
- Bật router, nhấn nút hoặc vào bootloader recovery theo hướng dẫn riêng của model.
- Chờ file truyền và quá trình flash hoàn tất.
- Dừng TFTP server.
TFTP recovery thường giữ bootloader nguyên vẹn sau khi flash OpenWrt, nhưng tài liệu nhấn mạnh phải kiểm tra chính xác model trong Device Page. Trang generic này không mô tả bước ghi flash của từng hãng.1
Giới hạn firewall bắt buộc
- Cho TFTP UDP 69 chỉ khi nguồn và đích là IP LAN riêng.
- Không cho traffic từ/đến
127.0.0.1hoặclo. - Không cho nguồn là IP Internet/public.
- Dùng cáp trực tiếp hoặc switch riêng khi cần; tránh để server mở ra WAN.
macOS
dnsmasq
Nguồn đưa hai đường dẫn cài đặt khác nhau cho dnsmasq. Chọn đúng đường dẫn của máy, đúng interface enX và đúng thư mục TFTP:
| |
Hoặc:
| |
Native command-line tftpd
Chép file vào thư mục TFTP mặc định với đúng tên mà router yêu cầu, sau đó load daemon:
| |
Kiểm tra UDP 69:
| |
Khi xong, unload daemon:
| |
Ứng dụng TftpServer.app và PumpKIN
Nếu dùng TftpServer.app, tải từ nguồn đáng tin cậy của tác giả, đặt app và thư mục tftpfiles cùng một nơi, đặt IP macOS theo Device Page, mở app, kiểm tra đúng file rồi bấm Start TFTP. Trạng thái phải đổi thành Running; khi router đã lấy file, bấm Stop TFTP hoặc thoát app. Nếu app báo permission, dùng nút Fix của app, không tự nới quyền toàn hệ thống. PumpKIN cũng phải được firewall giới hạn LAN và tắt ngay sau khi dùng.1
Nếu cài công cụ qua MacPorts, nguồn nêu:
| |
Windows
Windows TFTP và firewall
Bật thành phần TFTP:
| |
Mở UDP 69 có giới hạn interface/profile LAN:
| |
Tắt media sensing trong lúc recovery nếu Device Page yêu cầu:
| |
Tftpd64, Tiny PXE và SolarWinds
Với Tftpd64/Tiny PXE, đặt thư mục root đúng, chỉ bật chế độ server cần thiết và đổi tên firmware theo model. Với SolarWinds, nguồn nhắc đặt service chạy thủ công khi cần:
| |
Trong Tftpd64, giới hạn security chỉ Send files nếu router là TFTP client; dùng switch giữa host và router khi reboot làm Windows mất link. Với SolarWinds, thư mục mặc định có thể là C:\TFTP-Root; vào File | Configure | Security và đặt “Send files” là hành động duy nhất. Đặt IP LAN tĩnh, trigger recovery theo Device Page và quan sát console để biết file đã được tải.1
Linux
dnsmasq
Tạo thư mục và chép image:
| |
Khởi động dnsmasq ở chế độ TFTP:
| |
Kiểm tra server đang lắng nghe:
| |
atftpd
Cài package tùy distro:
| |
Hoặc:
| |
Chuẩn bị file, quyền và daemon:
| |
Kiểm tra bằng một trong hai lệnh:
| |
| |
Tài liệu có ví dụ dùng TFTP client để đọc thử file:
| |
Chỉ coi file đã sẵn sàng khi kích thước, tên, quyền và hash đúng; file truyền một phần không được dùng để recovery.1
Troubleshooting theo thứ tự
Nếu router không tải file, kiểm tra lần lượt:
- TFTP server có thực sự running và lắng nghe UDP 69 không?
- Thư mục TFTP có đúng vị trí và permission không?
- Firmware có đúng tên, đúng thư mục và đúng quyền không?
- Cáp mạng và port router có đúng không?
- IP server có đúng với IP mà router đang tìm không?
- Host có đúng subnet mask và IP tĩnh mà bootloader yêu cầu không?
- Host firewall đã cho UDP 69 từ local subnet chưa?
- Sau khi đổi IP host, đã restart TFTP server chưa?
- Dùng Wireshark/tcpdump với filter TFTP để xem có BOOTP/TFTP request không.
- Thử cáp khác, crossover cable, switch khác hoặc tốc độ khác.
- Thử port khác trên router/switch.
- Đọc output của console hoặc LED activity nếu model có.
- Kiểm tra ARP cache; xóa entry cũ bằng
arp -dhoặc tạo mapping tĩnh bằngarp -skhi phù hợp. - Dùng host thứ ba ping router trong cùng subnet để tách lỗi L2/L3.
- Thử phần mềm server/client khác hoặc mode truyền khác.
- Canh thời điểm power cycle và bắt đầu transfer sớm/muộn hơn theo cửa sổ bootloader.
- Xác nhận filename có chứa
tftpnếu Device Page yêu cầu, rồi rename đúng OEM filename.1
Sau khi thành công, dừng server, xóa image khỏi thư mục phục vụ nếu không cần, đóng port UDP 69 và ghi lại filename/IP/recovery method trong tài liệu riêng của model. TFTP server không nên chạy liên tục trên máy HomeLab.1


Góp Ý / Bình Luận / Đánh giá