Cloudflared Cheat Sheet

Tổng hợp các lệnh thường dùng cho Cloudflare Tunnel (cloudflared)

Cài đặt & Xác thực

Đăng nhập vào tài khoản Cloudflare

Xác thực cloudflared với tài khoản Cloudflare của bạn. Thao tác này sẽ mở một cửa sổ trình duyệt để bạn đăng nhập và cấp quyền cho một tên miền (zone).

cloudflared tunnel login

Quản lý Tunnel

Tạo một Tunnel mới

Tạo một Tunnel mới với tên được chỉ định. Sau khi tạo, bạn sẽ nhận được một UUID và file credentials (json).

cloudflared tunnel create <TUNNEL_NAME>

Liệt kê tất cả các Tunnel

Hiển thị danh sách tất cả các Tunnel đã được tạo trong tài khoản của bạn, cùng với UUID và trạng thái.

cloudflared tunnel list

Xóa một Tunnel

Xóa vĩnh viễn một Tunnel. Thao tác này không thể hoàn tác.

cloudflared tunnel delete <TUNNEL_NAME_OR_UUID>

Dọn dẹp các kết nối Tunnel không hoạt động

Xóa các kết nối của Tunnel đã bị ngắt kết nối không đúng cách.

cloudflared tunnel cleanup <TUNNEL_NAME_OR_UUID>

Định tuyến Tunnel

Định tuyến DNS cho Tunnel

Tạo một bản ghi DNS CNAME để trỏ một tên miền phụ (subdomain) đến Tunnel của bạn.

cloudflared tunnel route dns <TUNNEL_NAME_OR_UUID> <hostname>

Định tuyến IP cho Tunnel

Định tuyến một dải IP (CIDR) thông qua Tunnel. Hữu ích cho việc kết nối các mạng riêng.

cloudflared tunnel route ip add <CIDR> <TUNNEL_NAME_OR_UUID>

Hiển thị các tuyến IP

Liệt kê tất cả các tuyến IP đã được cấu hình trong tài khoản của bạn.

cloudflared tunnel route ip show

Chạy Tunnel

Chạy Tunnel với file cấu hình

Cách phổ biến nhất để chạy Tunnel, sử dụng file cấu hình (config.yml) để định tuyến lưu lượng truy cập.

cloudflared tunnel --config /path/to/config.yml run <TUNNEL_NAME_OR_UUID>

Chạy Tunnel nhanh (Quick Tunnel)

Chạy Tunnel để public một dịch vụ web đang chạy trên localhost mà không cần file cấu hình. Cloudflare sẽ tạo một tên miền ngẫu nhiên cho bạn.

cloudflared tunnel --url http://localhost:8000

Chạy Tunnel với các tùy chọn bổ sung

Chạy Tunnel với mức ghi log chi tiết (debug) và bật endpoint metrics để theo dõi.

cloudflared tunnel --loglevel debug --metrics localhost:9090 run <TUNNEL_NAME>

Cấu hình (config.yml)

Cấu trúc file config.yml cơ bản

File cấu hình định nghĩa cách Tunnel định tuyến các yêu cầu đến dịch vụ của bạn. Quy tắc cuối cùng phải là `http_status:404` để xử lý các yêu cầu không khớp.

tunnel: <TUNNEL_UUID>
credentials-file: /path/to/<TUNNEL_UUID>.json
# Tùy chọn: Bật autoupdate cho cloudflared
autoupdate-freq: 24h

ingress:
  - hostname: myapp.example.com
    service: http://localhost:8000
  - hostname: api.example.com
    service: https://localhost:3001
    originRequest:
      noTLSVerify: true # Bỏ qua xác thực SSL nếu dùng cert tự ký
  - service: http_status:404

Cấu hình cho SSH

Định tuyến lưu lượng SSH. Bạn sẽ kết nối bằng `cloudflared access ssh`.

ingress:
  - hostname: ssh.example.com
    service: ssh://localhost:22
  - service: http_status:404

Cấu hình cho RDP

Định tuyến lưu lượng RDP. Kết nối bằng `cloudflared access rdp`.

ingress:
  - hostname: rdp.example.com
    service: rdp://localhost:3389
  - service: http_status:404

Cấu hình cho một dịch vụ TCP chung

Định tuyến bất kỳ dịch vụ TCP nào, ví dụ như một cơ sở dữ liệu.

ingress:
  - hostname: db.example.com
    service: tcp://localhost:5432
  - service: http_status:404

Cloudflare Access

Kết nối SSH qua Access

Mở một phiên SSH đến máy chủ được bảo vệ bởi Access. Lệnh này sẽ tự động cấu hình file `~/.ssh/config` của bạn.

cloudflared access ssh --hostname ssh.example.com

Kết nối RDP qua Access

Khởi tạo một kết nối RDP. cloudflared sẽ lắng nghe trên một cổng cục bộ và bạn chỉ cần kết nối RDP client đến `localhost:PORT`.

cloudflared access rdp --hostname rdp.example.com --url localhost:33890

Kết nối đến một dịch vụ TCP chung qua Access

Sử dụng cloudflared để tạo một kết nối an toàn đến một dịch vụ TCP (như database) được bảo vệ bởi Cloudflare Access.

cloudflared access tcp --hostname db.example.com --url localhost:15432

DNS over HTTPS (DoH)

Chạy một proxy DoH cục bộ

Chạy một máy chủ DNS cục bộ trên cổng 53, máy chủ này sẽ chuyển tiếp tất cả các truy vấn DNS qua DoH đến Cloudflare.

cloudflared proxy-dns

Chạy proxy DoH trên một cổng và địa chỉ khác

Chỉ định địa chỉ IP và cổng cho máy chủ DNS cục bộ.

cloudflared proxy-dns --address 127.0.0.1 --port 5053

Xử lý sự cố

Xem thông tin chi tiết của Tunnel

Hiển thị thông tin chi tiết về một Tunnel, bao gồm UUID, file credentials, các kết nối đang hoạt động và các bản ghi DNS liên quan.

cloudflared tunnel info <TUNNEL_NAME_OR_UUID>

Chạy Tunnel ở chế độ Gỡ lỗi (Debug)

Chạy Tunnel với cờ `--loglevel debug` để xem các thông báo log chi tiết, giúp xác định nguyên nhân sự cố.

cloudflared --loglevel debug tunnel run <TUNNEL_NAME>

Lệnh Tiện ích

Kiểm tra phiên bản

Hiển thị phiên bản hiện tại của cloudflared.

cloudflared --version

Cập nhật cloudflared

Tải và cài đặt phiên bản mới nhất của cloudflared.

cloudflared update

Cài đặt cloudflared như một dịch vụ hệ thống

Cài đặt cloudflared để chạy tự động khi hệ thống khởi động. Cần quyền quản trị (root/administrator).

# Cần chỉ định file cấu hình
cloudflared service install --config /path/to/config.yml

Gỡ cài đặt dịch vụ hệ thống

Gỡ bỏ dịch vụ cloudflared khỏi hệ thống.

cloudflared service uninstall

Nhận xét

Mới hơn Cũ hơn