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, và theo thời gian, tôi đã dần chuyển nhiều dịch vụ của mình sang nó. Lý do của tôi là nhiều dịch vụ mạng của tôi đang hoạt động trên các thiết bị khác đều phụ thuộc vào việc mạng gia đình tôi hoạt động, vì vậy việc đưa chúng vào OPNsense không phải là vấn đề lớn. Bởi lẽ, nếu mạng của tôi gặp sự cố (kéo theo các dịch vụ đó), tôi cũng không có quyền truy cập internet.
Kết quả là, đây là một số dịch vụ tôi đã chuyển sang OPNsense, và chúng có thể được 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ụ của tôi vào một nơi, và tôi thực sự hài lòng với điều đó.
1. Reverse Proxy (Máy chủ Proxy Ngược)
Tôi sử dụng Caddy cho chức năng này
Tôi đã chuyển từ Nginx Proxy Manager sang Caddy vài tháng trước, và tôi rất thích sự thay đổi này. Trong khi Nginx Proxy Manager có giao diện web tiện lợi để sửa đổi cấu hình, Caddy lại sử dụng một “Caddyfile” đơn giản chứa tất cả các tùy chọn reverse proxy của bạn, dễ dàng sửa đổi và di chuyển sang các thiết bị khác nếu 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ị qua 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ì vẫn có Caddyfile mà bạn có thể xem và sao chép), mà còn có được những 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ì tôi 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 tế (ví dụ: router.home, được định nghĩa trong DNS cục bộ của tôi) và mọi thứ hoạt động rất tốt.
2. VPN (Mạng riêng ảo)
Tạo giao diện WireGuard để chia sẻ thiết bị
Giao diện trạng thái WireGuard trên OPNsense hiển thị kết nối VPN đang hoạt động
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 từ các thiết bị được chỉ định qua VPN. Dù điều này ban đầu có vẻ lạ, nhưng thực tế nó lại cực kỳ 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 bởi số lượng client đang hoạt động trên thiết bị tại một thời điểm. 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, điều này không tiện lợi cho những thiết bị mà tôi chỉ thỉnh thoảng muốn sử dụng VPN, nhưng đối với các container, máy ảo hoặc thậm chí các thiết bị hoàn chỉnh 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ỳ tốt, và tôi rất khuyến khích bạn nên thử. Nó tốt hơn nhiều so với việc thực hiện bất kỳ loại định tuyến container nào trên thiết bị với Gluetun (hoặc một ứng dụng tương đương) trên NAS của tôi, chẳng hạn. Điều đó không phải là một lời chê bai Gluetun, mà chỉ là cách OPNsense hoạt động hiệu quả cho loại cấu hình đó.
3. Tailscale
Biến router thành Exit Node
Giao diện cài đặt Tailscale trong OPNsense, cho phép cấu hình exit node
Nếu bạn sử dụng Tailscale, bạn có thể đã từng thử nghiệm tùy chọn “exit node” tại một thời điểm nào đó. Về cơ bản, thay vì định tuyến lưu lượng đến các địa chỉ Tailscale, nó sẽ định tuyến tất cả lưu lượng truy cập của bạn đến một thiết bị cụ thể trước khi ra Internet rộng lớn 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 vẫn duyệt web như thể bạn đang ở nhà.
Mặc dù 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 lại hợp lý hơn. Có ít “hop” hơn, và một lần nữa, đây là một trong những dịch vụ mà nếu internet không hoạt động thì nó cũng không hữu ích. Nếu OPNsense của tôi ngừng hoạt động, thì tôi có những việc lớn hơn phải lo lắng hơn là Tailscale. Đây là một sự kết hợp tự nhiên.
4. Dynamic DNS (DNS Động)
Giữ tên miền được cập nhật
Cấu hình Dynamic DNS trên OPNsense, hỗ trợ nhiều nhà cung cấp
Trước đây, tôi phải sử dụng 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 là 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ơi 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ì tôi có thể sẽ không có địa chỉ IP để tham chiếu cho lưu lượng truy cập đến… mà cũng chẳng có lưu lượng truy cập đến nào có thể kết nối được.
Điểm tuyệt vời là OPNsense hỗ trợ rất nhiều nền tảng cho Dynamic DNS, cùng với 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 rất tốt 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 bản ghi A của mình khi địa chỉ IP thay đổi. Chúng chỉ đơn giản là hoạt động.
5. Wake on LAN (Đánh thức qua mạng)
Dù tôi cũng dùng Home Assistant
Giao diện Wake on LAN (WOL) của OPNsense, cho phép đánh thức thiết bị qua mạng
Tính năng này hơi khác một chút, nhưng Wake-on-LAN (WOL) 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 của mình vào buổi sáng, nhưng tôi chưa thiết lập tất cả các thiết bị vì tôi thường không cần nó cho 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ị lỗi hoặc tôi chưa cấu hình thiết bị đó, thì điều đó sẽ gây khó chịu khi cần gấp.
May mắn thay, OPNsense cũng có tính năng Wake-on-LAN được tích hợp sẵn. Tôi có thể truy cập danh sách DHCP, sao chép địa chỉ MAC của thiết bị, sau đó gửi một gói “magic packet” để khởi động nó. Nó hoạt động tuyệt vời, và nhờ có cả OPNsense và Home Assistant, tôi đã có thể loại bỏ container mà tôi đã sử dụng ban đầu cho chính chức năng đó.
OPNsense có thể làm được rất nhiều điều
Đây thậm chí 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 sử dụng Pi-hole, Unbound DNS hỗ trợ blocklist, vì vậy bạn thậm chí có thể chạy Unbound trên phiên bản OPNsense của mình và sử dụng nó làm máy chủ DNS. Tôi vẫn chưa thực hiện điều này, nhưng tôi muốn thử nó 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à rất nhiều thứ khác nữa. Nó cực kỳ linh hoạt, và đối với bất kỳ thứ gì quan trọng đối với mạng của bạn, việc chạy nó trong OPNsense là rất đáng giá vì nếu OPNsense của bạn gặp sự cố, chúng cũng sẽ không hoạt động.