Sử dụng phần mềm Free TFTPd Software làm Syslog Server
Khi quản trị mạng, bạn thường cần một nơi tập trung để xem log của router, switch, firewall: cổng nào up/down, ai đăng nhập, cấu hình nào vừa bị thay đổi. Không phải lúc nào cũng cần dựng một hệ thống log đầy đủ. Với mạng nhỏ, phòng lab hoặc khi cần bắt log nhanh để xử lý sự cố, một Syslog Server đơn giản trên Windows là đủ.
Tftpd64 (bản 32 bit là Tftpd32) vốn quen thuộc với kỹ sư mạng nhờ vai trò TFTP server để nạp file cấu hình và IOS. Ít người để ý rằng cùng một phần mềm này còn tích hợp sẵn Syslog Server: cài một lần, dùng luôn cho cả hai việc, không tốn thêm chi phí.
Bạn có thể xem video hướng dẫn bên dưới, phần dưới đây tóm tắt các bước và bổ sung lệnh cấu hình thiết bị.
⚡ Điểm nhanh
- Phần mềm: Tftpd64 (tác giả Philippe Jounin), miễn phí, mã nguồn mở, giấy phép GPL-2.0. Bản khuyến nghị hiện tại trên GitHub là v4.72, 64 bit.
- Dịch vụ tích hợp: TFTP server/client, DHCP, DNS, SNTP và Syslog. Có thể chạy như một Windows service.
- Syslog: nhận bản tin qua UDP cổng 514, hiển thị trực tiếp ở tab Syslog server và có thể ghi ra file.
- Thiết bị gửi log: Cisco IOS/IOS-XE, FortiGate và hầu hết thiết bị mạng hỗ trợ syslog.
- Giới hạn chính: chỉ hiển thị và lưu bản tin, không có phân tích, cảnh báo hay tìm kiếm nâng cao.
- Phù hợp: lab, mạng nhỏ, bắt log tạm thời khi troubleshoot.
Syslog là gì và Tftpd64 đóng vai trò nào?
Syslog là giao thức rất đơn giản dành cho việc ghi nhận sự kiện: thiết bị mạng gửi các bản tin thông tin hoặc debug tới một máy chủ nhận log. Tftpd64 đóng vai máy chủ nhận đó, hiển thị các bản tin ngay khi chúng đến, đúng như tài liệu của tác giả mô tả.
Mô hình hoạt động:
- Router, switch hoặc firewall sinh ra bản tin log.
- Thiết bị gửi bản tin qua UDP/514 tới địa chỉ IP của máy Windows cài Tftpd64.
- Tftpd64 hiển thị bản tin ở tab Syslog server và ghi vào file nếu bạn đã khai báo đường dẫn.
Bước 1: Tải và cài đặt Tftpd64
- Tải bản cài đặt từ trang phát hành chính thức của dự án trên GitHub (PJO2/tftpd64), nên chọn bản 64 bit standard edition.
- Cài đặt như phần mềm Windows thông thường. Nếu muốn phần mềm chạy nền, tự khởi động cùng máy, chọn bản chạy dạng service khi cài.
- Đặt cho máy Windows một IP tĩnh. Đây là địa chỉ mà mọi thiết bị sẽ gửi log tới, đổi IP là thiết bị sẽ không còn gửi đúng nơi.
Bước 2: Bật Syslog Server trong Tftpd64
- Mở Tftpd64, vào Settings (tab GLOBAL) và đánh dấu dịch vụ Syslog server. Bạn có thể bỏ chọn các dịch vụ không dùng như DHCP, DNS, SNTP để tránh xung đột với dịch vụ khác trong mạng.
- Trong phần cài đặt Syslog, khai báo tên file để lưu log (ví dụ
D:\Syslog\syslog.txt). Để trống nghĩa là chỉ xem trên màn hình, không ghi file. Giá trị này được lưu trong registry ở khóaHKEY_LOCAL_MACHINE\SOFTWARE\TFTPD32, mụcSyslogFile. - Nhấn OK và khởi động lại ứng dụng nếu phần mềm yêu cầu.
- Chọn tab Syslog server trên giao diện chính. Đây là nơi bản tin hiển thị theo thời gian thực.
Tên các nút và vị trí tùy chọn có thể khác đôi chút giữa các phiên bản. Cách nhanh nhất để đối chiếu là xem video hướng dẫn ở đầu bài.
Bước 3: Mở cổng UDP 514 trên Windows Firewall
Windows Firewall mặc định thường chặn kết nối vào, nên thiết bị gửi log mà Tftpd64 vẫn trống là tình huống rất hay gặp. Chạy Command Prompt bằng quyền Administrator:
netsh advfirewall firewall add rule name="Syslog UDP 514" dir=in action=allow protocol=UDP localport=514
Nếu mạng có firewall ở giữa, bảo đảm chính sách cũng cho phép UDP/514 từ thiết bị tới máy Syslog.
Bước 4: Cấu hình thiết bị Cisco gửi log
Ví dụ với máy Syslog có IP 192.168.1.10, chạy trên router hoặc switch Cisco IOS/IOS-XE:
configure terminal service timestamps log datetime msec localtime show-timezone logging on logging host 192.168.1.10 logging trap informational logging source-interface Vlan 10 end write memory
Giải thích nhanh:
| Lệnh | Tác dụng |
|---|---|
service timestamps log datetime msec ... |
Gắn thời gian ngày giờ chính xác đến mili giây cho mỗi bản tin, rất cần khi đối chiếu sự cố |
logging host |
Khai báo IP của Syslog Server |
logging trap informational |
Gửi các bản tin từ mức informational (6) trở lên mức nghiêm trọng. Dùng debugging nếu cần tất cả, nhưng lượng log sẽ rất lớn |
logging source-interface |
Cố định địa chỉ nguồn của bản tin, giúp lọc log theo thiết bị dễ hơn |
Kiểm tra trạng thái:
show logging
Kết quả cho thấy thiết bị đã bật logging tới host nào, mức severity bao nhiêu và số bản tin đã gửi.
Bước 5: Cấu hình FortiGate gửi log
Trên FortiGate, vào CLI và khai báo:
config log syslogd setting
set status enable
set server "192.168.1.10"
set port 514
set mode udp
end
Có thể kiểm soát loại log gửi đi trong config log syslogd filter. Cú pháp chi tiết khác nhau theo phiên bản FortiOS, nên đối chiếu tài liệu của Fortinet cho phiên bản bạn đang chạy.
Bước 6: Kiểm tra log về đến Tftpd64
- Trên Cisco, vào chế độ cấu hình rồi thoát ra (
configure terminalrồiend), thiết bị sẽ sinh bản tin kiểu%SYS-5-CONFIG_I: Configured from console. - Hoặc shut/no shut một cổng không quan trọng để sinh bản tin up/down.
- Quan sát tab Syslog server của Tftpd64: bản tin phải xuất hiện gần như tức thì. Nếu đã khai báo file, mở file ra để xác nhận bản tin được ghi.
Nếu không thấy gì, xem phần xử lý sự cố bên dưới.
Xử lý sự cố thường gặp
| Triệu chứng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Tab Syslog trống | Chưa bật dịch vụ Syslog server hoặc chưa khởi động lại ứng dụng | Kiểm tra lại Settings, bật Syslog và mở lại Tftpd64 |
| Thiết bị gửi nhưng máy nhận không thấy | Windows Firewall hoặc firewall trung gian chặn UDP/514 | Thêm rule như Bước 3, kiểm tra chính sách trên firewall |
| Log về nhưng sai giờ | Thiết bị chưa đồng bộ thời gian | Cấu hình NTP trên thiết bị, bật service timestamps |
| Mất log sau khi đổi IP máy Syslog | IP máy nhận không cố định | Đặt IP tĩnh hoặc DHCP reservation, cập nhật lại logging host |
| Cổng 514 báo bị chiếm | Một phần mềm Syslog khác đang chạy | Tắt phần mềm đó hoặc chỉ dùng một Syslog server trên máy |
| Không ghi ra file | Đường dẫn không tồn tại hoặc không có quyền ghi | Tạo thư mục trước, chạy Tftpd64 với quyền phù hợp |
Giới hạn cần biết trước khi triển khai
- Chỉ xem và lưu, không phân tích. Tftpd64 hiển thị bản tin và cho phép quản lý file log, nhưng không có tìm kiếm nâng cao, thống kê hay cảnh báo.
- UDP không bảo đảm. Syslog qua UDP không xác nhận đã nhận, gói bị rớt trên đường truyền thì bản tin mất, và không có mã hóa hay xác thực nguồn gửi.
- Phụ thuộc một máy Windows. Máy tắt hoặc khởi động lại là mất log trong thời gian đó. Nên cho chạy dạng service trên máy luôn bật.
- Dung lượng file log. File ghi liên tục sẽ lớn dần, cần có kế hoạch dọn dẹp hoặc sao lưu định kỳ.
Với hệ thống lớn, cần lưu trữ lâu dài, tra cứu theo điều kiện và cảnh báo tự động, nên chuyển sang các giải pháp quản lý log chuyên dụng. Tftpd64 phù hợp nhất cho lab, mạng nhỏ hoặc những lúc cần bắt log nhanh.
Một số mẹo thực tế
- Đặt
logging trapở mứcinformationalcho vận hành hằng ngày, chỉ nâng lêndebuggingtrong thời gian ngắn khi troubleshoot. - Cấu hình NTP cho mọi thiết bị trước khi gửi log, vì log lệch giờ gần như vô giá trị khi điều tra sự cố.
- Đặt tên file log theo ngày hoặc sao lưu định kỳ để dễ tra cứu về sau.
- Hạn chế để máy Syslog hiển thị ra mạng ngoài: chỉ cho phép UDP/514 từ dải IP quản trị.
Câu hỏi thường gặp (FAQ)
Tftpd64 có thật sự làm được Syslog Server không? Có. Tftpd64 là bộ gồm các máy chủ TFTP, DNS, SNTP, Syslog và DHCP trong cùng một phần mềm, trong đó Syslog server nhận bản tin từ thiết bị mạng và hiển thị trên giao diện.
Tftpd64 và Tftpd32 khác nhau thế nào? Hai bản có chức năng tương đương, khác nhau ở kiến trúc 64 bit hoặc 32 bit. Nên dùng bản 64 bit trên Windows hiện đại.
Syslog dùng cổng nào? Mặc định UDP cổng 514. Cần cho phép cổng này trên Windows Firewall và các firewall trung gian.
Làm sao lưu log ra file? Khai báo tên file trong phần cài đặt Syslog của Tftpd64. Giá trị này tương ứng mục SyslogFile trong registry của phần mềm.
Có dùng được cho FortiGate, Meraki, MikroTik không? Được với mọi thiết bị có thể gửi syslog qua UDP tới một địa chỉ IP. Chỉ cần khai báo IP máy Tftpd64 làm syslog server trên thiết bị.
Có nên dùng làm Syslog Server chính thức cho doanh nghiệp không? Chỉ nên dùng cho quy mô nhỏ hoặc tạm thời. Doanh nghiệp cần lưu trữ lâu dài, tìm kiếm, cảnh báo và đáp ứng yêu cầu tuân thủ nên dùng giải pháp quản lý log chuyên dụng.