Raspberry Pi 5 có một cổng Ethernet Gigabit, một cổng PCIe riêng và bộ xử lý Arm Cortex-A76 bốn nhân – cấu hình đủ mạnh để biến nó thành một router thực thụ. Bài viết này hướng dẫn cài OpenWrt trên Raspberry Pi 5 từ bản SNAPSHOT, cấu hình cổng WAN, bật Wi-Fi và xử lý các lỗi thường gặp.

OpenWrt là hệ điều hành mã nguồn mở chuyên cho router, có giao diện quản trị LuCI, hỗ trợ DHCP, NAT, tường lửa, VPN và hàng nghìn gói mở rộng. Với OpenWrt trên Raspberry Pi 5, bạn có một router không khóa nhà mạng, không quảng cáo, cập nhật được từng gói, và có thể chạy thêm dịch vụ như AdGuard Home, WireGuard hay SQM để giảm bufferbloat.

Cần nói rõ ngay: Raspberry Pi 5 chưa nằm trong danh sách thiết bị được OpenWrt hỗ trợ chính thức, nên chỉ có bản SNAPSHOT (bản phát triển) chứ chưa có bản stable. Bản SNAPSHOT không có giao diện cài đặt sẵn gói, không có trình quản lý gói opkg mặc định như bản stable, nhưng thực tế chạy ổn định và đã được dùng làm router hằng ngày.

Vì sao nên dùng Raspberry Pi 5 làm router

Khi chạy OpenWrt trên Raspberry Pi 5, phần cứng của board tỏ ra phù hợp với vai trò router hơn nhiều người tưởng. Cổng Ethernet onboard là Gigabit, cổng PCIe 2.0 x1 cho phép gắn thêm card mạng hoặc SSD, và mức tiêu thụ điện chỉ vài watt khi rảnh. Trong bài kiểm tra của The Pi Hut, khi định tuyến một đường Internet 1 Gbit, CPU gần như không tải và RAM dùng tối đa khoảng 120 MB – nghĩa là bản Pi 5 2GB là quá đủ cho nhu cầu gia đình.

Điều đáng giá nhất là khả năng mở rộng. Router nhà mạng thường chỉ có một cổng WAN cố định và firmware đóng. Với OpenWrt trên Raspberry Pi 5, bạn toàn quyền quyết định cổng nào là LAN, cổng nào là WAN, đặt DHCP tĩnh theo MAC, chia VLAN, chạy DNS mã hóa, hay dựng VPN site-to-site. Cấu hình nằm trong các file văn bản nên sao lưu và khôi phục rất nhanh.

Cần chuẩn bị gì

Để cài OpenWrt trên Raspberry Pi 5, danh sách dưới đây bám theo hướng dẫn gốc của The Pi Hut cho board Pineboards HatNET! 1G/2.5G. Nếu bạn dùng HAT PCIe khác để có thêm cổng mạng, tên thiết bị và gói driver sẽ khác, nhưng các bước còn lại giữ nguyên.

  • Raspberry Pi 5. Bản 2GB là đủ cho router gia đình, 4GB trở lên nếu bạn chạy thêm AdGuard Home hoặc VPN.
  • Một HAT PCIe có cổng Ethernet để làm WAN, ví dụ HatNET! 1G hoặc 2.5G. Tại akd.vn, mạch PCIe sang 2 LAN 2.5G là lựa chọn tương đương về mục đích.
  • Thẻ nhớ microSD hoặc SSD NVMe M.2 2230/2242. Router chạy 24/7 nên SSD bền hơn thẻ nhớ; nếu dùng thẻ, chọn loại chất lượng như thẻ 64GB Kioxia Exceria.
  • Nguồn 5V/5A (27W). Pi 5 cộng HAT PCIe cộng SSD có thể vượt 3A khi khởi động, nên dùng nguồn PD 27W thay vì sạc điện thoại.
  • Một máy tính để tải và ghi ảnh OpenWrt, kèm đầu đọc thẻ hoặc hộp gắn SSD.
  • Cáp Ethernet từ modem và một đường Internet RJ45. Nếu nhà mạng dùng PPPoE, modem phải được đặt ở chế độ bridge trước khi làm theo bài này.

Bước 1: Lắp phần cứng và xác định vai trò từng cổng

Không giống các bản cài trên nền hệ điều hành có sẵn, OpenWrt trên Raspberry Pi 5 được ghi thẳng ra thẻ nhớ hoặc SSD, nên phần chuẩn bị chỉ là lắp ráp. Với OpenWrt trên Raspberry Pi 5, bạn gắn HAT PCIe vào board, cắm SSD vào khe M.2 nếu dùng SSD, siết ốc và kiểm tra HAT không chạm vào chân GPIO.

Nguyên tắc cổng rất quan trọng và cũng là chỗ nhiều người làm sai: cổng Ethernet onboard của Pi 5 là LAN, còn cổng trên HAT PCIe là WAN. Cáp từ modem hoặc từ router nhà mạng (đã bridge) cắm vào cổng trên HAT. Máy tính dùng để cấu hình cắm vào cổng onboard. Nếu cắm ngược, router vẫn chạy nhưng bạn sẽ không vào được giao diện quản trị.

Nên lắp thêm tản nhiệt hoặc quạt. Router hoạt động liên tục, và SSD NVMe nằm sát bo mạch sẽ làm nhiệt độ nền cao hơn đáng kể so với khi chạy Pi 5 không tải.

Bước 2: Tải firmware OpenWrt SNAPSHOT cho Raspberry Pi 5

Với OpenWrt trên Raspberry Pi 5, bạn mở trang tải firmware, gõ “Raspberry Pi 5” và chọn nhánh SNAPSHOT. Trang sẽ hiển thị thông tin bản dựng gồm model, platform bcm27xx/bcm2712 và ngày phát hành. Bản SNAPSHOT được dựng lại liên tục nên ngày có thể khác với ảnh minh họa bên dưới.

Trang tải firmware OpenWrt cho Raspberry Pi 5 với bản SNAPSHOT và tuỳ chọn Customize installed packages
Trang chọn firmware OpenWrt: chọn Raspberry Pi 5, bản SNAPSHOT, rồi mở mục Customize installed packages để thêm driver cho cổng mạng PCIe.

Điểm khác biệt so với router thông thường là bạn phải nhúng sẵn driver mạng vào ảnh, vì bản SNAPSHOT không cài thêm gói sau khi chạy. Mở mục Customize installed packages and/or first boot script và thêm ba gói sau vào danh sách:

r8169-firmware, kmod-r8169, pciutils

Hai gói đầu là firmware và driver cho chip mạng Realtek trên HAT (dòng RTL8169/8125), gói thứ ba là bộ công cụ PCI để bạn kiểm tra HAT có được nhận hay không. Nếu HAT của bạn dùng chip khác, hãy thay bằng gói driver tương ứng của chip đó; đây là lý do nên xem thông số HAT trước khi build.

Nhấn Request Build và đợi khoảng vài phút; bản OpenWrt trên Raspberry Pi 5 sẽ được dựng riêng cho cấu hình bạn vừa chọn. Khi trạng thái chuyển sang sẵn sàng, tải Factory image với một trong hai định dạng: ext4 cho hệ thống file quen thuộc, dễ gỡ lỗi khi cắm SSD vào máy tính; hoặc squashfs tiết kiệm dung lượng và cho phép khôi phục cấu hình gốc nhanh hơn. Với router, squashfs thường là lựa chọn an toàn hơn.

Bước 3: Ghi ảnh ra thẻ nhớ hoặc SSD

Ảnh OpenWrt trên Raspberry Pi 5 chỉ khoảng 185 MB, nên balenaEtcher hay Raspberry Pi Imager đều ghi rất nhanh., miễn là công cụ ghi được file .img thô. Mở balenaEtcher, chọn Flash from file và trỏ tới ảnh OpenWrt vừa tải, sau đó chọn đích là thẻ nhớ hoặc SSD. Kích thước ảnh vào khoảng 185 MB nên quá trình ghi chỉ mất chưa tới một phút.

balenaEtcher đã chọn file ảnh OpenWrt, bước tiếp theo là chọn thẻ nhớ hoặc SSD đích
balenaEtcher: chọn ảnh OpenWrt đã tải, sau đó chọn thẻ nhớ hoặc SSD cần ghi.

Sau khi ghi xong, rút thiết bị an toàn rồi lắp vào Pi 5 hoặc khe M.2 trên HAT. Bước này giống nhau dù bạn chạy OpenWrt trên Raspberry Pi 5 bằng thẻ nhớ hay bằng SSD NVMe.

Trước lần khởi động đầu tiên của OpenWrt trên Raspberry Pi 5, nhớ tháo mọi thẻ nhớ khác: nếu còn một thẻ có hệ điều hành khác, Pi 5 sẽ ưu tiên khởi động từ đó thay vì từ ảnh OpenWrt bạn vừa ghi.

Bước 4: Cấu hình WAN ở lần khởi động đầu

Cấp nguồn để OpenWrt trên Raspberry Pi 5 khởi động, đợi khoảng 30 giây rồi mở trình duyệt trên máy tính và truy cập http://192.168.1.1. Giao diện LuCI hiện ra với hai thông tin mặc định: đăng nhập bằng root, mật khẩu để trống, và SSH mở ở cổng 22. Như vậy là OpenWrt trên Raspberry Pi 5 đã chạy; phần còn lại chỉ là cấu hình.

Lưu ý về địa chỉ: OpenWrt tự đặt LAN là 192.168.1.1, trùng với rất nhiều modem nhà mạng. Nếu bạn định cắm router mới vào mạng hiện có thay vì thay thế modem, hãy đổi LAN sang dải khác (ví dụ 192.168.10.1) trước khi nối hai mạng, nếu không sẽ xảy ra xung đột địa chỉ.

Để OpenWrt trên Raspberry Pi 5 có Internet, cần tạo interface WAN. Vào Network → Interfaces → Add new interface, đặt tên wan viết thường, chọn giao thức DHCP client và chọn thiết bị là eth1 – cổng mạng trên HAT PCIe. Nhấn Create interface, sau đó Save và Save & Apply.

Giao diện LuCI của OpenWrt hiển thị hai interface lan và wan trên Raspberry Pi 5
Hai interface sau khi cấu hình: lan (br-lan) và wan (eth1). Trong ảnh, WAN đang chờ modem cấp IP.

Khởi động lại bằng System → Reboot, hoặc gõ reboot trong phiên SSH. Khi lên lại, vào Network → Interfaces và kiểm tra WAN đã có địa chỉ IPv4 chưa. Nếu có, toàn bộ thiết bị trong LAN đã ra Internet qua Pi 5.

Tên thiết bị eth1 phụ thuộc vào HAT và thứ tự nhận driver. Nếu danh sách thiết bị không có eth1, chạy ip link qua SSH để xem tên thực tế, hoặc dùng lspci (đã cài qua gói pciutils) để kiểm tra HAT có hiện trên bus PCIe hay không.

Bước 5: Bật Wi-Fi access point

Wi-Fi của OpenWrt trên Raspberry Pi 5 dùng chip Broadcom CYW43455, hỗ trợ 802.11ac hai băng tần. Chất lượng không bằng router chuyên dụng, nhưng đủ cho một phòng hoặc một căn hộ nhỏ, và tiện khi bạn muốn một SSID riêng cho thiết bị IoT.

Trên OpenWrt trên Raspberry Pi 5, vào Network → Wireless, tìm mục Cypress CYW43455 802.11ac/b/g/n và nhấn Add. Đặt SSID, chọn chế độ bảo mật WPA2-PSK hoặc WPA3-SAE, nhập mật khẩu, chọn kênh và băng tần rồi lưu lại. Nên đặt kênh cố định thay vì để tự động, vì chip Wi-Fi của Pi 5 đôi khi chọn kênh chồng lấn với hàng xóm và làm giảm tốc độ.

Một lưu ý thực tế: Wi-Fi của OpenWrt trên Raspberry Pi 5 dùng chung ăng-ten với Bluetooth và khá nhạy với nhiệt độ. Nếu router đặt trong hộp kín, hãy khoan lỗ thông gió hoặc dùng vỏ nhôm có tản nhiệt, nếu không tốc độ Wi-Fi sẽ giảm sau vài giờ chạy liên tục.

Bước 6: Bảo mật sau khi cài

Mặc định, OpenWrt trên Raspberry Pi 5 không đặt mật khẩu cho tài khoản root. Trong mạng gia đình, rủi ro thấp nhưng không nên giữ nguyên. Vào System → Administration, đặt mật khẩu mạnh cho root; mật khẩu này cũng là mật khẩu SSH.

Sau khi cài OpenWrt trên Raspberry Pi 5, ba việc nên làm thêm: tắt SSH từ phía WAN (mặc định đã chặn), đổi cổng quản trị nếu router có IP công khai, và bật Software Flow Offloading trong Network → Firewall nếu bạn cần định tuyến trên 1 Gbit. Với router chỉ dùng trong LAN, đặt mật khẩu root là đủ cho phần lớn trường hợp.

Hiệu năng thực tế và lựa chọn phần cứng

Trong thử nghiệm với đường 1 Gbit, OpenWrt trên Raspberry Pi 5 định tuyến NAT ở tốc độ tối đa của đường truyền, CPU chỉ vài phần trăm và RAM dùng khoảng 120 MB. Con số này giải thích vì sao bản Pi 5 2GB là lựa chọn hợp lý cho router: tiền mua RAM nên dành cho SSD hoặc HAT mạng.

Nếu chạy OpenWrt trên Raspberry Pi 5 kèm AdGuard Home, VPN WireGuard cho 5-10 thiết bị, hoặc SQM để giảm độ trễ khi tải nặng, nên chọn bản 4GB. SSD NVMe cũng đáng đầu tư hơn thẻ nhớ nếu router chạy 24/7, vì thẻ nhớ ghi log liên tục sẽ hỏng sau một đến hai năm.

Xử lý sự cố thường gặp

Phần lớn lỗi khi cài OpenWrt trên Raspberry Pi 5 đến từ hai chỗ: cắm sai cổng mạng và thiếu gói driver cho HAT PCIe. Bảng dưới đây tổng hợp các trường hợp hay gặp.

Hiện tượngNguyên nhân thường gặpCách xử lý
Không mở được 192.168.1.1Cắm cáp vào cổng WAN thay vì cổng LAN onboard, hoặc máy tính không nhận DHCPCắm lại cáp vào cổng Ethernet của Pi 5, đặt IP tĩnh 192.168.1.2/24 cho máy tính rồi thử lại
WAN không có địa chỉ IPv4Sai tên thiết bị, thiếu gói driver, hoặc modem chưa bridgeKiểm tra tên cổng bằng ip link, xem lại gói driver khi build, kiểm tra chế độ bridge của modem
Không thấy cổng mạng của HATThiếu kmod-r8169 hoặc r8169-firmware, HAT chưa tiếp xúcChạy lspci xem HAT có hiện không, tháo ra cắm lại, build lại ảnh có driver
Không có mục WirelessẢnh thiếu firmware Wi-Fi hoặc gói wpadCài thêm gói Wi-Fi tương ứng hoặc build lại ảnh có sẵn các gói đó
Mất kết nối sau khi đổi IP LANMáy tính vẫn giữ địa chỉ cũTruy cập địa chỉ mới, hoặc đổi máy tính sang DHCP và kết nối lại

Tóm lại, để dựng router từ OpenWrt trên Raspberry Pi 5 bạn cần đúng ba thứ: ảnh SNAPSHOT có sẵn driver cho cổng WAN, xác định đúng cổng nào là LAN cổng nào là WAN, và tạo interface wan trỏ vào eth1. Ba bước đó chiếm phần lớn thời gian; các phần còn lại như Wi-Fi, DNS hay VPN chỉ là cấu hình thêm.

Sau khi làm xong, OpenWrt trên Raspberry Pi 5 sẽ tự khởi động lại mỗi khi mất điện và giữ nguyên cấu hình. Điều đáng chú ý là bạn đang dùng một board máy tính phổ thông, có sẵn tài liệu và phụ kiện tại Việt Nam, để thay thế một thiết bị mạng đóng thường bị nhà mạng khóa firmware. Với chi phí thấp hơn nhiều router Wi-Fi 6 cao cấp, bạn nhận lại toàn bộ quyền kiểm soát đường mạng của mình.

Nguồn: The Pi Hut