Trong hành trình khám phá và phát triển hệ thống homelab, tôi đã dành rất nhiều thời gian sử dụng OPNsense như một gateway chính. Phần lớn thời gian đầu, tôi triển khai các thiết lập ảo hóa OPNsense, nhưng điều này thường xuyên gây ra nhiều vấn đề khó chịu hơn là mang lại hiệu quả thực sự. Vấn đề lớn nhất tôi gặp phải là các bộ điều hợp mạng ảo (virtual network adapters) thường xuyên thay đổi cấu hình khi tôi quay lại VM sau một thời gian, và điều này đã trở thành một trở ngại không thể chấp nhận được.
Chính vì vậy, đã đến lúc đưa homelab của tôi lên một nền tảng phần cứng chuyên dụng. Tôi cần những cổng Ethernet vật lý để có thể kết nối và quản lý trực tiếp qua mạng. Tuy nhiên, tôi không chọn các server cấp doanh nghiệp cũ kỹ, bởi vì tiếng ồn và hóa đơn tiền điện khổng lồ sẽ khiến tôi từ bỏ ý định ngay lập tức. Thay vào đó, tôi bắt đầu với một chiếc mini PC nhỏ gọn nhưng mạnh mẽ, giống như nhiều người đam mê homelab khác. Đặc biệt hơn, tôi sẽ sử dụng các bộ điều hợp mạng này trong Proxmox và cài đặt OPNsense, cùng với một vài ứng dụng khác trên đó.
Mini PC – Lựa Chọn Lý Tưởng Cho Homelab
Hiệu năng mạnh mẽ và đa dạng cổng Ethernet
Tôi từng khá thất vọng khi không thể cài đặt OPNsense trên một chiếc ThinkPad cũ, và không ai thất vọng hơn tôi. Vấn đề không phải là tôi không có một chiếc máy với cổng Ethernet, mà là OPNsense thực sự không tương thích tốt với bộ điều hợp không dây, và tôi cũng không tìm thấy bộ điều hợp USB Ethernet nào trong nhà (tôi có tìm thấy một chiếc TB3 cho MacBook Pro cũ, có lẽ sẽ thử nghiệm trong tương lai). Điều đó có nghĩa là lựa chọn hợp lý duy nhất là một chiếc mini PC với hai cổng mạng Intel 2.5GbE, và đó là những gì tôi đã làm.
Tôi vẫn đang sử dụng một hệ thống NAS lớn hơn để lưu trữ dữ liệu quan trọng thông qua iSCSI, nhưng chiếc mini PC Beelink này sẽ mở ra một kỷ nguyên mới cho những thử nghiệm của tôi. Nó được trang bị CPU Intel N150, 12GB RAM và 64GB eMMC, cấu hình này dư sức để cài đặt Proxmox, đặc biệt là với sáu khe M.2 để mở rộng bộ nhớ. Vâng, sáu khe! Điểm trừ nhỏ là năm trong số đó chạy ở tốc độ PCIe 3.0 x1 và khe thứ sáu chạy ở x2, nhưng điều này không thành vấn đề vì tốc độ này vẫn đủ để đáp ứng hiệu suất của các cổng 2.5GbE, và mục đích chính là lưu trữ các máy ảo.
Giao diện điều khiển (Dashboard) của OPNsense hiển thị tổng quan hệ thống và các thông số mạng quan trọng
Beelink ME mini: Ứng cử viên sáng giá
Lợi ích khác của việc sử dụng phần cứng mới hơn là tôi có thể dễ dàng tìm mua thêm các mini PC tương tự để mở rộng homelab. Cuối cùng, tôi muốn xây dựng một cụm Proxmox High Availability với ít nhất ba, có thể là bốn, chiếc máy cùng mẫu này, tất cả đều có cùng dung lượng lưu trữ và đều sử dụng một storage pool trên một thiết bị khác. Cụm này sẽ chạy các máy ảo cho OPNsense, Technitium hoặc Pi-hole để chặn DNS, và bất kỳ dịch vụ nào khác mà tôi muốn đảm bảo thời gian hoạt động cao (uptime).
Tất nhiên, tôi có thể làm điều này với phần cứng khác, nhưng tôi sẽ phải tìm ba server cấp doanh nghiệp cũ với phần cứng giống hệt nhau, mua một tủ rack để đặt chúng, và chuẩn bị vài lời giải thích cho người bạn đời của mình, nếu không thì phần cứng đó sẽ không được phép vào nhà mà chưa dọn dẹp nhà kho. Xây dựng một cụm với những chiếc mini PC nhỏ gọn tiện lợi hơn rất nhiều.
Các phối màu đa dạng của Mini PC Beelink ME mini Home Storage NAS (trắng, xám, xanh dương)
Beelink ME mini 6-Slot Home Storage NAS
Beelink ME mini được trang bị CPU Intel Twin Lake N150 mới và có tổng cộng sáu khe M.2 PCIe 3.0, cho phép lưu trữ tập trung tốc độ cao hoặc đóng vai trò như một bộ kit khởi đầu cho homelab.
$209 tại Official Site $429 tại Amazon
Biến Mini PC thành Router OPNsense (Với một chút “twist”)
Ảo hóa OPNsense trên Proxmox để tối ưu tài nguyên
Tôi hoàn toàn có thể cài đặt OPNsense trực tiếp lên chiếc mini PC này (bare metal), và tôi đã suýt làm điều đó. Có thể một lúc nào đó tôi sẽ quay lại với phương pháp này, nhưng tôi muốn sử dụng Proxmox, vì chiếc máy này có tới sáu khe M.2 NVMe cần được tận dụng, và sẽ khá lãng phí nếu chỉ dùng cho một firewall. Nó thực sự hoàn hảo cho các máy ảo, với 64GB eMMC cho Proxmox và rất nhiều cổng để lưu trữ VM, tạo các pool ZFS cho mục đích NAS, chạy Home Assistant, Pi-hole, Unbound và nhiều ứng dụng khác.
Có một điều tôi phải làm hơi khác một chút trên mẫu máy này, và may mắn thay, Wendell từ Level1Techs đã đăng tải giải pháp khắc phục. Proxmox không hỗ trợ cài đặt trực tiếp lên eMMC theo mặc định, điều này khá đáng tiếc vì chiếc mini PC này có một phân vùng 64GB hoàn hảo để đặt một hypervisor cấp 1. Và trước khi có những tin nhắn tức giận xuất hiện, hãy yên tâm rằng điều này sẽ “ổn”, và tôi dự định thiết lập việc ghi log vào các ổ lưu trữ phụ trợ.
Khắc phục lỗi cài Proxmox lên eMMC trên Beelink ME mini
Cách khắc phục là khởi động trình cài đặt, nhấn CTRL+ALT+F1 để vào terminal, sau đó nhấn CTRL+C để dừng trình cài đặt. Tiếp theo, mở vi hoặc nano để chỉnh sửa tệp sau:
/usr/share/perl5/Proxmox/Sys/Block.pm
Bạn cần tìm đến mục “sub get_partition_dev” và thêm hai dòng sau vào cuối:
} elsif ($dev =~m|^/dev/mmcblkd+$|) { return "${dev}p$partnum";
Sau khi hoàn tất, lưu tệp và quay lại terminal, mở gdisk để tạo các phân vùng ban đầu trên dev/mmcblk0. Điều này sẽ giúp tránh một lỗi khác của Proxmox khiến trình cài đặt bị treo nếu không có phân vùng nào tồn tại trên các thiết bị lưu trữ. Thật thú vị với homelab phải không?
Sau đó, hãy kiểm tra lại để đảm bảo mmcblk0p1 hiển thị bằng cách chạy ‘lsblk’. Lúc này, bạn có thể chạy ‘proxmox-tui-installer’ và tiến hành cài đặt hypervisor của mình. Phần còn lại của quá trình thiết lập tương đối đơn giản, cả cho Proxmox – nơi tôi đã chạy một số script cộng đồng – và sau đó là thêm OPNsense dưới dạng máy ảo.
Quá trình thêm OPNsense vào Proxmox cực kỳ dễ dàng
QEMU hoạt động cực kỳ nhanh khi cài đặt máy ảo trên Proxmox, và CPU N150 trong chiếc hộp nhỏ này đủ nhanh. Việc tạo các Linux Bridge cho hai card mạng tốn nhiều thời gian hơn là để trình cài đặt OPNsense hoàn tất, và tôi đã có màn hình đăng nhập chỉ trong chốc lát, sẵn sàng cho tất cả các plugin hậu cài đặt mà tôi mong muốn.
Màn hình quản lý máy ảo Proxmox VE sau khi cài đặt thành công OPNsense
Xây Dựng Router và Tường Lửa Tùy Chỉnh – Đơn Giản Hơn Bao Giờ Hết
Chưa bao giờ việc chạy một tường lửa tùy chỉnh tại nhà lại dễ dàng đến thế. Tôi biết điều đó nghe có vẻ cường điệu, nhưng đó là sự thật. Tôi đã sử dụng, tinh chỉnh, tùy chỉnh, cài đặt và đôi khi “nguyền rủa” (khi mọi thứ trục trặc) máy tính trong nhiều thập kỷ, và toàn bộ quá trình ở đây diễn ra cực kỳ mượt mà. Vấn đề duy nhất là tôi đang cố gắng sử dụng phân vùng eMMC, vì trình cài đặt Proxmox vẫn chưa có hai dòng lệnh cần thiết để tìm kiếm eMMC làm mục tiêu cài đặt. Nhờ Wendell tại Level1Techs và kiến thức Linux chuyên sâu của ông, điều tưởng chừng có thể là một trở ngại đã được giải quyết chỉ trong vài phút. Tôi biết tôi có thể đã cài đặt Proxmox trên ổ NVMe mà tôi đã gắn, nhưng tôi muốn dành mọi GB dung lượng lưu trữ cho các máy ảo và dữ liệu, chứ không phải cho hypervisor sẽ chạy tất cả.
Thiết lập Beelink ME mini NAS trong môi trường homelab, sẵn sàng hoạt động như router/firewall và máy chủ
Kết Luận
Việc chuyển từ hệ thống OPNsense ảo hóa sang giải pháp dựa trên mini PC vật lý đã giải quyết triệt để những vấn đề cố hữu về ổn định mạng và mang lại sự linh hoạt đáng kinh ngạc. Chiếc Beelink ME mini, với hiệu năng mạnh mẽ, khả năng mở rộng bộ nhớ vượt trội và nhiều cổng mạng, đã chứng tỏ là một nền tảng lý tưởng không chỉ cho router/firewall OPNsense mà còn cho toàn bộ hệ sinh thái homelab đa dạng. Mặc dù có một vài trở ngại nhỏ trong quá trình cài đặt Proxmox lên eMMC, nhưng với sự hỗ trợ từ cộng đồng, việc triển khai một hệ thống mạng gia đình mạnh mẽ và tùy chỉnh chưa bao giờ dễ dàng đến thế.
Nếu bạn đang tìm kiếm một giải pháp bền vững, mạnh mẽ và linh hoạt cho homelab hoặc muốn nâng cấp hệ thống mạng gia đình, một chiếc mini PC kết hợp với OPNsense và Proxmox chính là câu trả lời. Hãy bắt đầu xây dựng hệ thống của riêng bạn để tận hưởng sự kiểm soát và hiệu suất tối ưu!