Kịch bản “ác mộng” lúc 2 giờ sáng
Tưởng tượng bạn đang nửa đêm ngon giấc sau một ngày làm việc mệt mỏi, bỗng điện thoại rung báo tin nhắn: Server sập. Bạn bật dậy, mở laptop để SSH nhưng nhận ra con máy ở văn phòng đã tắt ngóm. Có thể do ai đó lỡ tay shutdown, hoặc điện lưới vừa chập chờn khiến tính năng tự bật sau khi có điện bị lỗi.
Trong 5 năm quản lý hạ tầng cho một văn phòng 50 nhân sự, mình đã tốn không ít công sức chỉ để chạy tới site và bấm cái nút nguồn chết tiệt. Việc này cực kỳ lãng phí thời gian, nhất là khi server đặt cách xa cả chục cây số. Đó là lý do mình luôn cài đặt Wake-on-LAN (WoL) ngay từ giây phút unbox máy.
Cơ chế hoạt động: Phép thuật của Magic Packet
Bí mật nằm ở Magic Packet. Khi máy tính tắt nhưng vẫn cắm nguồn, card mạng (NIC) vẫn tiêu thụ khoảng 0.5W đến 1W điện. Lượng điện nhỏ này giúp nó duy trì trạng thái “ngủ đông” nhưng vẫn mở tai nghe ngóng tín hiệu từ mạng nội bộ.
Card mạng chỉ chờ một khung Ethernet đặc biệt. Nó chứa 6 byte 0xFF, kèm theo 16 lần lặp lại địa chỉ MAC của chính máy đó. Khi thấy đúng mã định danh, NIC sẽ kích hoạt nguồn cho bo mạch chủ ngay lập tức. Hãy nhớ: Cơ chế này chạy ở Layer 2 (Data Link). Lúc này máy chưa có IP, nên đừng cố dùng lệnh Ping vì chắc chắn sẽ thất bại.
4 bước triển khai WoL chuẩn chỉ trên Linux
Mình đã thử nghiệm quy trình này trên hàng trăm node Ubuntu, Debian và CentOS. Đây là cách làm nhanh gọn và ổn định nhất.
Bước 1: Mở khóa trong BIOS/UEFI
Nếu BIOS đóng cửa, mọi phần mềm đều vô dụng. Bạn hãy khởi động máy, nhấn F2 hoặc Del để vào setup. Tìm các mục liên quan đến Power Management. Hãy Enable các dòng như “Wake up on LAN” hoặc “Resume by PCI-E”. Riêng mục “ErP Ready”, bạn cần Disable để đảm bảo card mạng luôn có điện khi máy tắt.
Bước 2: Cấu hình card mạng với ethtool
Kế đến là phần việc của hệ điều hành. Công cụ vạn năng ở đây là ethtool. Cài đặt nó chỉ mất vài giây:
sudo apt update && sudo apt install ethtool -y # Ubuntu/Debian
sudo yum install ethtool -y # RHEL/CentOS
Gõ ip link để tìm tên interface (ví dụ enp3s0). Sau đó, kiểm tra xem card có hỗ trợ WoL không:
sudo ethtool enp3s0
Bạn cần chú ý dòng Supports Wake-on. Nếu thấy chữ g (viết tắt của Magic Packet), chúc mừng bạn đã thành công một nửa. Nếu dòng Wake-on đang là d (disabled), hãy kích hoạt bằng lệnh:
sudo ethtool -s enp3s0 wol g
Bước 3: Chống mất cấu hình sau khi reboot
Vấn đề thường gặp là ethtool sẽ tự reset sau mỗi lần khởi động. Để khắc phục, hãy tạo một systemd service. Cách này chuyên nghiệp hơn nhiều so với việc ghi lệnh vào file .bashrc.
sudo nano /etc/systemd/system/wol.service
Copy đoạn code dưới đây (thay enp3s0 bằng tên card mạng của bạn):
[Unit]
Description=Enable Wake-on-LAN
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s enp3s0 wol g
[Install]
WantedBy=multi-user.target
Kích hoạt service để nó tự chạy mỗi khi máy lên đèn:
sudo systemctl enable wol.service && sudo systemctl start wol.service
Bước 4: Đánh thức server từ xa
Cuối cùng, từ một máy khác cùng mạng, bạn dùng tool wakeonlan để gửi lệnh. Cú pháp cực kỳ đơn giản:
# Cài đặt trên máy điều khiển
sudo apt install wakeonlan -y
# Đánh thức máy có địa chỉ MAC tương ứng
wakeonlan 00:11:22:33:44:55
Câu hỏi hóc búa: Làm sao bật máy qua Internet?
Nhiều bạn thắc mắc làm sao gửi Magic Packet từ nhà tới công ty. Vì đây là gói tin Layer 2, nó không thể tự nhảy qua Router. Bạn có hai lựa chọn:
- Port Forwarding UDP 9: Cách này khá phổ biến nhưng tiềm ẩn rủi ro bảo mật và nhiều Router chặn gói tin broadcast từ ngoài vào.
- Dùng VPN (Khuyên dùng): Mình luôn để một con Raspberry Pi hoặc Router MikroTik chạy 24/7. Khi cần, mình VPN vào mạng nội bộ qua WireGuard, sau đó phát lệnh
wakeonlantừ chính con Pi đó. Cách này an toàn tuyệt đối.
Kinh nghiệm thực tế để tránh lỗi vặt
Đừng quên kiểm tra chất lượng dây cáp mạng. Những sợi cáp Cat5 cũ hoặc bị đứt ngầm sợi tín hiệu số 4, 5 có thể khiến card mạng không nhận đủ điện ở chế độ standby. Ngoài ra, hãy ưu tiên dùng IP tĩnh cho server. Dù WoL dùng địa chỉ MAC, nhưng IP tĩnh giúp bạn kiểm tra trạng thái máy qua Ping ngay khi nó vừa khởi động xong.
Cấu hình WoL chỉ mất 10 phút nhưng sẽ cứu nguy cho bạn trong những tình huống khẩn cấp. Bạn đã thiết lập thành công chưa hay đang kẹt ở bước BIOS? Để lại bình luận mình sẽ hỗ trợ nhé!

