Giới thiệu
Nếu bạn đang tìm kiếm một giải pháp để kết nối từ xa tới mạng LAN tại nhà, phục vụ cho các nhu cầu như Wake-on-LAN, truy cập máy tính từ xa thông qua RDP, hoặc đơn giản là truy xuất dữ liệu từ NAS một cách an toàn, bài viết này chính là dành cho bạn.
Thay vì phải mở cổng qua nhà mạng, chúng tôi sẽ giới thiệu phương pháp kết nối vào mạng LAN riêng thông qua Cloudflare, giúp bạn bảo mật và dễ dàng quản lý hơn.
Cài đặt
Bước 1: Đăng ký tài khoản Cloudflare và dịch vụ Zero Trust
Để bắt đầu, bạn cần tạo một tài khoản Cloudflare. Sau khi đăng ký, hãy truy cập vào trang quản lý Cloudflare và tiến hành đăng ký dịch vụ Zero Trust (phiên bản miễn phí có sẵn). Đặt tên cho dịch vụ và làm theo hướng dẫn.
Khi đã hoàn tất, bạn sẽ có thể truy cập mục “Cài đặt” và chọn tab “Mạng” để cấu hình dựa trên nhu cầu của mình. Dưới đây là ví dụ cài đặt của mình.
Để đảm bảo Zero Trust hoạt động hiệu quả, bạn cần tạo một số quy tắc nhằm đảm bảo an toàn hơn cho kết nối. Trong phần “Cài đặt”, chọn “WARP Client”, sau đó nhấn “Quản lý” trong mục “Đăng ký thiết bị”.
Tại đây, bạn có thể tạo các quy tắc để chỉ cho những người dùng đã xác thực mới được phép truy cập.
Tôi đã áp dụng phương thức xác thực qua email. Nhập địa chỉ email của bạn, sau đó bạn sẽ nhận được mã PIN gồm 6 số. Lưu lại mã PIN này sau khi hoàn tất cài đặt.
Tiếp theo, trong phần “WARP Client”, chọn “Cài đặt thiết bị” và chỉnh sửa cấu hình “Mặc định”. Trong phần “Split Tunnel”, truy cập vào “Quản lý” và loại bỏ tất cả các dải IP mà bạn không muốn loại trừ. Tôi đã loại bỏ hết các dải IP và sẽ thêm vào sau nếu cần.
Đừng quên lưu lại cấu hình sau khi hoàn tất.
Bước 2: Tạo Tunnels
Để sử dụng Tunnels tới mạng LAN riêng tại nhà, bạn cần một thiết bị luôn hoạt động (như mini PC, Raspberry Pi) để đảm bảo tính ổn định và tiết kiệm điện.
Truy cập vào tab Tunnels trong phần Mạng và thực hiện cài đặt các đường hầm.
Tạo một profile tunnel. Chẳng hạn, nếu bạn sử dụng Raspberry Pi, hãy chọn môi trường là Debian và kiến trúc là arm64-bit. Sao chép lệnh command hiển thị và dán nó vào Raspberry Pi của bạn.
Nếu mọi thứ chạy trơn tru, dịch vụ cloudflared sẽ hoạt động trên thiết bị của bạn.
Trong tab Mạng riêng, thêm dải IP mà bạn muốn truy cập. Ví dụ, bạn có thể thêm 192.168.1.0/24
, là dải IP của mạng tại nhà.
Nếu trạng thái hiển thị đúng, bạn đã sẵn sàng.
Bước 3: Trích xuất cấu hình Wireguard
Bên cạnh ứng dụng 1.1.1.1 để truy cập mạng Zero Trust, bạn có thể sử dụng Wireguard vì nó giúp khởi động nhanh hơn. Để lấy cấu hình Wireguard, bạn thực hiện theo các bước dưới đây.
Mở trình duyệt và truy cập vào trang Zero Trust của bạn (đường dẫn có dạng https://<tên dịch vụ của bạn>.cloudflareaccess.com/). Tiến hành xác thực theo các quy tắc mà bạn đã thiết lập.
Sau khi xác thực, nhấn chuột phải và chọn Inspect để lấy đoạn token bắt đầu từ "ey...".
Sử dụng wgcf-teams để trích xuất profile Wireguard. Bạn sẽ nhận được một profile Wireguard tương ứng.
Sử dụng profile này với Wireguard. Kích hoạt để tham gia vào mạng của Cloudflare và bạn đã có thể truy cập vào địa chỉ private LAN của mình (ví dụ 192.168.1.1
) từ bất kỳ đâu, miễn là Raspberry Pi tại nhà đang hoạt động.
Yêu cầu của bạn sẽ được gửi tới Cloudflare, nơi sẽ thiết lập tunnel tới Raspberry Pi nếu yêu cầu nằm trong Mạng riêng mà bạn đã thiết lập.
Kết luận
Sử dụng dịch vụ Zero Trust của Cloudflare giúp bảo vệ mọi lưu lượng mạng phát sinh từ máy chủ của Cloudflare tới các trang web, server khác. Điều này có thể gây ra một số trở ngại cho các quản trị viên đang tin tưởng toàn bộ traffic xuất phát từ Cloudflare.
Ngoài Cloudflare, AWS cũng có dịch vụ WireGuard-over-S3. Các công cụ giám sát mạng sẽ không phân biệt được lượt truy cập hợp pháp tới S3 AWS hoặc các cuộc tấn công có thể lợi dụng S3 làm bình phong.