---
title: โหนด VPN และพร็อกซี IPv6
description: เตรียมโหนด Linux เป็นโหนด VPN (cmp-agent) และโหนดพร็อกซี IPv6: ระบบปฏิบัติการ ที่อยู่ IP และพรีฟิกซ์ IPv6 พอร์ต sysctl การติดตั้ง และฮาร์ตบีท
url: https://nexcmp.com/th/docs/infrastructure/vpn-proxy-nodes/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# โหนด VPN และพร็อกซี IPv6 {#vpn-and-ipv6-proxy-nodes}

> **ตำแหน่งในหน้าผู้ดูแลระบบ:** Infrastructure › VPN & Proxy nodes › Agents & external nodes (`/agents`), VPN IP pools (`/vpn/pool`), IPv6 Proxy nodes (`/vpn/proxy6/nodes`) บริการเหล่านี้อยู่ภายใต้ Services › VPN และ Services › IPv6 Proxy โมดูลทั้งสองเปิดใช้งานได้ใน System › Admin › License & updates

## What it does {#what-it-does}

NexCMP จำหน่ายบริการ VPN และพร็อกซีที่เชื่อมต่อผ่าน **ที่อยู่ IP ของคุณเอง** บนเซิร์ฟเวอร์ที่คุณดูแล โหนดมี 2 ประเภท:

- **โหนด VPN:** โปรแกรม Go ขนาดเล็ก `cmp-agent` ทำงานบนโหนด Linux ของคุณ โดยจะค้นหาที่อยู่ IPv4 สาธารณะบนโหนด เปิดพอร์ต SOCKS5, HTTP และตัวรับ UDP บนทุกที่อยู่ที่มีการขาย และส่งทราฟฟิกออกจาก **IP เดียวกัน** ที่ลูกค้าเชื่อมต่อ (การออกสู่ภายนอกด้วย IP เดียวกัน) พร้อมทั้งส่งรายงานไปยังพาเนลทุก ๆ ไม่กี่วินาที
- **โหนดพร็อกซี IPv6:** บริการพร็อกซีที่ให้ที่อยู่แก่ลูกค้าจากพรีฟิกซ์ IPv6 ที่คุณกำหนดเส้นทางไปยังโหนด พาเนลจะติดตั้งให้คุณผ่าน SSH

ใช้โหนดเหล่านี้เพื่อรีเซลล์ที่อยู่ IP ที่สะอาดในประเทศที่คุณมีเซิร์ฟเวอร์อยู่

## ข้อกำหนด {#requirements}

### โหนด VPN {#vpn-node}

| Item | Requirement |
|---|---|
| Operating system | ระบบปฏิบัติการ Linux ที่มี systemd และเคอร์เนลเวอร์ชัน 4.15 หรือใหม่กว่า (รองรับ IPv6 free-bind) ไบนารีเอเจนต์ที่มาพร้อมแพ็กเกจรองรับ **x86_64** (amd64) เท่านั้น |
| Privileges | สิทธิ์ root สำหรับการติดตั้ง บริการจะคงไว้เฉพาะ `CAP_NET_ADMIN`, `CAP_NET_RAW` และ `CAP_DAC_READ_SEARCH` เท่านั้น |
| เครื่องมือ | `curl` หรือ `wget` และ `sha256sum` (ตัวติดตั้งจะไม่ยอมดำเนินการต่อหากไม่ได้ตรวจสอบไฟล์) |
| พับลิกแอดเดรส | พับลิก IPv4 แอดเดรสที่กำหนดบนอินเทอร์เฟซของโฮสต์ (อย่างละหนึ่ง `/32`) **หรือ** พรีฟิกซ์ที่เส้นทางวิ่งมายังโฮสต์ซึ่งคุณเพิ่มเป็นซับเน็ตเสริม (IPv4 /16 ถึง /32, IPv6 /48 ถึง /128) จะละเว้นช่วงไอพีส่วนตัว, CGNAT และช่วงสำหรับคู่มือ |
| เครือข่าย, ขาเข้า | ลูกค้าเชื่อมต่อกับพับลิกไอพีที่จำหน่ายแต่ละรายการผ่าน **พอร์ต 65001-65535** (TCP สำหรับ SOCKS5 และ HTTP, UDP สำหรับ UDP associate) แต่ละเอนด์พอยต์ใช้ชุดพอร์ตต่อเนื่องกันสามพอร์ต |
| เครือข่าย, ขาออก | HTTPS (443) ไปยังโดเมนของพาเนลของคุณ นอกจากนี้ตัวแทนยังตรวจสอบประเทศของตนเองบน `ip-api.com` (HTTP) และ `ipinfo.io` (HTTPS) โดยมีขีดจำกัด 3.5 วินาที |
| เมล | การเชื่อมต่อขาออกไปยังพอร์ต 25 จะถูกบล็อกเสมอ และไม่มีการตั้งค่าสำหรับเปิดใช้งาน |
| ด็อกเกอร์, VPN และอินเทอร์เฟซเสมือน | อินเทอร์เฟซชื่อ `docker*`, `veth*`, `br-*`, `cni*`, `flannel*`, `virbr*`, `cali*`, `tun*`, `tap*`, `wg*` และ `tailscale*` จะไม่มีส่วนร่วมในการจ่ายแอดเดรส |
| ขึ้นอยู่กับ | โมดูล **VPN**, โซน (สร้างโดยอัตโนมัติจากประเทศของโฮสต์) และพาเนล NexCMP ที่สามารถเข้าถึงได้ผ่าน HTTPS |

### โหนดพร็อกซี IPv6 {#ipv6-proxy-node}

| Item | Requirement |
|---|---|
| Operating system | Linux ที่ใช้ systemd บน **x86_64** คำสั่ง `systemctl`, `nft`, `ip`, `ss`, `sysctl` และ `useradd` จะต้องมีอยู่ มิฉะนั้นการติดตั้งจะหยุดลงและระบุชื่อคำสั่งที่หายไป |
| การเข้าถึงสำหรับการติดตั้ง | พับลิก IPv4 แอดเดรส (ไม่อนุญาตแอดเดรสส่วนตัว, ลูปแบ็ค และ CGNAT), พอร์ต SSH, บัญชีที่มีสิทธิ์ root หรือ `sudo` และ **รหัสผ่าน** ของบัญชีนั้น รหัสผ่านนี้ใช้สำหรับการติดตั้งเท่านั้นและจะไม่ถูกจัดเก็บไว้ |
| พอร์ตว่าง | **80, 443 และทุกพอร์ตที่สูงกว่า 60000** จะต้องว่าง ตัวติดตั้งจะไม่หยุดหรือเปลี่ยนแปลงบริการที่กำลังทำงานอยู่แล้ว แต่จะรายงานพอร์ตที่มีการใช้งานและหยุดทำงาน |
| IPv6 | พรีฟิกซ์สาธารณะระหว่าง **/32 และ /64** ภายใน `2000::/3` ซึ่งโฮสต์สามารถใช้เป็นแหล่งที่มาสำหรับทราฟฟิกขาออก โดยจัดส่งแบบ **มีเส้นทางวิ่ง (routed)** ไปยังโฮสต์หรือ **บนลิงก์ (on-link)** พร้อม NDP proxy (ดูด้านล่าง) |
| Network | ลูกค้าจะเชื่อมต่อไปยัง IPv4 ของโหนดผ่านพอร์ต 80 (HTTP proxy), พอร์ต 443 (SOCKS5) และพอร์ต 60001-65535 (หนึ่งพอร์ตต่อหนึ่ง static IP) โหนดไม่มีใบรับรอง จึงไม่มี HTTPS proxy ทราฟฟิกขาออกจะส่งผ่าน IPv6 เท่านั้น และไปยังปลายทางที่มีที่อยู่ IPv6 เท่านั้น โหนดจะดึงการกำหนดค่าจาก panel ผ่าน HTTPS |
| ซอฟต์แวร์โหนดบนเซิร์ฟเวอร์พาเนล | โหนด daemon และสคริปต์เครือข่ายจะรวมอยู่ในแพ็กเกจรีลีสของ NexCMP โดย panel จะคัดลอกไฟล์เหล่านี้จากโฟลเดอร์ติดตั้ง (`/opt/nexcmp/releases/<version>/bin` หรือ `/opt/nexcmp/bin` ในบิลด์แบบกำหนดเอง) ไปยังแต่ละโหนดระหว่างการติดตั้ง นอกจากนี้ เซิร์ฟเวอร์ panel ยังต้องใช้ `sshpass` และไคลเอนต์ SSH ซึ่งตัวติดตั้งจะเพิ่ม `sshpass` ให้ และในเซิร์ฟเวอร์ที่ติดตั้งก่อน 1.4.2 คุณสามารถเพิ่มได้ด้วย `sudo apt-get install -y sshpass` |
| ขึ้นอยู่กับ | โมดูล **IPv6 Proxy** และ URL ของ panel ที่โหนดจะเรียกกลับมา (**IPv6 Proxy › Settings › Panel URL for nodes** ค่าเริ่มต้น `https://<your license domain>`) |


## เตรียมโครงสร้างพื้นฐาน {#prepare-the-infrastructure}

### โหนด VPN {#vpn-node-1}

1. **จัดเตรียมโฮสต์** ด้วย Linux ที่รองรับและพับลิก IPv4 แอดเดรสที่คุณต้องการขาย โดยกำหนดค่าบนอินเทอร์เฟซเครือข่ายหรือกำหนดเส้นทางมายังโฮสต์
2. **หากคุณขาย routed block** ให้วางแผนที่จะป้อนค่านั้นเป็น **Extra subnet** เมื่อคุณเพิ่มโหนด โดย agent จะติดตั้ง route `local <block> dev lo` เพื่อให้โฮสต์ยอมรับทราฟฟิกสำหรับทุกที่อยู่ในบล็อก จากนั้นจะรายงานที่อยู่ที่พบ นอกจากนี้ agent ยังอ่าน routing table จริงของโฮสต์ และจะไม่ขายหรือดึงที่อยู่ **gateway** มาใช้เด็ดขาด: หากบล็อกดังกล่าวมี next-hop ของหนึ่งในเส้นทางของโฮสต์ (เช่น ที่อยู่เราเตอร์ของบล็อกแบบ on-link) agent จะติดตั้ง route `local` เฉพาะสำหรับส่วนของบล็อกที่อยู่รอบๆ เท่านั้น พร้อมรายงาน gateway ไปยัง panel และ panel จะกันที่อยู่นั้นออกจากพูลและจากการจัดสรรทั้งหมด ทั้งนี้ระบบจะลบ route ที่ติดตั้งไว้เมื่อ extra subnet มีการเปลี่ยนแปลงหรือเมื่อ agent หยุดทำงาน
3. **เปิดไฟร์วอลล์** อนุญาต TCP และ UDP ขาเข้า **65001-65535** บนพับลิกแอดเดรส และ HTTPS ขาออกไปยังพาเนล
4. **เสริม: ตัวนับไบต์ต่อไอพี** การบันทึกสถิติ Conntrack (`net.netfilter.nf_conntrack_acct = 1`) ช่วยให้บทบาทการตรวจสอบสามารถนับไบต์ต่อไอพีได้ พาเนลสามารถเปิดใช้งานได้โดยส่งคำสั่ง `acct` ไปยังตัวแทน ซึ่งจะเขียน `/etc/sysctl.d/99-cmp-agent.conf` ด้วย ส่วนบทบาท VPN นั้นไม่ต้องใช้ฟังก์ชันนี้
5. **ตรวจสอบพาเนลจากโหนด:**

   ```bash
   curl -fsS -o /dev/null -w '%{http_code}\n' https://cloud.example.com/install.sh
   ```

### โหนดพร็อกซี IPv6 {#ipv6-proxy-node-1}

พรีฟิกซ์ IPv6 จะเดินทางมาถึงโหนดได้สองวิธี ตัวติดตั้งจะทดสอบทั้งสองวิธีด้วยการเชื่อมต่อขาออกจริงและเก็บบริการที่ใช้งานได้

| ชนิด | ความหมาย | สิ่งที่คุณกำหนดค่า |
|---|---|---|
| **มีเส้นทางวิ่ง (Routed)** | upstream ของคุณจะส่งต่อ prefix (เช่น /48 หรือ /56) **ไปยังที่อยู่ของตัวโหนดเอง** แพ็กเกจขาออกสามารถใช้ที่อยู่ใดก็ได้ใน prefix นั้นเป็นต้นทาง และแพ็กเกจตอบกลับจะส่งกลับมายังโหนด | ขอ prefix ที่มีการทำ routing จากผู้ให้บริการของคุณโดยมีฮอปถัดไปคือโหนด ไม่ต้องตั้งค่าอะไรเพิ่มเติมบนโหนด: บริการพร็อกซีใช้ซ็อกเก็ตแบบโปร่งใส, ตาราง policy-routing แบบคงที่ และ `nft` |
| **On-link** | /64 จะอยู่บน LAN เดียวกันกับโหนด การตอบกลับจะใช้งานได้ก็ต่อเมื่อโหนดตอบสนองการค้นหาเพื่อนบ้าน (neighbour discovery) สำหรับแต่ละที่อยู่ที่มีการใช้งาน (**NDP proxy**) เท่านั้น | บริการจะตั้งค่า `net.ipv6.conf.<if>.accept_ra=2`, `forwarding=1` และ `proxy_ndp=1` เฉพาะบนอินเทอร์เฟซนั้น จดจำค่าเก่าไว้, กู้คืนค่าเดิมเมื่อหยุดทำงาน และบล็อกการส่งต่อที่อยู่ของพูล เพื่อไม่ให้โหนดกลายเป็นเราเตอร์สำหรับพูลดังกล่าว |

วิธีที่การตรวจสอบทำงาน: โหนดจะพยายามเชื่อมต่อ TCP ไปยังที่อยู่ IPv6 สาธารณะ (พอร์ต 443) จากที่อยู่แบบสุ่มของ prefix ที่เป็นผู้ท้าชิง ภายในเวลา 6วินาที ผู้ท้าชิงคือที่อยู่สากลบนอินเทอร์เฟซที่มี prefix ขนาด /64 หรือสั้นกว่า บวกกับเส้นทางประเภท `local`, `unreachable` หรือ `blackhole` ระหว่าง /16 และ /64 Prefix ที่สั้นกว่า /64 จะได้รับการยอมรับว่าเป็น **routed** หาก /64 แบบสุ่มภายในนั้นทำงานได้

::: warning ห้ามใช้ prefix เดิมซ้ำ
Prefix ต้องไม่ทับซ้อนกับ prefix ของโหนดอื่น และต้องไม่กว้างไปกว่า prefix ที่เป็นของพูล IPv6 ของแผงควบคุมเองอยู่แล้ว อนุญาตให้ใช้ /64 **ภายใน**พูลของแผงควบคุมได้ การทับซ้อนจะถูกรายงานว่าเป็น "assign range … (node …)" ในผลลัพธ์การติดตั้ง และ prefix นั้นจะถูกข้ามไป
:::

ข้อจำกัดที่โหนดบังคับใช้ด้วยตนเอง: ลูกค้าไม่สามารถส่งเมล (พอร์ต 25, 465, 587, 2525) จากที่อยู่ของพูลได้ และทราฟฟิก IPv4 ของแดมอนเองจะถูกจำกัดไว้เฉพาะการตอบกลับ รวมถึงการเชื่อมต่อกับแผงควบคุมและ DNS เท่านั้น

## เชื่อมต่อใน NexCMP {#connect-in-nexcmp}

### โหนด VPN {#vpn-node-2}

1. ไปที่ **System › Admin › License & updates** แล้วเปิดสวิตช์ **VPN** ดูรายละเอียดเพิ่มเติมที่ [Modules](https://nexcmp.com/th/docs/infrastructure/modules/)

      ![การ์ดโมดูลที่มีสวิตช์ VPN และ IPv6 Proxy](https://nexcmp.com/th/docs/images/infrastructure/vpn-proxy-nodes-01-modules.webp)

2. เปิด **Infrastructure › VPN & Proxy nodes › Agents & external nodes** คุณสามารถเพิ่มโหนดได้ 2 วิธี

   **a. ติดตั้งผ่าน SSH** คลิก **+ Add server (SSH)** แล้วกรอกข้อมูลดังนี้:

   | ฟิลด์ | ค่าตัวอย่าง |
   |---|---|
   | แอดเดรส IPv4 ของเซิร์ฟเวอร์ | `192.0.2.50` |
   | พอร์ต SSH | `22` |
   | ผู้ใช้ SSH | `root` |
   | รหัสผ่าน SSH | `XXXX` |
   | ชื่อที่แสดง | `node-ny-1` (เว้นว่าง: ตั้งชื่อตาม IP) |
   | บทบาทของเซิร์ฟเวอร์ | External VPN / Proxy Node |
   | การกำหนดโซน | อัตโนมัติด้วย GeoIP (สร้าง/กำหนดโซน) หรือเลือกโซนที่มีอยู่แล้ว |
   | ซับเน็ตเพิ่มเติม (ไม่บังคับ) | เว้นว่างเพื่อสแกนอินเทอร์เฟซโดยอัตโนมัติ หรือระบุบล็อกที่มีการ rout เช่น `203.0.113.0/24` |
   | เปิดใช้งานเพื่อขายหลังติดตั้ง | เปิดเพื่อทำเครื่องหมายว่าที่อยู่ทั้งหมดที่ตรวจพบสามารถขายได้ |

   คลิก **Connect & install** แผงควบคุมจะเชื่อมต่อผ่าน SSH, รันโปรแกรมติดตั้งแบบบรรทัดเดียวบนโหนดด้วยตั๋วใช้ครั้งเดียว และแสดงชื่อโหนด, ตำแหน่ง GeoIP รวมถึงช่วงที่อยู่ IP ที่ตรวจพบ

      ![หน้าต่างเพิ่มโหนดผ่าน SSH พร้อมตัวอย่างที่อยู่เซิร์ฟเวอร์และบทบาท](https://nexcmp.com/th/docs/images/infrastructure/vpn-proxy-nodes-02-add-server-ssh.webp)

   **b. ติดตั้งด้วยตนเอง** คลิก **Generate manual install token** คำสั่งจะปรากฏเพียง**ครั้งเดียว** ให้คัดลอกและนำไปรันบนโหนด:

   ```bash
   curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --token XXXX --name node-ny-1
   ```

   การติดตั้งด้วยโทเค็นจะเป็นการลงทะเบียนเครื่องสำหรับการมอนิเตอร์เท่านั้น: เพื่อความปลอดภัย panel จะไม่อนุญาตให้เครื่องที่ถือโทเค็นที่แชร์กันกำหนดบทบาท VPN ให้กับตัวเอง (การเพิ่ม `--roles vpn` ในคำสั่งจะไม่มีผลใดๆ) หลังจากที่เครื่องปรากฏในรายการแล้ว ให้เปิดเครื่องนั้นและเพิ่มบทบาท **VPN** ด้วยตนเอง ส่วนการติดตั้งผ่าน SSH (ตัวเลือก a) จะกำหนดบทบาท VPN ให้กับโหนดตั้งแต่เริ่มต้น โทเค็นใหม่จะยกเลิกโทเค็นเดิม แต่โฮสต์ที่ลงทะเบียนแล้วจะยังคงทำงานต่อไปเนื่องจากใช้คีย์ของตนเอง

      ![หน้าต่างคำสั่งติดตั้งที่แสดงคำสั่งโทเค็นแบบใช้ครั้งเดียว](https://nexcmp.com/th/docs/images/infrastructure/vpn-proxy-nodes-03-install-command.webp)

   สิ่งที่โปรแกรมติดตั้งทำ: ดาวน์โหลด `cmp-agent-linux-amd64` จากแผงควบคุมของคุณ, **ตรวจสอบ SHA-256**, ติดตั้งไปยัง `/usr/local/bin/cmp-agent`, ลงทะเบียนด้วยโทเค็น, เขียนไฟล์ `/etc/cmp-agent/agent.json` และเริ่มบริการ systemd `cmp-agent` หากต้องการลบออก: `curl -fsSL https://cloud.example.com/install.sh | sudo sh -s -- --uninstall`

3. หลังจากฮาร์ทบีทแรก โหนดจะปรากฏในรายการ ประเทศของโหนดจะถูกตรวจหาโดย GeoIP (ค้นหาจากตัวโหนดเองก่อน แล้วจึงตามด้วยฐานข้อมูลของแผงควบคุม) **zone** สำหรับประเทศนั้นจะถูกสร้างและตั้งค่าเป็นสาธารณะหากยังไม่มีอยู่ และที่อยู่ที่พบบนโฮสต์จะกลายเป็นช่วงของพูล
4. เปิด **Infrastructure › VPN & Proxy nodes › VPN IP pools** เพื่อดูช่วง IP, โซน และโหนดของช่วงเหล่านั้น รวมถึงเปลี่ยนโซน, โหนด หรือสวิตช์ **Sellable** ของแต่ละช่วง โดย **Enable range** จะอนุญาตให้คำสั่งซื้อใหม่ใช้ IP ที่ว่างได้ ส่วน **Disable range** จะหยุดเฉพาะการจัดสรรใหม่เท่านั้น IP ที่เช่าอยู่จะยังคงทำงานต่อไป

      ![VPN IP pools พร้อมช่วง IP ที่รายงานโดยโหนด](https://nexcmp.com/th/docs/images/infrastructure/vpn-proxy-nodes-04-vpn-pool.webp)

5. เปิด **Services › VPN** กำหนดรายการราคาและเปิดการขาย สวิตช์ **Sell VPN** ใน **Subscriptions** เป็นสวิตช์เดียวกันกับโมดูล VPN ใน License & updates
6. **ไม่บังคับ: เปลี่ยนชื่อบริการ** ใน **Settings › Branding** ตัวเลือก **VPN service display name** จะเปลี่ยนชื่อที่แสดงของบริการ VPN ในเมนูลูกค้า หน้าสั่งซื้อ หน้ารายละเอียด และรายการ deploy (เช่น `IPv4 Proxy`, `Datacenter Proxy` หรือ `Static Residential Proxy` สูงสุด 40 ตัวอักษร หากเว้นว่างไว้จะใช้ `VPN`) ซึ่งจะเปลี่ยนเฉพาะป้ายข้อความเท่านั้น โดย routes, ข้อมูล และ API จะไม่เปลี่ยนแปลง

### โหนดพร็อกซี IPv6 {#ipv6-proxy-node-2}

1. ที่ **System › Admin › License & updates** ให้เปิดสวิตช์ **IPv6 Proxy**
2. เปิด **Infrastructure › VPN & Proxy nodes › IPv6 Proxy nodes** แล้วคลิก **Add node (SSH)** กรอกที่อยู่ IPv4, พอร์ต SSH, ผู้ใช้, รหัสผ่าน, ชื่อ (ระบุหรือไม่ก็ได้) และ **Reason** (จะบันทึกลงใน audit log) ของโหนด จากนั้นคลิก **Install**

      ![ไดอะล็อกเพิ่มโหนด IPv6 พร้อมตัวอย่างที่อยู่และเหตุผล](https://nexcmp.com/th/docs/images/infrastructure/vpn-proxy-nodes-05-proxy6-add-node.webp)

3. จากนั้นระบบจะทำตามลำดับดังนี้: ตรวจสอบเครื่องและพอร์ต, คัดลอก daemon, สคริปต์เครือข่าย, หน่วยบริการ และไฟล์สภาพแวดล้อมเฉพาะโหนด (โทเค็นโหนดและคีย์ลงนามรหัสผ่าน), รันการ **probe** เพื่อหา prefix ที่ใช้งานได้, บันทึก prefix ลงในพูล, เริ่มต้นบริการ และรอสูงสุด 90 秒สำหรับรายงานแรก **Install log** จะแสดงแต่ละขั้นตอน
4. โหนดใหม่จะสร้างโซนในสถานะ **off** (จาก GeoIP ของ IPv4 ของโหนด) เปิดใช้งานโซนได้ที่ **Infrastructure › Datacenter › Zone** เพื่อให้ลูกค้าเลือกใช้งานได้
5. กำหนด **Mbps cap** รวมต่อโหนด (10 ถึง 100000 ต่อทิศทาง) ที่ **Services › IPv6 Proxy** กำหนดรายการราคาและเปิดการขาย
6. ตรวจสอบ **IPv6 Proxy › Settings › Panel URL for nodes** โหนดจะเรียกที่อยู่นี้ (`https://host` โดยไม่มี path) เพื่อดึงการกำหนดค่าและส่งรายงาน หากเว้นว่างไว้จะหมายถึง `https://<your license domain>` โดยจะต้องเป็นโฮสต์ที่มีที่อยู่ชี้ตรงไปยัง panel เพื่อให้ IPv4 ของตัวโหนดเองเชื่อมต่อไปถึงได้โดยไม่เปลี่ยนแปลง

::: tip กำหนดการหมุนเวียน
ลูกค้าสามารถกำหนดช่วงเวลาการหมุนเวียนอัตโนมัติได้ตั้งแต่ 30 ถึง 600 วินาที ใน NexCMP ตัว panel จะทำงานตามกำหนดการดังกล่าว (รวมถึงการล้าง connection log ทุกชั่วโมง) และโหนดจะได้รับที่อยู่ใหม่ภายในเวลาประมาณ 5 วินาที
:::

### วิธีการรายงานของโหนด {#how-a-node-reports}

| | โหนด VPN (`cmp-agent`) | โหนดพร็อกซี IPv6 |
|---|---|---|
| การลงทะเบียน | ทิกเก็ตหรือโทเค็นแบบใช้ครั้งเดียวผ่าน HTTPS จากนั้นใช้คีย์ของตนเอง | การติดตั้งผ่าน SSH แบบครั้งเดียว จากนั้นใช้โทเค็นโหนด |
| ฮาร์ทบีท | ทุก **5 seconds** (10 วินาทีสำหรับเอเจนต์ประเภทตรวจสอบอย่างเดียว); แผงควบคุมสามารถตั้งค่าได้ 3 ถึง 300 วินาที หลังเกิดข้อผิดพลาด ระบบจะเว้นระยะเพิ่มขึ้นทีละ 5 วินาที สูงสุด 60 วินาที | โหนดจะส่งรายงานประมาณทุกๆ 60 วินาทีและดึงค่ากำหนด |
| แสดงสถานะว่าออนไลน์ | มีการส่งฮาร์ทบีทภายใน **60 seconds** ล่าสุด | **alive** ภายใน **120 seconds** ล่าสุด มิฉะนั้นจะแสดง **missed heartbeat** |
| การเปลี่ยนแปลงค่ากำหนด | นำไปใช้ในการส่งฮาร์ทบีทครั้งถัดไป | นำไปใช้ภายในเวลาประมาณ 5 วินาที |
| การอัปเดต | แผงควบคุมสามารถส่งคำสั่ง `upgrade` พร้อมระบุเวอร์ชันใหม่, URL และ SHA-256 | ติดตั้งใหม่จากแถวของโหนด |

### ปริมาณการรับส่งข้อมูลบนโหนด VPN {#data-allowance-on-a-vpn-node}

ตั้งแต่ NexCMP **1.5.1** เป็นต้นไป VPN node agent จะส่งปริมาณทราฟฟิกที่มีการใช้งานไปพร้อมกับทุก heartbeat และแผงควบคุมจะนำไปบวกเพิ่มในการใช้งานของแพ็กเกจสำหรับรอบปัจจุบัน ตัวเลขเดียวกันนี้จะแสดงให้ลูกค้าเห็น (แท็บ Overview และ Bandwidth) รวมถึงแสดงให้คุณเห็น (VPN › Subscriptions, คอลัมน์ Used และแถวของโหนด)

- **การตัดการเชื่อมต่อ** เมื่อแพ็กเกจใช้ GB ครบตามกำหนดสำหรับรอบนั้นแล้ว panel จะหยุดส่ง endpoint ของแพ็กเกจดังกล่าวไปยัง agent ทำให้การเชื่อมต่อใหม่ถูกปฏิเสธและการเชื่อมต่อที่เปิดอยู่ถูกปิดลง การตัดการเชื่อมต่อจะเกิดขึ้นภายในหนึ่ง heartbeat ดังนั้นแพ็กเกจจึงอาจทำงานเกินขีดจำกัดไปได้เล็กน้อย ส่วนแพ็กเกจที่มีระดับ Unlimited จะไม่มีการตัดการเชื่อมต่อเด็ดขาด
- **เปิดให้บริการอีกครั้ง** แพ็กเกจจะกลับมาให้บริการอีกครั้งภายในหนึ่ง heartbeat หลังจากที่ลูกค้าซื้อแบนด์วิธเพิ่ม หรือเมื่อเริ่มต้นรอบการใช้งานถัดไป
- **Not measured** โหนดที่เอเจนต์ยังไม่ได้ส่งข้อมูลการใช้งาน (เช่น เอเจนต์รุ่นเก่า) จะแสดงเป็น **Not measured** และแพ็กเกจจะไม่ถูกระงับการใช้งานเนื่องจากปริมาณ GB
- **อัปเดต agent** ใช้ agent เวอร์ชัน **1.5.1** บนโหนด แม้ agent เวอร์ชันเก่าจะยังคงนับปริมาณข้อมูลได้ แต่ข้อมูลไบต์อาจสูญหายได้ในกรณีที่ heartbeat ล้มเหลว มี endpoint หยุดทำงาน หรือมีการรีสตาร์ต และจะไม่ปิดการเชื่อมต่อที่ค้างอยู่เมื่อแพ็กเกจถูกตัด อัปเดตได้จากแถวของโหนด (Reinstall) หรือใช้คำสั่ง `upgrade`
- การนับปริมาณข้อมูลจะนับจาก payload ที่ส่งผ่านพร็อกซี จึงมีค่าน้อยกว่าไบต์ที่ส่งจริงบนเครือข่ายเล็กน้อย (ประมาณ 1 %)

### ส่วนเสริม VPN ที่ยกเลิกแล้ว {#retired-vpn-add-ons}

High IP Reputation, High Concurrency และ High Priority Network จะไม่มีให้เลือกสำหรับคำสั่งซื้อใหม่อีกต่อไป การสมัครสมาชิกที่มีอยู่จะยังคงรักษาส่วนเสริมที่เลือกไว้ แต่ยอดต่ออายุจะถูกหักค่าธรรมเนียมของรายการที่ยกเลิกออก ไม่มีการคืนเงินสำหรับรอบที่ชำระไปแล้ว การปรับเปลี่ยนจะใช้ราคาปัจจุบันในแค็ตตาล็อกของส่วนเสริม หากคุณเปลี่ยนราคานั้นหรือลบส่วนเสริมออก ให้ตรวจสอบยอดต่ออายุของการสมัครสมาชิกก่อนถึงกำหนดต่ออายุครั้งถัดไป

## ตรวจสอบ {#verify}

1. แถวของโหนดแสดงสถานะออนไลน์ สำหรับโหนด VPN หัวข้อ **Agents & external nodes** จะแสดงโซน ประเทศ บทบาท และช่วงไอพีที่ตรวจพบ
2. **VPN IP pools** จะแสดงช่วงไอพีที่มีไอพีว่างอยู่ และหน้า detal ของโซนจะแสดงโครงสร้างพื้นฐาน VPN
3. สั่งซื้อแพ็กเกจทดสอบ VPN หรือพร็อกซี่ ลูกค้าจะได้รับเอนด์พอยต์ `ip:port`, ชื่อผู้ใช้ และรหัสผ่าน เชื่อมต่อผ่านข้อมูลดังกล่าวและตรวจสอบว่า Public IP ที่มองเห็นตรงกับ IP ของโหนด (เช่น `curl --proxy socks5h://USER:XXXX@IP:PORT https://ifconfig.me`)
4. บนโหนด IPv6 ให้รันคำสั่งนี้บนโฮสต์:

   ```bash
   systemctl is-active <node service>
   nft list tables | grep proxy6
   ss -ltn | grep -E ':(80|443|6[0-9]{4})\b'
   ```

## ข้อจำกัดและหมายเหตุ {#limits-and-notes}

- โฮสต์ Windows สามารถรันเอเจนต์สำหรับตรวจสอบได้ แต่ไม่สามารถใช้บทบาท VPN ได้
- โควตาปริมาณข้อมูล (GB ต่อรอบบิล) ของแพ็กเกจ VPN: ตั้งแต่ NexCMP 1.5.1 เป็นต้นมา แผงควบคุมจะรวมปริมาณข้อมูลที่รายงานโดย VPN node agent และตัดการทำงานของพร็อกซีในแพ็กเกจเมื่อใช้ GB ของรอบนั้นหมดแล้ว (ดูหัวข้อ "Data allowance on a VPN node" ด้านล่าง) ทั้งนี้แพ็กเกจ IPv6 Proxy จะไม่มีโควตา GB แต่จะจำกัดความเร็วเป็น Mbps ต่อแพ็กเกจ
- ที่อยู่ IPv4 ของแพ็กเกจ VPN จะไม่มีการสลับเปลี่ยน (rotate) เมื่อลูกค้าแจ้งว่า IP ติดแบล็กลิสต์ คุณหรือตัวแทนจำหน่ายสามารถอนุมัติการเปลี่ยน IP จากโซนเดียวกันได้ โดยมีเพียง IPv6 Proxy เท่านั้นที่มีการ rotate
- รายงานช่วงไอพีสูงสุด 64 ช่วงต่อฮาร์ทบีทหนึ่งครั้ง
- ชุดพอร์ต VPN ใช้สามพอร์ตต่อหนึ่ง IP ที่ขาย ด้วยพอร์ต 65001-65535 แต่ละ IP จะให้บริการเอ็นด์พอยต์ได้จำกัด (178 ชุดพอร์ต); พาเนลจะข้ามชุดพอร์ตที่เคยถูกใช้งานไปแล้ว
- การลบโหนดพร็อกซี IPv6 จะทำได้ต่อเมื่อไม่มีแพ็กเกจใดถือ IP อยู่บนโหนดนั้น การกระทำนี้จะลบช่วงไอพีและโทเค็นของโหนดออก แต่ซอฟต์แวร์บนโฮสต์จะไม่ถูกถอนการติดตั้ง
- การรีเซลช่วงไอพีที่มี VM ของคุณเองอยู่ด้วยนั้นสามารถทำได้: VPN ใช้เฉพาะพอร์ต 65001-65535 เท่านั้น จึงใช้งาน IP ร่วมกับบริการอื่นได้

## การแก้ Problme {#troubleshooting}

| อาการ | สาเหตุ | วิธีแก้ปัญหา |
|---|---|---|
| "การลงทะเบียนล้มเหลว (โทเค็นไม่ถูกต้องหรือเข้าถึงเซิร์ฟเวอร์ไม่ได้)" | โทเค็นไม่ถูกต้องหรือถูกใช้งานไปแล้ว หรือไม่สามารถติดต่อพาเนลได้ | สร้างโทเค็นใหม่ หรือลองติดตั้งผ่าน SSH อีกครั้ง |
| "ลายเซ็นต์ไฟล์ไม่ตรงกัน - หยุดการทำงาน" | ตัวแทนที่ดาวน์โหลดมาไม่ตรงกับค่า SHA-256 ที่เผยแพร่ | ตรวจสอบโฟลเดอร์ `/dl/` ของพาเนล และตรวจสอบว่าไม่มีการเขียนทับไฟล์ดาวน์โหลดระหว่างทาง |
| "ตัวติดตั้งนี้สำหรับ Linux เท่านั้น" / "ยังไม่รองรับสถาปัตยกรรม …" | Windows หรือสถาปัตยกรรมอื่นที่ไม่ใช่ x86_64 (รุ่นที่เผยแพร่มี agent สำหรับ x86_64 เท่านั้น) | ใช้โฮสต์ Linux แบบ x86_64 |
| ไม่ปรากฏโหนด | โหนดไม่สามารถติดต่อกับพาเนลผ่าน HTTPS ได้ | ทดสอบ `curl https://<domain>/install.sh` จากโหนด; ตรวจสอบ DNS และไฟร์วอลล์ |
| โหนดปรากฏขึ้นพร้อมกับประเทศที่ไม่ถูกต้อง | การค้นหาประเทศล้มเหลว ระบบจึงใช้ฐานข้อมูลที่อยู่ของพาเนลแทน | อนุญาตการเข้าถึงขาออกไปยัง `ip-api.com` และ `ipinfo.io` หรือเลือกโซนอย่างชัดเจนในฟอร์ม SSH |
| ไม่พบช่วงไอพี | ไม่มี IPv4 สาธารณะบนอินเทอร์เฟซที่ไม่ใช่เสมือน | เพิ่มแอดเดรสสาธารณะ หรือป้อนบล็อกที่เส้นทางเราต์เป็น **Extra subnet** |
| VPN ทำงานปกติ แต่ทราฟฟิกออกทาง IP อื่น | IP ที่ขายไม่ได้ถูกกำหนดหรือเราต์ไปยังโฮสต์ | ตรวจสอบให้แน่ใจว่า IP อยู่บนอินเทอร์เฟซหรือครอบคลุมโดย `local … dev lo` |
| "เซิร์ฟเวอร์ panel ไม่มี sshpass" | โฮสต์ของแผงควบคุมไม่สามารถเข้าสู่ระบบโหนดด้วยรหัสผ่านได้ | รัน `sudo apt-get install -y sshpass openssh-client` บนเซิร์ฟเวอร์แผงควบคุม แล้วติดตั้งโหนดใหม่อีกครั้ง |
| ขึ้นข้อความ "not found in the installed package" ขณะติดตั้งโหนด IPv6 | แผงควบคุมเป็นเวอร์ชันเก่ากว่า 1.4.2 หรือเป็นบิลด์แบบกำหนดเองที่ไม่มีไฟล์ของโหนด | อัปเดต NexCMP เป็นเวอร์ชัน 1.4.2 หรือใหม่กว่า สำหรับบิลด์แบบกำหนดเองให้ใช้ `build.sh` ซึ่งปัจจุบันจะแพ็ก `brandy-proxy6d` และ `brandy-proxy6-net` มาด้วย |
| "SSH: …" ที่จุดเริ่มต้นของการติดตั้ง IPv6 หรือ "SSH to internal/loopback addresses is not allowed" | พอร์ต ผู้ใช้ หรือรหัสผ่านไม่ถูกต้อง, SSH ถูกบล็อก หรือแอดเดรสเป็นแบบส่วนตัว | ใช้ IPv4 สาธารณะของโหนดและตรวจสอบการเข้าถึงด้วยตนเองโดยใช้ `ssh -p PORT USER@IP` |
| "ไม่รองรับสถาปัตยกรรม … (รองรับเฉพาะ x86_64 เท่านั้น)" | โหนดไม่ใช่สถาปัตยกรรม x86_64 | ใช้โฮสต์ x86_64 |
| "โหนดขาดคำสั่ง: …" | ยังไม่ได้ติดตั้ง `nft`, `ip`, `ss`, `sysctl`, `systemctl` หรือ `useradd` | ติดตั้งแพ็กเกจเหล่านี้ แล้วรันการติดตั้งใหม่อีกครั้ง |
| "พอร์ตถูกใช้งานโดยบริการอื่นบนโหนด: … — 80, 443, 60001-65535 ต้องว่าง" | พอร์ต 80, 443 หรือพอร์ตที่สูงกว่า 60000 กำลังถูกใช้งานอยู่ | ย้ายบริการอื่นออกไป ตัวติดตั้งจะไม่หยุดบริการนั้นโดยอัตโนมัติ |
| "ไม่พบคำนำหน้า IPv6 ที่เข้าถึงอินเทอร์เน็ตได้จากโหนด (การตรวจสอบการออกสู่ภายนอกจริงล้มเหลว)" | ไม่มีพรีฟิกซ์ที่ผ่านการเราต์, ไม่สามารถใช้ NDP proxy ได้, หรือไม่มี IPv6 ขาออก | ตรวจสอบว่าพรีฟิกซ์ถูกเราต์ไปยังโหนดแล้ว, อินเทอร์เฟซมี connectivity ของ IPv6, และไม่มีการกรองทราฟฟิกขาออก |
| "ช่วงที่ตรวจพบทั้งหมดเป็นของโหนดอื่นอยู่แล้ว" | พรีฟิกซ์นี้ถูกใช้งานโดยโหนดอื่นแล้ว | ลบออกจากโหนดอื่นหรือเลือกพรีฟิกซ์อื่น |
| การติดตั้งสิ้นสุดลงด้วยข้อความ "no initial report received from node" | บริการเริ่มทำงานแล้วแต่ไม่สามารถเชื่อมต่อไปยังพาเนลได้ภายใน 90 วินาที | ตรวจสอบ URL ของพาเนลที่ระบุให้โหนดและเส้นทาง HTTPS ของโหนดไปยังพาเนล ดูเพิ่มเติมที่ **Install log** |
| แถวโหนดแสดงสถานะ **missed heartbeat** | ไม่มีรายงานเข้ามาเป็นเวลา 120 วินาที | ตรวจสอบบริการบนโหนด นาฬิกา และเส้นทางที่เชื่อมต่อไปยังพาเนล |
| ลูกค้าไม่เห็นตำแหน่ง IPv6 | โซนถูกปิดใช้งานอยู่ | เปิดใช้งานโซนได้ที่ **Zone** |
