Truy cập mạng nội bộ bằng Cloudflare WARP + Cloudflare Tunnel

Bài trước mình có hướng dẫn cách truy cập vào máy tính nội bộ thông qua Cloudflare Tunnel mà không cần phải mở port. Khi đó Cloudflare Tunnel đóng vai trò như một máy chủ reverse proxy để chuyển hướng các tên miền con của mình về các port khác nhau trong mạng nội bộ. Ví dụ với địa chỉ http://home.workleast.com sẽ cho phép truy cập vào ứng dụng Guacamole tại địa chỉ http://192.168.68.2:8080 của mạng nội bộ, hay http://printer.workleast.com để truy cập vào trang quản lý máy in của CUPS tại địa chỉ http://192.168.68.2:631…

Mặc dù cách này rất hữu ích khi mình cần truy cập từ xa 1-2 ứng dụng web trong mạng nội bộ, nhưng khi mình có quá nhiều ứng dụng khác nhau trong mạng nội bộ thì việc phải tạo nhiều tên miền con cho từng ứng dụng sẽ rất bất tiện. Ngoài ra, cách truy cập đó chỉ hỗ trợ các ứng dụng web còn những ứng dụng không có giao diện web thì cũng không thể sử dụng được.

Hôm nay mình giới thiệu thêm cách sử dụng Cloudflare WARP để truy cập mạng nội bộ thông qua Cloudflare Tunnel. Với cách này mình không cần phải có tên miền nhưng vẫn có thể truy cập vào bất kỳ dịch vụ nào trong mạng nội bộ mà không yêu cầu phải có giao diện web (như SSH, Telnet,, FTP…). Thực ra, cách hoạt động này rất giống với việc sử dụng các hệ thống VPN như Wireguard hay OpenVPN, nhưng khác biệt ở chỗ mình sẽ không cần phải mở port ra ngoài nên sẽ tăng cường bảo mật hơn.

1. Điều kiện tiên quyết

2. Thiết lập Cloudflare Tunnel mới

Nếu máy tính trong mạng nội bộ đã tạo kết nối với Cloudflare Tunnel thì có thể bỏ qua bước này và thực hiện bước 3 bên dưới để cấu hình cho kết nối Tunnel cũ. Ngược lại, nếu máy tính trên mạng nội bộ chưa kết nối Cloudflare Tunnel thì thực hiện các bước sau để tạo kết nối mới:

2.1 Tạo kết nối Cloudflare Tunnel mới

Các bước tạo kết nối Cloudflare Tunnel mình đã trình bày rất kỹ trong bài trước nên mình sẽ không hướng dẫn lại ở đây, vui lòng xem lại phần tạo kết nối Tunnel mới trên Cloudflare Zero Trust để biết thêm chi tiết

2.2 Cài đặt Cloudflare Docker lên máy tính mạng nội bộ

Bước này mình cũng đã có hướng dẫn qua trong bài trước, xin tham khảo thêm tại phần cài đặt Cloudflare Docker

2.3 Khai báo địa chỉ mạng nội bộ

Sau khi máy tính trong mạng nội bộ đã kết nối thành công với Cloudflare Tunnel, mình tiếp tục khai báo địa chỉ mạng nội bộ như sau:

Chỗ này mình không khai báo “Public Hostnames” mà chuyển qua tab “Private Networks”

  • CIDR: nhập địa chỉ mạng nội bộ (xem bên dưới để biết cách lấy địa chỉ mạng nội bộ)
  • Description: nhập thông tin mô tả

Cuối cùng nhấn nút “Save Tunnel” để lưu lại.

3. Cấu hình cho Cloudflare Tunnel đã có sẵn

Nếu trước đây đã tạo kết nối Cloudflare Tunnel thì mình chỉ cần khai báo thêm địa chỉ mạng nội bộ trong Tunnel cũ là xong. Các bước thực hiện như sau:

Đăng nhập vào Cloudflare Zero Trust tại địa chỉ: https://one.dash.cloudflare.com/

Vào menu “Tunnels” của Cloudflare Zero Trust

Chọn “Configure” ở tunnel cần thay đổi

Chọn “Private Network”

Nhấn nút “Add a private network”

  • CIDR: nhập địa chỉ mạng nội bộ (xem bên dưới để biết cách lấy địa chỉ mạng nội bộ)
  • Description: nhập thông tin mô tả

Cuối cùng nhấn nút “Save private network” để lưu lại.

Để lấy địa chỉ mạng nội bộ trên Ubuntu, thực hiện lệnh sau:

Lưu ý
$ ip addr

Tìm địa chỉ IP của máy chủ. Ví dụ nếu IP là “192.168.68.103/24” thì địa chỉ mạng nội bộ sẽ là “192.168.68.0/24”

4. Cấu hình WARP Client trên Cloudflare Zero Trust

Vào menu Settings

Chọn “WARP Client”

Tìm mục “Profile settings”, chọn “Configure” ở profile “Default”

Tìm mục “Service mode”, chọn “Gateway with WARP”

Tìm mục “Split Tunnels”, chọn “Exclude IPs and domains”

Tìm và xoá các địa chỉ mạng chứa địa chỉ mạng nội bộ của mình. Vì địa chỉ mạng nội bộ của mình là “192.168.68.0/24” nên mình đánh dấu chọn vào 2 địa chỉ mạng “192.0.0.0/24” và “192.168.0.0/16”. Sau đó chọn “Action” rồi “Confirm delete (2 selected)”.

Việc xoá địa chỉ mạng nội bộ ra khỏi danh sách loại trừ (Exclude IP) của Cloudflare WARP cho phép Cloudflare thêm địa chỉ mạng nội bộ của mình vào Tunnel để mình có thể truy cập mạng nội bộ thông qua Tunnel.

Nhấn vào “Back to Profile”

Cuối cùng nhấn nút “Save profile” để lưu lại

5. Cài đặt Cloudflare WARP trên Windows

Bước này mình sẽ tải và cài đặt phần mềm Cloudflare WARP trên máy tính Windows mà mình sử dụng ở ngoài để kết nối về mạng nội bộ của mình. Đối với các hệ điều hành khác cũng có thể làm tương tự.

Đầu tiên vào trang https://1.1.1.1/ và tải phần mềm Cloudflare WARP về.

Sau khi cài đặt thành công Cloudflare WARP sẽ hiển thị như sau:

Nhấn nút “Next” để tiếp tục

Chọn “Accept”

Nhấn vào biểu tượng “Settings” rồi chọn “Preferences” từ menu

Chọn “Account” rồi nhấn nút “Login with Cloudflare Zero Trust”

Nhập tên nhóm đã tạo ở bước đăng ký Cloudflare Zero Trust sau đó nhấn “OK”

Cloudflare WARP sẽ mở trang đăng nhập của Cloudflare trên trình duyệt. Sau khi đăng nhập thành công sẽ hiện như trên.

Nếu sử dụng trình duyệt Chrome thì có thể sẽ hiện thêm cảnh báo bảo mật như sau:

Nhấn vào nút “Open Cloudflare WARP” để tiếp tục

Khi thấy hiển thị như trên tức là Cloudflare WARP đã kết nối thành công đến Zero Trust.

6. Truy cập mạng nội bộ từ xa

Sau khi Cloudflare WARP kết nối thành công đến Zero Trust thì mình đã có thể truy cập vào các dịch vụ hoặc ứng bằng các địa chỉ IP của mạng nội bộ.

http://192.168.68.116:631
ssh [email protected]

Chúc bạn thành công!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *