# Triển khai Cloudflare Tunnel trên Proxmox

Trong phần này chúng ta sẽ thực hiện cài đặt cloudflared agent trên một CT trên Proxmox và sau đó là cấu hình hình Cloudflared Tunnel trên Cloudflare

Phần thực hiện này sẽ loại bỏ Nginx Reverse Proxy đang sử dụng. Nên hãy đảm bảo bạn có quyền truy cập khác ngoài sử dụng domain name.

Ok. Let's go!

### Chuẩn bị

#### Tắt NPM và đóng cổng

Để đảm bảo chắc chắn các setup tiếp theo hoạt động đúng và tránh trường hợp setup sai nhưng vẫn truy cập được thông qua NPM mình khuyến cáo nên thực hiện 2 việc sau:

- Đóng các port 80, 443 đã mở trên router
- Tắt CT NPM hoặc disable các domain trên NPM

Trong lúc thực hiện nên disable các domain trên NPM trước để có thể cứu được nếu gặp lỗi. Sau khi setup tất cả thành công thì đóng cổng và xóa NPM sau.

#### Tải CT Templates

<span style="white-space: pre-wrap;">Truy cập PVE web &gt; Storage </span>`<span class="editor-theme-code">local</span>`<span style="white-space: pre-wrap;"> &gt; CT Templates &gt; Templates &gt; Tải debian-12-standard (version 12.12-1) &gt; </span>**Download**

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/iqwimage.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/iqwimage.png)

#### Tạo CT

Trong phần tạo CT này chỉ nhắc đến những mục quan trọng cần lưu ý. Những mục khác có thể để default.

- General
    - Unprivileged container: Nên tích chọn (nếu chưa tick)
    - Nhớ điền password mới next được,
- Template
    - Chọn template vừa tải
- Disks
    - 2 - 4GiB
- CPU
    - 1 core
- Memory
    - Memory (MiB): 512
    - Swap (MiB): 512
- Network
    - <span style="white-space: pre-wrap;">IPv4 </span>**Static**
    - IPv4/CIDR: 192.168.1.xxx/24
    - Gateway (IPv4): 192.168.1.1
- DNS
    - 8.8.8.8
- <span style="white-space: pre-wrap;">Confirm &gt; </span>**Finish**

#### Cấu hình CT

<span style="white-space: pre-wrap;">Chọn CT đã tạo và Start nó. </span>

<span style="white-space: pre-wrap;">Tại màn hình console hãy đăng nhập với account </span>`<span class="editor-theme-code">root</span>`<span style="white-space: pre-wrap;"> và password đã tạo ở bước trên.</span>

<span style="white-space: pre-wrap;">Cập nhật hệ thống và cài </span>`<span class="editor-theme-code">curl</span>`<span style="white-space: pre-wrap;"> (cần để tải cloudflared)</span>

- `<span class="editor-theme-code">apt update && apt upgrade -y</span>`
- `<span class="editor-theme-code">apt install curl -y</span>`

<span style="white-space: pre-wrap;">CT này cần chạy thì mới có thể tạo ra tunnel. Vậy nên chắc chắn bạn sẽ muốn nó được khởi động cùng với proxmox. Hãy truy cập Options &gt; Start at boot &gt; </span>**Enable**

### Tạo và kết nối Tunnel

#### Trên Cloudflare

<span style="white-space: pre-wrap;">Để cài đặt Tunnel chúng ta sẽ cần làm việc với Zero Trust. Nên hãy truy cập </span>[https://one.dash.cloudflare.com/](https://one.dash.cloudflare.com/)

<span style="white-space: pre-wrap;">Zero Trust &gt; Networks &gt; Connectors &gt; Create a tunnel &gt; </span>**Select Cloudflared**

[![Screenshot 2025-11-24 100545.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/hDMscreenshot-2025-11-24-100545.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/hDMscreenshot-2025-11-24-100545.png)

<span style="white-space: pre-wrap;">Điền tên của tunnel &gt; </span>**Next**

Tiếp theo, chọn hệ điều hành mà chúng ta đang cài tunnel. Ở đây đang cài trên template Debian nên chọn Debian (64-bit). Trên cửa sổ này Cloudflare sẽ cho chúng ta lệnh cài đặt trên Debian.

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/HiVimage.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/HiVimage.png)

#### Trên Proxmox

<span style="white-space: pre-wrap;">Trở về máy chủ PVE, tại console của CT đã cài đặt và chạy lần lượt từng lệnh trên. (Nếu đã đăng nhập với account </span>`<span class="editor-theme-code">root</span>`<span style="white-space: pre-wrap;"> thì bỏ </span>`<span class="editor-theme-code">sudo</span>`<span style="white-space: pre-wrap;"> trong lệnh)</span>

Sau khi chạy xong sẽ thấy trong cửa sổ Cloudflare xuất hiện Connectors như hình là OK.

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/T5Aimage.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/T5Aimage.png)

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/0naimage.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/0naimage.png)

### Cấu hình Routing

Phần này chúng ta sẽ cấu hình để domain name trỏ về đúng địa chỉ IP local của từng dịch vụ.

Quay lại với Cloudflare, chọn Tunnel mà chúng ta đã tạo ở phần trên và chọn Edit nó.

<span style="white-space: pre-wrap;">Đi tới </span>`<span class="editor-theme-code">Published application routes</span>`<span style="white-space: pre-wrap;"> và thực hiện thêm mới.</span>

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/3KZimage.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/3KZimage.png)

Thông tin cơ bản có thể điền như trên. Có vài trường hợp chúng ta cần lưu ý như sau:

#### Kết nối HTTP

Với đa phần các dịch vụ chúng ta sẽ sử dụng kết nối HTTP này. Phần mã hoá đã được tunnel lo.

Thông tin, chỉ cần điền như trên và Save lại là xong.

<span style="color: rgb(241, 196, 15); white-space: pre-wrap;">Chú ý, phần Service Type chọn là </span>**HTTP**<span style="color: rgb(241, 196, 15);">.</span>

<details id="bkmrk-l%C6%B0u-%C3%BD-v%E1%BB%9Bi-synology%2Fx"><summary>Lưu ý với Synology/XPEnology</summary>

Khi truy cập tới dsm có thể sẽ gặp lỗi "**Too many redirects**".

<span style="white-space: pre-wrap;">Nếu gặp lỗi này hãy, tới DSM &gt; Control Panel &gt; Login Portal &gt; DSM &gt; </span>**Tắt** "**Automatically redirect HTTP connections to HTTPS for DSM desktop**"

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/DKzimage.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/DKzimage.png)

</details>#### Kết nối HTTPS

<span style="white-space: pre-wrap;">Một số trang như Proxmox VE sẽ yêu cầu bắt buộc sử dụng HTTPS với </span>**Self-signed certificate.** Với kết nối loại này sẽ mặc định bị Cloudflare từ chối. Vậy nên chúng ta cần config để bỏ qua bước này.

<span style="white-space: pre-wrap;">Lần này với </span><span style="color: rgb(241, 196, 15); white-space: pre-wrap;">Service Type hãy chọn là </span>**HTTPS,** <span style="white-space: pre-wrap;">trong Additional application settings &gt; TSL &gt; </span>**Bật No TLS Verify &gt; Save.**

[![image.png](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/scaled-1680-/3Z8image.png)](https://knowledge.thanhdv.com/uploads/images/gallery/2025-11/3Z8image.png)

Ok, như vậy là xong rồi. Hãy đảm bảo là đã đóng cổng trên router và disable thư domain trong NPM trước khi test thử với địa chỉ vừa config. Nếu truy cập thành công là có thể xoá NPM rồi đấy :D