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