FiveM Port Forwarding คืออะไร และตั้งอย่างไร? เปิด Server ให้คนภายนอกเข้าได้
FiveM Port Forwarding คือการตั้งค่า Router/NAT ให้ส่ง Connection ที่เข้ามาจากอินเทอร์เน็ตไปยังเครื่องที่เปิด FiveM Server อยู่ภายในวง LAN
กรณีใช้ FiveM Server ในบ้าน โครงสร้างมักเป็น
Internet
↓
Public IP
↓
Router
↓
Port Forwarding
↓
192.168.1.100:30120
↓
FXServer
ถ้า Server ใช้ Game Port มาตรฐาน 30120 และอยู่หลัง Router คุณมักต้อง Forward ทั้ง TCP และ UDP ให้มาถึง Local IP ของเครื่อง FXServer
ตัวอย่างแนวคิด
TCP 30120 → 192.168.1.100:30120
UDP 30120 → 192.168.1.100:30120
แต่ถ้าใช้ VPS ที่มี Public IP อยู่บน Server โดยตรง โดยทั่วไปจะไม่ได้ทำ Port Forwarding แบบ Router บ้าน แต่ต้องตรวจ Firewall ของ VPS และ Cloud Provider แทน
① Port Forwarding คืออะไร
Port Forwarding คือกฎใน Router ที่บอกว่า
ถ้ามี Connection จาก Internet
เข้ามาที่ Port 30120
↓
ให้ส่งไปยังเครื่อง
192.168.1.100:30120
เครื่อง 192.168.1.100 ในตัวอย่างคือ FiveM Server ภายในบ้าน
② ทำไม FiveM Server ที่บ้านต้องใช้ Port Forwarding
เครื่องในบ้านมักใช้ Private IP เช่น
192.168.1.100
192.168.0.50
10.0.0.20
IP เหล่านี้ไม่สามารถถูกเรียกจากอินเทอร์เน็ตโดยตรงได้
Router จึงต้องรับ Connection ที่ Public IP แล้ว Forward เข้าเครื่อง FiveM Server
③ FiveM ใช้ Port อะไร
ตัวอย่าง Vanilla Configuration ของ Cfx.re ใช้
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
ดังนั้น Configuration ทั่วไปคือ
TCP 30120
UDP 30120
④ ต้อง Forward ทั้ง TCP และ UDP ไหม
สำหรับ Configuration มาตรฐานควร Forward ทั้ง
TCP 30120
UDP 30120
เพราะ FXServer สร้างทั้ง TCP และ UDP Endpoint
ถ้า Router มีตัวเลือก
TCP/UDP
BOTH
ALL
สามารถใช้โหมดที่ครอบคลุมทั้งสอง Protocol ได้ถ้า Router รองรับอย่างถูกต้อง
⑤ ก่อนตั้ง Port Forwarding ต้องรู้อะไร
เตรียมข้อมูล 4 อย่าง
1. Local IP ของ FiveM Server
2. Game Port
3. Protocol
4. Public/WAN Network ของ Router
ตัวอย่าง
Server Local IP = 192.168.1.100
Game Port = 30120
Protocol = TCP + UDP
⑥ วิธีหา Local IP บน Windows
เปิด Command Prompt
แล้วใช้
ipconfig
มองหา
IPv4 Address
ตัวอย่าง
IPv4 Address . . . . . : 192.168.1.100
นี่คือ IP ที่ Router ต้อง Forward Traffic ไปหา
⑦ Default Gateway คืออะไร
ใน ipconfig จะพบ
Default Gateway
ตัวอย่าง
192.168.1.1
นี่มักเป็น IP สำหรับเข้า Router Management
เช่นเปิด Browser แล้วเข้า Router ตาม Address ที่ผู้ผลิตกำหนด
⑧ อย่าสับสน Local IP กับ Public IP
ตัวอย่าง
192.168.1.100
คือ Private/Local IP
ส่วน Public IP คือ Address ที่เครือข่ายภายนอกใช้ติดต่อ Internet Connection ของคุณ
สองค่ามักไม่เหมือนกันเมื่ออยู่หลัง Router
⑨ Local IP ของ Server ควรคงที่
ควร
ถ้าวันนี้ FiveM Server ได้
192.168.1.100
แต่วันหลัง DHCP เปลี่ยนเป็น
192.168.1.105
Port Forward เดิมจะยังส่งไป 192.168.1.100
ผู้เล่นจึงเข้าไม่ได้
⑩ วิธีทำให้ Local IP ไม่เปลี่ยน
วิธีที่เหมาะคือใช้
DHCP Reservation
ใน Router
หรือกำหนด Static IP อย่างถูกต้องตาม Network
ตัวอย่าง
FiveM Server
→ 192.168.1.100
ถูก Reserve ให้เครื่องเดิมเสมอ
⑪ เข้าเมนู Port Forwarding ที่ไหน
ชื่อเมนูแตกต่างกันตาม Router
อาจพบว่า
Port Forwarding
Virtual Server
NAT
NAT Forwarding
Port Mapping
Applications & Gaming
ชื่อไม่เหมือนกันแต่แนวคิดเดียวกัน
⑫ ตัวอย่าง Rule ที่ควรตั้ง
สมมุติ FiveM Server เป็น
192.168.1.100
ใช้ Port
30120
ตั้ง Rule แนวคิดเป็น
Name: FiveM
External Port: 30120
Internal IP: 192.168.1.100
Internal Port: 30120
Protocol: TCP/UDP
Enabled: Yes
⑬ External Port คืออะไร
External Port คือ Port ที่ Internet ติดต่อเข้ามา
ตัวอย่าง
PUBLIC_IP:30120
ดังนั้น External Port คือ
30120
⑭ Internal Port คืออะไร
Internal Port คือ Port ที่ Service ภายในกำลัง Listen
ถ้า server.cfg เป็น
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
Internal Port ก็ควรเป็น
30120
สำหรับ Setup ปกติ
⑮ External กับ Internal Port ต้องเหมือนกันไหม
ไม่จำเป็นในระบบ NAT ขั้นสูง
ตัวอย่างเชิงเครือข่ายสามารถทำ
External 30200
→ Internal 30120
ได้ใน Router บางรุ่น
แต่สำหรับมือใหม่ควรใช้ Port เดียวกัน
30120 → 30120
เพื่อลดความสับสน
⑯ ถ้าเปลี่ยน FiveM เป็น Port 30121
ถ้า server.cfg เป็น
endpoint_add_tcp "0.0.0.0:30121"
endpoint_add_udp "0.0.0.0:30121"
Port Forwarding ก็ต้องเปลี่ยนเป็น
TCP 30121
UDP 30121
→ FiveM Server
ทุก Layer ต้องใช้ Port ให้สัมพันธ์กัน
⑰ Windows Firewall ต้องเปิดด้วยไหม
ต้องตรวจ
Port Forwarding ที่ Router อย่างเดียวไม่สามารถข้าม Windows Firewall ที่ Block Traffic ได้
โครงสร้างคือ
Internet
↓
Router Forward
↓
Windows Firewall
↓
FXServer
ถ้า Windows Firewall Block อยู่ Connection ก็ยังเข้าไม่ได้
⑱ ตัวอย่างเปิด TCP 30120 บน Windows
PowerShell แบบ Administrator
New-NetFirewallRule -DisplayName "FiveM TCP 30120" -Direction Inbound -Protocol TCP -LocalPort 30120 -Action Allow
⑲ ตัวอย่างเปิด UDP 30120
New-NetFirewallRule -DisplayName "FiveM UDP 30120" -Direction Inbound -Protocol UDP -LocalPort 30120 -Action Allow
ไม่ควรปิด Windows Firewall ทั้งหมดเพียงเพื่อแก้ FiveM
⑳ เช็กว่า FXServer Listen ที่ 30120 หรือไม่
Windows ใช้
netstat -ano | findstr :30120
ถ้า Server ไม่ได้เปิด Endpoint เลย การทำ Port Forwarding ก็ไม่มี Service รอรับ Connection
ต้องแก้ FXServer ก่อน
㉑ ทดสอบ localhost ก่อน
บนเครื่อง FiveM Server ลอง
http://127.0.0.1:30120/info.json
ถ้าตอบกลับ JSON แสดงว่า Connect Endpoint ของ Server ทำงานในเครื่องระดับหนึ่ง
㉒ จากนั้นทดสอบ Local IP
จากคอมอีกเครื่องในบ้านลอง
http://192.168.1.100:30120/info.json
เปลี่ยน IP ให้ตรงกับ Server จริง
ถ้า localhost ผ่านแต่ LAN ไม่ผ่าน ให้ตรวจ Firewall และ Network Interface
㉓ จากนั้นจึงทดสอบ Public IP
เมื่อ LAN ผ่านแล้ว ให้ใช้ Network ภายนอกทดสอบ
http://PUBLIC_IP:30120/info.json
ควรทดสอบจากเครือข่ายที่ไม่ได้อยู่หลัง Router ตัวเดียวกัน เช่น Mobile Data
㉔ ทำไมไม่ควรทดสอบ Public IP จาก Wi-Fi บ้านอย่างเดียว
Router บางรุ่นรองรับ NAT Loopback แต่บางรุ่นไม่รองรับ
จึงอาจเกิดกรณี
คนภายนอกเข้าได้
แต่คนในบ้านใช้ Public IP แล้วเข้าไม่ได้
หรือเกิดพฤติกรรมต่างกัน
การทดสอบที่แม่นกว่าคือใช้อินเทอร์เน็ตจากภายนอกจริง
㉕ ทดสอบ Direct Connect อย่างไร
ให้ผู้เล่นที่อยู่นอก Network เปิด FiveM แล้วกด
F8
พิมพ์
connect PUBLIC_IP:30120
ถ้า Server ใช้ Port อื่นก็เปลี่ยนตามจริง
㉖ Cfx.re แนะนำ Direct Connect หรือไม่
ใช่
เมื่อ Server ไม่ขึ้น Server List หรือถูกมองว่าเข้าไม่ได้ Cfx.re แนะนำให้ทดสอบ
connect IP:Port
ก่อน
ถ้า Direct Connect จากภายนอกไม่ได้ ปัญหามักเกี่ยวกับ Network, Port Forwarding หรือ Firewall
㉗ Port Forward แล้วแต่ยังเข้าไม่ได้ทำอย่างไร
ตรวจตามลำดับ
FXServer Running?
↓
Port ถูกใน server.cfg?
↓
Localhost ผ่าน?
↓
LAN ผ่าน?
↓
Windows Firewall เปิด?
↓
Router Forward ถูก IP?
↓
Public IP ถูก?
↓
CGNAT?
↓
Double NAT?
วิธีนี้ช่วยหาจุดเสียได้เร็วกว่าแก้ทุกอย่างพร้อมกัน
㉘ CGNAT คืออะไร
CGNAT หรือ Carrier-Grade NAT คือระบบที่ ISP ให้ลูกค้าหลายรายแชร์ Public IPv4
โครงสร้างอาจเป็น
FiveM Server
↓
Router บ้าน
↓
ISP CGNAT
↓
Internet
จึงมี NAT อีก Layer ที่คุณควบคุมไม่ได้
㉙ CGNAT ทำให้ Port Forwarding ใช้ไม่ได้ไหม
สามารถทำให้ใช้งานไม่ได้สำหรับ Incoming IPv4 แบบปกติ
แม้คุณตั้ง Router
30120 → 192.168.1.100
ถูกต้อง Traffic จาก Internet อาจยังไม่มาถึง Router เพราะติด NAT ของ ISP ก่อน
㉚ วิธีสังเกตว่าอาจติด CGNAT
ตรวจ
WAN IP ใน Router
เทียบกับ Public IP ที่ Internet มองเห็น
ถ้าต่างกัน ให้สงสัยว่ามี NAT อีก Layer
โดยเฉพาะ WAN IP ในช่วง Private หรือ Shared Address Space
㉛ ช่วง IP ที่อาจบ่งบอก CGNAT
ช่วงที่ ISP นิยมใช้สำหรับ Shared Address Space คือ
100.64.0.0/10
หรือ WAN ของ Router อาจเป็น Private Address เช่น
10.x.x.x
172.16.x.x – 172.31.x.x
192.168.x.x
ถ้า WAN เป็นลักษณะนี้ ต้องตรวจ Network ของ ISP เพิ่ม
㉜ ถ้าติด CGNAT แก้อย่างไร
ทางเลือกขึ้นอยู่กับ ISP เช่น
ขอ Public IPv4
ขอ Static IP
เปลี่ยน Package
ใช้ VPS
เปลี่ยน Hosting
ไม่ควรพยายาม Forward Router ซ้ำ ๆ ถ้า Traffic ไม่เคยมาถึง Router อยู่แล้ว
㉝ Double NAT คืออะไร
เกิดเมื่อมี Router/NAT มากกว่าหนึ่งชั้น
ตัวอย่าง
Internet
↓
ISP Router
↓
Router Gaming
↓
FiveM Server
Port Forward ใน Router ตัวล่างอย่างเดียวอาจไม่เพียงพอ
㉞ Double NAT แก้อย่างไร
ขึ้นอยู่กับ Network
แนวทางที่ใช้กัน เช่น
Bridge Mode
Access Point Mode
DMZ ไป Router ชั้นถัดไป
Forward ทั้งสอง Router
แต่ต้องเลือกตามระบบและความปลอดภัย ไม่ควรเปิด DMZ แบบสุ่มโดยไม่เข้าใจผล
㉟ DMZ คือ Port Forwarding หรือไม่
ไม่เหมือนกัน
Port Forwarding เปิดเฉพาะ Port ที่ต้องการ
เช่น
30120 TCP/UDP
ส่วน DMZ ใน Router บ้านจำนวนมากจะ Forward Traffic จำนวนมากไปยัง Host เดียว
ดังนั้น Port Forwarding แบบเจาะจงปลอดภัยกว่าในหลายสถานการณ์
㊱ ไม่ควรเปิดทุก Port
อย่าตั้ง
1-65535
Forward เข้า FiveM Server เพียงเพราะต้องการแก้ปัญหาเร็ว
เปิดเฉพาะ Service ที่จำเป็น
สำหรับ Game Endpoint มาตรฐานเริ่มจาก
30120 TCP
30120 UDP
แล้วเพิ่มเฉพาะสิ่งที่ระบบต้องใช้จริง
㊲ txAdmin 40120 ต้อง Forward ไหม
ถ้าต้องการเข้า txAdmin จาก Internet โดยตรงจึงอาจเกี่ยวข้อง
แต่ ไม่จำเป็นสำหรับผู้เล่น FiveM
และการเปิด Management Panel สู่ Public Internet เพิ่มความเสี่ยงด้าน Security
ถ้าไม่จำเป็น ควรจำกัดการเข้าถึง txAdmin
㊳ อย่า Forward MySQL 3306 ให้ Public โดยไม่จำเป็น
Database Port เช่น
3306
ไม่เกี่ยวกับการให้ Player เข้า FiveM Server
ไม่ควรเปิด Database สู่ Public Internet เพียงเพราะ Script เชื่อมต่อ Database ไม่ได้
จัด Network Database แยกอย่างปลอดภัย
㊴ VPS ต้อง Port Forwarding เหมือนบ้านไหม
โดยทั่วไป VPS ที่มี Public IP บน Interface โดยตรงไม่ต้องใช้ Router Port Forwarding แบบบ้าน
แต่ยังต้องผ่าน
Provider Firewall
Security Group
OS Firewall
ดังนั้นแนวคิดจะเป็น
Internet
↓
Cloud Firewall
↓
OS Firewall
↓
FXServer
㊵ Hosting FiveM ต้องตั้ง Router ไหม
ถ้าเช่า Game Hosting ปกติ Provider จะจัด Network Infrastructure ให้
ผู้ใช้มักเพียงกำหนด Port ที่ Provider จัดสรรให้ใน Control Panel/Configuration
อย่าเปลี่ยน Port เป็น 30120 เองถ้า Hosting กำหนด Port อื่นให้
㊶ Public IP เปลี่ยนได้ไหม
Internet บ้านจำนวนมากใช้ Dynamic Public IP
หลัง Router Reconnect Public IP อาจเปลี่ยน
ถ้าผู้เล่นเข้าแบบ
IP:30120
Address เดิมอาจใช้ไม่ได้
สามารถพิจารณา Domain/DDNS หากเหมาะกับ Environment
㊷ Domain ช่วยเรื่อง Port Forwardingไหม
Domain ช่วยให้จำ Address ง่าย
เช่น
play.example.com
แต่ Domain ไม่ได้เปิด Port Forwarding
Traffic ยังต้องผ่าน
DNS
↓
Public IP
↓
Router
↓
Port Forward
↓
FXServer
㊸ Server ไม่ขึ้น Server List เกี่ยวกับ Port Forwarding ไหม
เกี่ยวโดยตรงได้
เอกสาร Cfx.re ระบุว่าปัญหา Server ไม่ขึ้น Server List มักเกิดจาก Port Forwarding หรือ Firewall Configuration ผิด
จึงควรให้ Direct Connect จากภายนอกผ่านก่อน
㊹ Server List ไม่ขึ้นแต่ Direct Connect ได้
กรณีนี้ Network Endpoint อาจพร้อมแล้วระดับหนึ่ง
ให้ตรวจต่อ
Server Listing Configuration
sv_lan
Artifact
Cfx Connectivity
Server Metadata
ไม่ควรแก้ Port Forwarding ซ้ำถ้า Direct Connect จากภายนอกทำงานดีแล้ว
㊺ Could not contact server browser เกี่ยวไหม
ถ้า Server แจ้งว่าไม่สามารถติดต่อ Server Browser ได้ต่อเนื่อง Cfx.re แนะนำให้ตรวจ Network, Port Forwarding และ Firewall รวมถึง Firewall แบบเข้มงวดที่อาจ Block Infrastructure ของ Cfx
จึงควรดูทั้ง Incoming และ Outgoing Connectivity
㊻ Port Checker บอก Open แต่ FiveM เข้าไม่ได้
Port Checking Service จำนวนมากอาจตรวจ TCP เป็นหลัก
FiveM มีทั้ง TCP และ UDP Endpoint
ดังนั้น
Port Checker = Open
ไม่ได้รับประกันว่า FiveM Game Connection ทั้งหมดผ่าน
ควรทดสอบด้วย FiveM Client จริง
㊼ Port Checker บอก Closed แต่ Server เปิดอยู่
ตรวจว่า
FXServer Running?
Port ถูก?
Firewall เปิด?
Forward ไป IP ถูก?
Public IP ถูก?
CGNAT?
และตรวจด้วยว่า Service ที่ใช้ทดสอบรองรับ Protocol ที่คุณกำลังตรวจหรือไม่
㊽ Checklist Port Forwarding FiveM
ก่อนเปิด Server ให้คนภายนอกเข้า ตรวจ
FXServer Running
server.cfg ถูก
TCP Endpoint ถูก
UDP Endpoint ถูก
Local IP Server ถูก
Local IP ถูก Reserve
Windows/Linux Firewall ถูก
Router Port Forward ถูก
TCP 30120 ถูก
UDP 30120 ถูก
Public IP ถูก
ไม่มี CGNAT ที่ขวาง
ไม่มี Double NAT ที่ยังไม่ได้แก้
localhost info.json ผ่าน
LAN info.json ผ่าน
Public Test ผ่าน
Direct Connect ผ่าน
㊾ วิธี Debug แบบเร็วที่สุด
ใช้ลำดับนี้
① FXServer
↓
② localhost
↓
③ Local IP
↓
④ OS Firewall
↓
⑤ Router Forward
↓
⑥ WAN/Public IP
↓
⑦ CGNAT / Double NAT
↓
⑧ External Direct Connect
ถ้า
localhost ผ่าน
LAN ผ่าน
Internet ไม่ผ่าน
ปัญหาส่วนใหญ่อยู่หลังจากเครื่อง Server ออกไป เช่น Router, NAT, ISP หรือ Public Firewall
㊿ สรุป FiveM Port Forwarding คืออะไร และตั้งอย่างไร
FiveM Port Forwarding คือการส่ง Traffic จาก Public Internet ผ่าน Router ไปยัง Local IP ของเครื่อง FXServer
สำหรับ Server ที่ใช้ Port มาตรฐาน
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
ตัวอย่าง Port Forwarding คือ
TCP 30120
→ 192.168.1.100:30120
UDP 30120
→ 192.168.1.100:30120
ขั้นตอนที่แนะนำคือ
1. หา Local IP ของ FiveM Server
2. Reserve Local IP
3. ตรวจ Port ใน server.cfg
4. เปิด TCP/UDP ใน OS Firewall
5. เข้า Router
6. สร้าง Port Forwarding Rule
7. Forward ไป Local IP ของ FXServer
8. ตรวจ Public IP
9. ตรวจ CGNAT/Double NAT
10. ทดสอบ info.json
11. ทดสอบ Direct Connect จาก Internet ภายนอก
สำหรับ Server ของ comsiam ที่เปิดจากบ้าน จุดที่ควรตรวจเป็นพิเศษคือ CGNAT เพราะต่อให้ Windows Firewall และ Router ตั้งถูกทั้งหมด ถ้า ISP ไม่ให้ Public IPv4 ที่รับ Incoming Connection ได้ ผู้เล่นภายนอกก็ยังเข้าไม่ถึง Server
และไม่ควรแก้ปัญหาด้วยการ Forward ทุก Port หรือเปิด Firewall ทั้งหมด เพราะ FiveM ต้องการเพียง Port/Service ที่เกี่ยวข้องกับ Configuration จริง
แนวทางที่ปลอดภัยกว่าคือเปิดเฉพาะ
FiveM Game Port
TCP + UDP
ตามค่าที่กำหนดไว้ และจำกัด Management Services เช่น txAdmin, SSH, RDP และ Database ให้เข้าถึงเฉพาะที่จำเป็น
เมื่อ info.json สามารถตอบจากเครือข่ายภายนอก และผู้เล่นที่ไม่ได้อยู่ใน Wi-Fi เดียวกับ Server สามารถใช้
connect PUBLIC_IP:30120
เข้า FiveM Server ของ comsiam ได้สำเร็จ จึงถือว่า Port Forwarding และเส้นทาง Network หลักพร้อมสำหรับการใช้งานจริง
Comments
Post a Comment