Đưa Webserver nội bộ lên Internet an toàn với Cloudflare Tunnel

Cloudflare Tunnel Hoạt Động Như Thế Nào?

Khác với cách truyền thống (mở port router để traffic đi vào), Cloudflare Tunnel hoạt động theo cơ chế Outbound Only:
• Cài đặt daemon 'cloudflared' lên Webserver nội bộ.
• Cloudflared tạo đường ống mã hóa (Encrypted Tunnel) đi ra hạ tầng Edge của Cloudflare qua cổng 7844 (QUIC) hoặc 443.
• Khi người dùng truy cập Domain, traffic đi đến Cloudflare Edge -> đẩy qua Tunnel về Webserver -> trả response ngược lại.

Flow:

[ User ]--->[Cloudflare Network (Edge)]<==(Encrypted Tunnel)==> [cloudflared/Server]

Chuẩn Bị

• Máy tính/Server/VM nội bộ (Ubuntu, Debian, CentOS, Windows hoặc Docker).
• Một Domain (Tên miền) đã trỏ NameServer về quản lý tại Cloudflare (Free Plan).
• Tài khoản Cloudflare Zero Trust (Miễn phí tới 50 users).

Hướng Dẫn Thiết Lập Từng Bước

Bước 1: Kích hoạt Cloudflare Zero Trust

1. Đăng nhập vào Cloudflare Dashboard.
2. Chọn Zero Trust ở menu bên trái.
3. Đặt tên Team và chọn gói Free Plan.

Bước 2: Tạo Cloudflare Tunnel

1. Trong Zero Trust Dashboard, chọn Networks > Tunnels & Mesh.

2. Chọn Create a tunnel > Chọn Connector là Cloudflared.

Đưa Webserver nội bộ lên Internet an toàn với Cloudflare Tunnel - ảnh 1

3. Đặt tên Tunnel (vd: ANONYHT) và nhấn Save tunnel.

Bước 3: Cài đặt Connector (cloudflared)

Chạy câu lệnh cài đặt tùy theo hệ điều hành của bạn:

bash
# Ubuntu / Debian (x86-64)
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb
bash
# Khởi chạy Tunnel Service
sudo cloudflared service install <YOUR_TUNNEL_TOKEN>
bash
# Nếu sử dụng Docker
docker run -d --restart=always --name cloudflared \
  cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <YOUR_TUNNEL_TOKEN>

Bước 4: Điều hướng Tên miền (Route Traffic)

Tại mục Public Application routes:
• Subdomain: nhập sub-domain mong muốn (vd: demo).
• Domain: Chọn tên miền đã có trên Cloudflare (vd: anonyht.com).
• Service Details: Type = HTTP, URL = localhost:8080 (hoặc IP:Port ứng dụng nội bộ).

Đưa Webserver nội bộ lên Internet an toàn với Cloudflare Tunnel - ảnh 2

Sau khi hoàn thành, bạn hoàn toàn có thể truy cập web từ xa với full domain: https://demo.anonyht.com

So Sánh: Cloudflare Tunnel vs Mở Port truyền thống:

Tiêu chí

Mở Port truyền thống

(Port Forwarding)

Cloudflare Tunnel

Yêu cầu IP Public

Bắt buộc IP Tĩnh / DDNS

Không cần (Chạy qua CGNAT/4G)

Độ an toàn

Thấp (IP thật bị lộ, dễ bị scan)

Rất cao (Ẩn IP hoàn toàn nhờ proxy)

Chứng chỉ SSL/TLS

Cần tự cài Let's Encrypt

Tự động cấp HTTPS 100%

Xác thực bảo mật

Phải tự cài trong App

Tích hợp sẵn OTP, Google

Lời Kết

Chỉ với vài thao tác đơn giản, bạn đã biến một máy tính cũ hoặc Webserver nội bộ thành VPS thực thụ truy cập được từ bất kỳ đâu trên thế giới mà không cần lo ngại các nguy cơ an ninh mạng.

Ở bài viết tiếp theo mình sẽ hướng dẫn anh em tăng bảo mật bằng cách bật lớp "khóa cửa" Zero Trust Access.

Xem thêm: Zero Trust Access: Thêm một lớp khoá cho URL vừa public lên Internet

Tags:
Chia sẻ:

Bình luận (0)