OPNsense là một nền tảng router và tường lửa mạnh mẽ mà tôi đã sử dụng trong vài tháng qua. Theo thời gian, tôi đã dần chuyển nhiều dịch vụ của mình sang nền tảng này. Lý do là nhiều dịch vụ mạng của tôi, vốn đang chạy trên các thiết bị khác, đều phụ thuộc vào hoạt động ổn định của mạng gia đình. Vì vậy, việc tích hợp chúng vào OPNsense không phải là vấn đề lớn, bởi lẽ nếu mạng nhà tôi bị sập (kéo theo các dịch vụ đó), thì bản thân tôi cũng không thể truy cập internet.
Kết quả là, đây là một số dịch vụ tôi đã di chuyển sang OPNsense, và tất cả đều có thể quản lý trực tiếp từ giao diện web. Đây là một cách tuyệt vời để hợp nhất nhiều dịch vụ vào một nơi duy nhất, và tôi thực sự hài lòng với điều đó.
5. Reverse Proxy (Proxy Đảo Ngược)
Tôi dùng Caddy cho mục đích này
Tôi đã chuyển từ Nginx Proxy Manager sang Caddy vài tháng trước và rất thích sự thay đổi này. Trong khi NPM cung cấp giao diện web tiện lợi để tùy chỉnh cấu hình, Caddy chỉ đơn giản là một “Caddyfile” chứa tất cả các tùy chọn reverse proxy của bạn, dễ dàng chỉnh sửa và di chuyển sang các thiết bị khác khi cần. Plugin Caddy trên OPNsense hoạt động tương tự, nhưng mọi tùy chọn đều được hiển thị rõ ràng trên giao diện người dùng.
Nói cách khác, bạn không chỉ có được sự đơn giản của Caddy (vẫn có một Caddyfile để bạn xem và sao chép), mà còn tận dụng được lợi ích tốt nhất từ cả hai thế giới nhờ giao diện web. Tôi đã chuyển tất cả các reverse proxy của mình sang Caddy trong OPNsense, và tất cả những gì cần làm là thay đổi cổng của giao diện web mà OPNsense đang chạy. Với reverse proxy, tôi có thể truy cập router của mình qua một tên miền thực sự (router.home, được định nghĩa trong DNS cục bộ) và mọi thứ hoạt động hoàn hảo.
4. VPN (Mạng Riêng Ảo)
Tạo giao diện WireGuard để chia sẻ với các thiết bị
Tình trạng kết nối WireGuard đang hoạt động trên OPNsense
Gần đây, tôi đã tạo một giao diện WireGuard trên OPNsense để có thể định tuyến lưu lượng truy cập từ các thiết bị cụ thể thông qua VPN. Mặc dù ban đầu nghe có vẻ lạ, nhưng điều này thực sự rất hữu ích. Thông thường, các công ty VPN giới hạn số lượng thiết bị có thể kết nối đồng thời, nghĩa là bạn sẽ bị giới hạn số lượng client hoạt động tại bất kỳ thời điểm nào. Tuy nhiên, việc triển khai VPN trên OPNsense cho phép tôi coi nhiều thiết bị như một thiết bị duy nhất.
Hiện tại, giải pháp này chưa tiện lợi cho những thiết bị mà tôi chỉ muốn thỉnh thoảng sử dụng VPN. Nhưng đối với các container, VM hoặc thậm chí toàn bộ thiết bị mà tôi muốn luôn được bảo vệ trực tuyến, đây là một thiết lập tuyệt vời. Nó hoạt động cực kỳ hiệu quả, và tôi thực sự khuyên dùng. Nó tốt hơn nhiều so với việc định tuyến container trên thiết bị bằng Gluetun (hoặc một ứng dụng tương đương) trên NAS của tôi, chẳng hạn. Điều này không phải là chê bai Gluetun, mà chỉ là cho thấy OPNsense tốt đến mức nào cho loại cấu hình này.
3. Tailscale
Biến router thành exit node (nút thoát)
Giao diện Tailscale trong OPNsense, cấu hình điểm thoát
Nếu bạn sử dụng Tailscale, có lẽ bạn đã từng thử nghiệm tùy chọn “exit node” (nút thoát) ở một thời điểm nào đó. Về cơ bản, thay vì định tuyến lưu lượng truy cập đến các địa chỉ Tailscale, nó sẽ định tuyến tất cả lưu lượng của bạn đến một thiết bị được chỉ định trước khi đi ra internet rộng hơn. Hãy nghĩ về nó giống như một VPN truyền thống, nơi bạn có thể ở bất cứ đâu trên thế giới, nhưng duyệt web như thể bạn đang ở nhà.
Trước đây, tôi đã sử dụng NAS của mình cho tính năng này, nhưng việc sử dụng router OPNsense hợp lý hơn. Ít bước nhảy hơn, và một lần nữa, đây là một trong những dịch vụ mà bản thân nó yêu cầu internet hoạt động để có ích. Nếu OPNsense của tôi ngừng hoạt động, thì tôi còn có những vấn đề lớn hơn cần lo lắng hơn là Tailscale. Đây là một sự kết hợp tự nhiên.
2. Dynamic DNS (DDNS)
Luôn cập nhật tên miền
Cấu hình Dynamic DNS (DDNS) trên OPNsense với nhiều tên miền
Trước đây, tôi có một container riêng để cập nhật các bản ghi A trên tên miền của mình, trỏ đến địa chỉ IP của tôi, ban đầu sử dụng ddns-updater và sau đó chuyển sang cloudflare-ddns. Tuy nhiên, tôi đã chuyển cấu hình này sang OPNsense, nền tảng này có hỗ trợ tích hợp cho Dynamic DNS với nhiều tên miền. Đây lại là một trong những cấu hình hợp lý, bởi vì nếu tôi không có internet, thì có lẽ tôi không có địa chỉ IP để tham chiếu cho lưu lượng truy cập đến… mà dù sao thì lưu lượng truy cập đến cũng không thể kết nối được.
Điều tuyệt vời là OPNsense hỗ trợ rất nhiều nền tảng cho Dynamic DNS, cùng với khả năng hỗ trợ các yêu cầu GET, PUT và POST tùy chỉnh nếu dịch vụ của bạn không có trong danh sách. Nó hoạt động tuyệt vời với Cloudflare, và tôi chưa gặp bất kỳ vấn đề nào với việc cập nhật các bản ghi A khi địa chỉ IP của tôi thay đổi. Chúng chỉ đơn giản là hoạt động.
1. Wake on LAN (WOL)
Mặc dù tôi cũng dùng Home Assistant cho việc này
Tính năng Wake-on-LAN (WOL) tích hợp trong OPNsense
Điểm này có chút khác biệt, nhưng Wake-on-LAN là một tính năng khá hữu ích. Tôi đã sử dụng tích hợp Wake-on-LAN của Home Assistant để khởi động máy chủ và PC vào buổi sáng, nhưng tôi chưa thiết lập cho tất cả các thiết bị, vì tôi thường không cần đến chúng. Tuy nhiên, tôi đã sử dụng nó vài lần trước khi triển khai Home Assistant, và nếu Home Assistant của tôi bị sập hoặc tôi chưa cấu hình thiết bị đó, thì sẽ rất phiền phức trong trường hợp khẩn cấp.
May mắn thay, OPNsense cũng có tính năng Wake-on-LAN tích hợp. Tôi có thể vào danh sách DHCP, sao chép địa chỉ MAC của một thiết bị, sau đó gửi một gói “magic packet” để khởi động nó. Nó hoạt động rất tốt, và nhờ có cả OPNsense lẫn Home Assistant, tôi đã có thể loại bỏ container mà tôi ban đầu sử dụng cho chính chức năng đó.
OPNsense có thể làm được nhiều hơn thế
Đây thậm chí còn chưa phải là tất cả những gì OPNsense có thể thay thế trong mạng gia đình của bạn. Nếu bạn đang sử dụng Pi-hole, Unbound DNS hỗ trợ các danh sách chặn, vì vậy bạn thậm chí có thể chạy Unbound trên OPNsense và sử dụng nó làm máy chủ DNS của mình. Tôi vẫn chưa thực hiện điều này, nhưng tôi muốn thử trong tương lai. Hơn nữa, bạn thậm chí có thể lưu trữ một cổng web cơ bản trên OPNsense, và còn rất nhiều điều khác nữa. Nền tảng này cực kỳ linh hoạt, và đối với bất kỳ dịch vụ nào quan trọng đối với mạng của bạn, việc chạy chúng trong OPNsense là rất đáng giá. Bởi vì nếu OPNsense ngừng hoạt động, chúng cũng sẽ thất bại mà thôi.