ข้ามไปยังเนื้อหา

วิธีใช้งาน VPN บน Debian

Debian เน้นความนิ่งและความเรียบง่าย ซึ่งเปลี่ยนวิธีตั้ง VPN เปรียบเทียบเส้นทางแอป NetworkManager และบรรทัดคำสั่ง แล้วจัดการ DNS กับ kill switch เบื้องต้น

อ่าน 10 นาทีอัปเดตเมื่อ 15 ต.ค. 2569โดย XPASS Editorial Team

วิธีใช้งาน VPN บน Debian

Debian มีชื่อเสียงเรื่องความนิ่งและความเรียบง่าย มาพร้อมเรื่องน่าแปลกใจน้อยมาก รันเป็นปีๆ บนเซิร์ฟเวอร์ได้ และอยู่บนเดสก์ท็อป โฮมแล็บ แล็ปท็อปเก่า และเครื่องเสมือน ความเรียบง่ายนี้เองคือเหตุผลที่คำแนะนำ VPN ที่เขียนไว้สำหรับระบบอื่นบางครั้งใช้ไม่ได้ คำสั่งที่ใช้ได้บน Ubuntu อาจไม่มีอยู่ อาจต้องติดตั้งแพ็กเกจเพิ่ม หรืออาจพึ่งบริการที่ Debian ไม่ได้เปิดไว้ตามค่าเริ่มต้น

บทความนี้พูดถึงตัวเลือกเมื่อคุณอยากใช้ VPN บน Debian และวิธีเลือกระหว่างตัวเลือกเหล่านั้น มีสามเส้นทาง คือแอปบนเดสก์ท็อป เมนูเครือข่ายของ NetworkManager และเครื่องมือบรรทัดคำสั่งล้วนๆ จากนั้นจึงพูดถึงประเด็นเฉพาะของ Debian ซึ่งหลักๆ คือ DNS และ kill switch เบื้องต้น หากต้องการพื้นฐานของโปรโตคอลที่อยู่เบื้องหลังเครื่องมือเหล่านี้ อ่าน OpenVPN คืออะไร และสำหรับขั้นตอนทั่วไปดู คู่มือ Linux ลูกค้า XPASS ใช้แอป VPNclient ฟรี และหน้า My Pass จะแสดงสิ่งที่ใช้ได้กับบัญชีของคุณ

Debian ต่างออกไปอย่างไร

มีสามความต่างที่สำคัญก่อนจะแตะซอฟต์แวร์ VPN ใดๆ

รุ่นที่คุณใช้ Debian ออกรุ่น stable ทุกสองปีโดยประมาณ และดูแลรุ่นก่อนหน้าต่อสักระยะ เวอร์ชันแพ็กเกจใน stable ค่อนข้างอนุรักษ์ ดีต่อความเสถียร แต่หมายความว่าฟีเจอร์ใหม่มากที่เห็นในบล็อกอาจยังไม่มีบนเครื่องคุณ ตรวจรุ่นก่อน

cat /etc/os-release

สิทธิ์ผู้ดูแล Debian ที่ติดตั้งแบบน้อยที่สุดอาจไม่มี sudo เพราะตัวติดตั้งให้คุณเปิดบัญชี root ไว้และข้ามการสร้างผู้ใช้ sudo ถ้าไม่มี sudo ให้ใช้ su - เพื่อเป็น root สำหรับคำสั่งในบทความนี้ หรือติดตั้ง sudo ด้วย root แล้วเพิ่มผู้ใช้ของคุณเข้ากลุ่ม sudo อย่ารันแอปแบบกราฟิกด้วย root เป็นทางลัด

DNS และเครือข่าย Ubuntu เดสก์ท็อปใช้ systemd-resolved เป็นค่าเริ่มต้น แต่ Debian เดสก์ท็อปมักใช้ NetworkManager ซึ่งเขียน /etc/resolv.conf เอง ส่วน Debian เซิร์ฟเวอร์อาจใช้ ifupdown หรือ systemd-networkd เครื่องมือ VPN ใดที่ "ตั้ง DNS" ต้องทำงานร่วมกับตัวที่มีอยู่ ซึ่งเป็นเหตุผลที่ DNS เป็นจุดที่มีปัญหาบ่อยที่สุด

เส้นทางที่หนึ่ง แอปบนเดสก์ท็อป

หากต้องการประสบการณ์ที่ง่ายที่สุด ให้ใช้แอปที่มีหน้าต่างกราฟิก สำหรับ XPASS คือแอป VPNclient ฟรีสำหรับ Linux ซึ่งลิงก์ดาวน์โหลดทางการอยู่ที่หน้า ดาวน์โหลด ลำดับโดยรวมเป็นดังนี้

  1. ดาวน์โหลดไฟล์ Linux จากลิงก์ทางการเท่านั้น ไม่ใช่จากเว็บมิเรอร์หรือโพสต์ในเว็บบอร์ด
  2. ทำตามวิธีติดตั้งที่มากับไฟล์และคำแนะนำในหน้า My Pass แอปแจกจ่ายเป็นตัวติดตั้งแบบครบในตัวสำหรับ Linux จึงควรตรวจว่ารองรับ Debian รุ่นของคุณก่อนพึ่งพา
  3. ลงชื่อเข้าใช้ด้วยชื่อผู้ใช้และรหัสผ่าน VPN จาก My Pass ซึ่งไม่ใช่ข้อมูลล็อกอินเว็บไซต์
  4. อนุญาตข้อความขอสิทธิ์ของระบบที่แอปถาม เพราะการสร้างอินเทอร์เฟซเครือข่ายต้องได้รับอนุญาต
  5. เปิดรายการตำแหน่งที่ตั้ง เลือกหนึ่งรายการ แล้วกดปุ่มเชื่อมต่อ ชื่อเมนูต่างกันตามเวอร์ชัน จึงให้ดูสิ่งที่เห็นบนหน้าจอแทนการหาคำที่ตายตัว

จุดแข็งของเส้นทางนี้คือเริ่มเร็วที่สุด ไม่มีไฟล์ตั้งค่า ไม่ต้องดูแลเอง จุดจำกัดคือคุณพึ่งฟีเจอร์ในตัวแอป เช่น kill switch หรือตัวเลือกแยกทราฟฟิก และสั่งการด้วยสคริปต์แบบบรรทัดคำสั่งไม่ได้ คงค่าเริ่มต้นของแอปไว้ เว้นแต่ฝ่ายสนับสนุนแนะนำให้เปลี่ยน

เส้นทางที่สอง NetworkManager กับปลั๊กอิน

ถ้าคุณใช้ GNOME, KDE, Xfce หรือเดสก์ท็อปอื่นบน Debian NetworkManager น่าจะดูแล Wi-Fi ของคุณอยู่แล้ว และจัดการการเชื่อมต่อ VPN ผ่านปลั๊กอินได้ด้วย

sudo apt install network-manager-openvpn-gnome

สำหรับ WireGuard NetworkManager เวอร์ชันใหม่นำเข้าไฟล์ .conf ได้โดยตรงด้วย nmcli connection import type wireguard file หลังนำเข้า VPN จะปรากฏในเมนูเครือข่ายและเปิดปิดได้จากแผง

ทำไมเส้นทางนี้เหมาะกับแล็ปท็อป เพราะรับมือการย้ายระหว่างเครือข่าย Wi-Fi ได้เรียบร้อย เก็บรหัสผ่านในกุญแจของเดสก์ท็อป และตั้ง DNS ผ่านส่วนประกอบเดียวกับที่ดูแลการเชื่อมต่อ จึงไม่ขัดกัน ทำไมอาจไม่เหมาะกับคุณ เพราะซ่อนรายละเอียดล็อก และปลั๊กอินอาจไม่เข้าใจทุกตัวเลือกในโปรไฟล์ที่ซับซ้อน ถ้านำเข้าไม่ผ่าน ให้ไปเส้นทางที่สามเพื่ออ่านข้อผิดพลาดจริง

เส้นทางที่สาม เครื่องมือบรรทัดคำสั่ง

สำหรับเซิร์ฟเวอร์ มินิพีซีที่ไม่มีจอ และคนที่ชอบควบคุมละเอียด บรรทัดคำสั่งคาดเดาได้ที่สุด

sudo apt install wireguard-tools openvpn

จากนั้นรันเครื่องมือใดก็ได้ด้วยมือ หรือให้ systemd จัดการ WireGuard ใช้ wg-quick up ชื่อ และยูนิต wg-quick@ชื่อ ส่วน OpenVPN ใช้ openvpn --config file.ovpn และยูนิต openvpn-client@ชื่อ โดยบันทึกโปรไฟล์เป็น /etc/openvpn/client/ชื่อ.conf ทั้งสองต้องมีไฟล์ตั้งค่าจากผู้ให้บริการหรือเซิร์ฟเวอร์ของคุณ หากสงสัยว่าควรเลือกอะไร ดู WireGuard เทียบกับ OpenVPN เอกสารทางการอยู่ที่ เว็บไซต์โครงการ WireGuard และ แหล่งข้อมูลชุมชน OpenVPN

เครื่องมือบรรทัดคำสั่งให้คุณเห็นล็อกครบ ควบคุมด้วยสคริปต์ได้ และเริ่มอัตโนมัติได้เรียบร้อย แต่ต้องจัดการ DNS เองและระวังเรื่องข้อมูลล็อกอินกับสิทธิ์ไฟล์มากขึ้น

ควรเลือกเส้นทางไหน

สถานการณ์ของคุณ เส้นทางที่เหมาะ เหตุผล
แล็ปท็อป Debian ใช้ Wi-Fi ย้ายที่บ่อย แอปหรือ NetworkManager รับมือการย้ายเครือข่าย เปิดปิดง่าย
เดสก์ท็อป Debian ที่บ้านใช้สายแลน อะไรก็ได้ เลือกตามความชอบ แอปเริ่มเร็วที่สุด
เซิร์ฟเวอร์หรือโฮมแล็บไม่มีจอ บรรทัดคำสั่ง ไม่มีเดสก์ท็อป สั่งด้วยสคริปต์ได้ เริ่มอัตโนมัติด้วย systemd
เครื่องเสมือนสำหรับทดสอบ บรรทัดคำสั่ง ทำซ้ำได้ ถ่ายสแนปช็อตง่าย
ต้องการกฎแยกสำหรับบางแอป แอปที่มีฟีเจอร์แยก หรือตั้งค่าเส้นทางเอง ดูบทความ split tunneling
คอมพิวเตอร์ที่ใช้ร่วมหลายคน แอปหรือ NetworkManager แยกต่อผู้ใช้ ไม่ต้องเก็บข้อมูลล็อกอินในไฟล์ที่ใช้ร่วมกัน

ถ้าไม่แน่ใจ ให้เริ่มจากแอปหรือปลั๊กอิน NetworkManager คุณย้ายไปบรรทัดคำสั่งทีหลังได้เสมอ และประสบการณ์จะบอกเองว่าคุณต้องการอะไรจริงๆ

DNS บน Debian จุดที่อุโมงค์พังบ่อยที่สุด

เมื่อ VPN ต่อติดแต่ไม่มีเว็บใดโหลด DNS คือผู้ต้องสงสัยอันดับแรก บน Debian ให้ตรวจตามลำดับนี้

  1. ดูว่าระบบใช้อะไร รัน cat /etc/resolv.conf บนเดสก์ท็อป NetworkManager จะแสดงเซิร์ฟเวอร์ที่ NetworkManager เชื่อในตอนนี้ ถ้ามีแต่เราเตอร์ของคุณ แปลว่า DNS ของ VPN ยังไม่ถูกนำไปใช้
  2. จับคู่เครื่องมือกับการตั้งค่า wg-quick ต้องการ resolvconf ถ้าไม่มีและจำเป็น ให้ติดตั้ง resolvconf หรือ openresolv แล้วลองใหม่ ส่วน OpenVPN ต้องมีสคริปต์อัปเดตเพื่อนำเซิร์ฟเวอร์ DNS ที่ส่งมาไปใช้ เว้นแต่ NetworkManager ทำให้
  3. ทดสอบด้วยที่อยู่ตัวเลข ping ที่อยู่ตัวเลขที่รู้จัก ถ้าได้แต่ชื่อไม่ได้ แปลว่า DNS ถ้าไม่ได้ทั้งสองอย่าง แปลว่าเส้นทางหรืออุโมงค์
  4. อย่าให้มีผู้จัดการสองตัว ถ้า NetworkManager และสคริปต์เขียน /etc/resolv.conf พร้อมกัน จะเขียนทับกัน เลือกเจ้าของเพียงหนึ่งเดียว
  5. ตรวจการรั่ว เมื่อชื่อแปลงได้แล้ว ให้ยืนยันว่าคำถามตามอุโมงค์จริง บทความ DNS leak คืออะไร แสดงวิธี และ split DNS อธิบายว่าทำไมบางระบบตั้งใจส่งบางชื่อไปทางอื่น

Kill switch เบื้องต้นด้วย nftables

Debian ใช้ nftables เป็นเฟรมเวิร์กไฟร์วอลล์เริ่มต้น kill switch คือกฎที่หยุดทราฟฟิกปกติเมื่ออุโมงค์ล่ม เพื่อไม่ให้อะไรหลุดออกทางอินเทอร์เน็ตเปิดโดยไม่ตั้งใจ อ่าน kill switch คืออะไร ก่อน ด้านล่างเป็นร่างขั้นต่ำสำหรับ OpenVPN แบบบรรทัดคำสั่ง ปรับชื่ออินเทอร์เฟซและที่อยู่เซิร์ฟเวอร์ให้ตรงกับของคุณ

sudo nft add table inet vpnguard
sudo nft add chain inet vpnguard out '{ type filter hook output priority 0 ; policy drop ; }'
sudo nft add rule inet vpnguard out oifname "lo" accept
sudo nft add rule inet vpnguard out oifname "tun0" accept
sudo nft add rule inet vpnguard out ip daddr 203.0.113.10 udp dport 1194 accept
sudo nft add rule inet vpnguard out udp dport 67 accept

กฎนี้ทำอะไร ทิ้งทุกแพ็กเก็ตขาออก เว้นแต่ผ่านอินเทอร์เฟซ loopback ผ่านอุโมงค์ ไปยังเซิร์ฟเวอร์ VPN เองเพื่อให้อุโมงค์เชื่อมต่อใหม่ได้ หรือเป็นคำขอ DHCP หากจะลบ

sudo nft delete table inet vpnguard

มีข้อควรระวังสามข้อ หนึ่ง ทดสอบบนเครื่องที่คุณเข้าถึงได้โดยตรง เพราะกฎผิดอาจล็อกคุณออกจากเซิร์ฟเวอร์ระยะไกล สอง กฎนี้บล็อกเครื่องพิมพ์และแชร์ในเครือข่ายท้องถิ่นด้วย เพิ่มกฎสำหรับช่วงเครือข่ายที่บ้านหากจำเป็น สาม กฎแบบนี้หายไปเมื่อรีบูต เว้นแต่บันทึกไว้ในการตั้งค่า nftables และเส้นทางแอปอาจมี kill switch ของตัวเองอยู่แล้ว ซึ่งในกรณีนั้นไม่ต้องใช้กฎนี้

แก้ปัญหาบน Debian

อาการ สาเหตุที่น่าจะเป็น สิ่งที่ควรลอง
sudo: command not found ติดตั้งแบบน้อยที่สุดไม่มี sudo ใช้ su - หรือติดตั้ง sudo ด้วย root
wg-quick: resolvconf: command not found ไม่มีตัวช่วย DNS ติดตั้ง resolvconf หรือ openresolv
ต่อติดแต่แปลงชื่อไม่ได้ DNS ไม่ถูกนำไปใช้ ตรวจ /etc/resolv.conf ดูหัวข้อ DNS
อุโมงค์เริ่มตอนบูตแล้วล้มเหลว เครือข่ายยังไม่พร้อม หน่วงยูนิตหรือใช้ NetworkManager
ไม่มีปลั๊กอินในเมนู ไม่ได้ติดตั้งแพ็กเกจ หรือยังไม่รีสตาร์ตเซสชัน ติดตั้งปลั๊กอิน แล้วออกจากระบบและเข้าใหม่
ข้อผิดพลาด handshake หรือ TLS endpoint ผิด นาฬิกาผิด หรือพอร์ตถูกบล็อก ตรวจเวลา ลองเครือข่ายอื่น
ช้าหลังเชื่อมต่อ ระยะทาง ความแออัด หรือ MTU ไม่เหมาะ ดู ทำไม VPN ช้า

ถ้าอาการของคุณไม่อยู่ในตาราง ล็อกคือเพื่อนที่ดีที่สุด สำหรับบริการ sudo journalctl -u ชื่อยูนิต -e จะแสดงบรรทัดล่าสุด คัดลอกข้อความจริงเมื่อขอความช่วยเหลือ และอย่าใส่รหัสผ่านหรือคีย์ส่วนตัว

นิสัยที่ดีและข้อจำกัด

  • ดาวน์โหลดจากแหล่งทางการเท่านั้น บนระบบที่คุณไว้ใจให้ดูแลทราฟฟิก ตัวติดตั้งและโปรไฟล์ควรได้รับความระวังเท่ากับรหัสผ่าน
  • อัปเดต Debian อยู่เสมอ การอัปเดตความปลอดภัยสำคัญต่อสแตกเครือข่ายและเครื่องมือ VPN
  • VPN ไม่ใช่ไฟร์วอลล์หรือแอนตี้ไวรัส ช่วยปกป้องเส้นทางระหว่างคุณกับเซิร์ฟเวอร์ VPN ตามที่อธิบายใน สิ่งที่ VPN ปกป้องคุณไม่ได้
  • อย่ารัน VPN มากกว่าหนึ่งตัวพร้อมกัน จะแย่งเส้นทางและ DNS
  • จดบันทึกการตั้งค่า โน้ตสามบรรทัดว่าเลือกเส้นทางไหนและไฟล์ตั้งค่าอยู่ที่ไหน ช่วยประหยัดเวลาหลายชั่วโมงในหกเดือนข้างหน้า

สรุป

บน Debian คุณใช้ VPN ได้สามแบบ แอปบนเดสก์ท็อปเพื่อความง่าย NetworkManager กับปลั๊กอินสำหรับแล็ปท็อป หรือเครื่องมือบรรทัดคำสั่งสำหรับเซิร์ฟเวอร์และการควบคุมละเอียด ค่าเริ่มต้นแบบน้อยที่สุดของ Debian หมายความว่า sudo อาจไม่มี DNS อาจไม่ได้ถูกจัดการโดย systemd-resolved และ nftables คือไฟร์วอลล์ที่คุณจะใช้ทำ kill switch เลือกเส้นทางที่เหมาะกับการใช้งานเครื่อง จัดการ DNS อย่างตั้งใจ และทดสอบทุกอย่างก่อนพึ่งพา

เมื่อพร้อมลองการตั้งค่าที่ใช้แอปเป็นหลัก หน้าราคา แสดงตัวเลือกพาสแบบเติมเงินที่ใช้กับแอป VPNclient ฟรี

คำถามที่พบบ่อย

การตั้ง VPN บน Debian ต่างจาก Ubuntu หรือไม่

เครื่องมือเหมือนกัน แต่ค่าเริ่มต้นต่างกัน Debian แบบติดตั้งน้อยที่สุดอาจไม่มี sudo อาจไม่ใช้ systemd-resolved จัดการ DNS และจัดการเครือข่ายด้วย ifupdown หรือ NetworkManager แล้วแต่วิธีติดตั้ง ควรตรวจเรื่องเหล่านี้ก่อนคัดลอกคำสั่งที่เขียนสำหรับ Ubuntu

ต้องใช้บรรทัดคำสั่งเสมอไปหรือไม่ถึงจะใช้ VPN บน Debian

ไม่ต้อง บนเดสก์ท็อปใช้แอป VPN หรือเมนูเครือข่ายของ NetworkManager ได้ บรรทัดคำสั่งเหมาะกับเซิร์ฟเวอร์ เครื่องไม่มีจอ และการแก้ปัญหามากกว่า

บนแล็ปท็อป Debian ควรเลือกเส้นทางไหน

สำหรับแล็ปท็อปที่ย้ายเครือข่ายบ่อย แอปหรือปลั๊กอิน NetworkManager มักง่ายที่สุด เพราะรับมือการย้ายเครือข่ายและสลับเปิดปิดจากหน้าจอได้ ใช้บรรทัดคำสั่งเมื่อต้องการควบคุมละเอียดหรือเครื่องไม่มีจอ

จะป้องกันทราฟฟิกหลุดเมื่อ VPN หลุดได้อย่างไร

ใช้ kill switch ของแอปหากมี หรือเพิ่มกฎไฟร์วอลล์ที่อนุญาตเฉพาะทราฟฟิกผ่านอุโมงค์และไปยังเซิร์ฟเวอร์ VPN ทดสอบอย่างระวัง ควรมีทางเข้าเครื่องโดยตรง เพราะกฎผิดอาจล็อกตัวคุณเองออกจากเครื่อง

ทำไม VPN ต่อติดแต่ชื่อเว็บแปลงไม่ได้บน Debian

น่าจะเพราะ DNS จาก VPN ไม่ถูกนำไปใช้ Debian มักไม่มี systemd-resolved เป็นค่าเริ่มต้น ให้ตรวจ /etc/resolv.conf ติดตั้ง resolvconf หรือ openresolv หากเครื่องมือของคุณต้องใช้ และทดสอบด้วยที่อยู่ตัวเลขเพื่อแยก DNS ออกจากเส้นทาง

เกี่ยวกับผู้เขียน

Bob Kanokphon Thongdee ผู้ก่อตั้ง XPASS VPN

Bob Kanokphon Thongdee

  • ผู้ก่อตั้ง XPASS VPN
  • ผู้ร่วมก่อตั้ง eSIMonline.asia
  • ประสบการณ์ด้านการตลาดออนไลน์มากกว่า 7 ปี
  • ผู้ก่อตั้ง Cojourney Visa และ Cojourney Travel

ต้องใช้ VPN ช่วงเดินทางหรือช่วงงานยุ่ง?

XPASS ขายแพ็กเกจแบบเติมเงินตามจำนวนวัน จ่ายครั้งเดียว ไม่มีการต่ออายุอัตโนมัติ

ดูแพ็กเกจ

อ่านต่อ

ความปลอดภัยของ VPN

VPN Kill Switch คืออะไร

Kill switch ช่วยไม่ให้อุปกรณ์ของคุณใช้การเชื่อมต่อที่ไม่มีการป้องกันอย่างเงียบ ๆ เมื่อ VPN หลุด บทความนี้อธิบายหลักการและวิธีตรวจสอบ

อ่าน 12 นาที

ความปลอดภัยของ VPN

WireGuard กับ OpenVPN ต่างกันอย่างไร

WireGuard และ OpenVPN สร้างอุโมงค์เข้ารหัสเหมือนกัน แต่ต่างกันที่การออกแบบ ความซับซ้อน และความยืดหยุ่น บทความนี้เปรียบเทียบให้เข้าใจง่าย

อ่าน 9 นาที

ความปลอดภัยของ VPN

Split DNS สำหรับ VPN คืออะไร

Split DNS ให้อุปกรณ์ถาม resolver คนละตัวตามชื่อโดเมน ชื่อภายในไปทาง VPN ชื่อทั่วไปไปทางปกติ บทความนี้อธิบายหลักการ การใช้งานจริง และวิธีทดสอบ

อ่าน 9 นาที

ความปลอดภัยของ VPN

OpenVPN คืออะไร? TCP กับ UDP ต่างกันอย่างไร

อธิบาย OpenVPN ตั้งแต่วิธีสร้างอุโมงค์ เหตุผลที่ TCP กับ UDP ให้ความรู้สึกต่างกัน อะไรทำให้การตั้งค่าปลอดภัย ไปจนถึงวิธีแก้ปัญหา

อ่าน 10 นาที

พื้นฐาน VPN

โปรโตคอล VPN คืออะไร

โปรโตคอล VPN กำหนดกฎว่าอุปกรณ์และเซิร์ฟเวอร์ VPN เชื่อมต่อและปกป้องข้อมูลอย่างไร นี่คือความหมายแบบเข้าใจง่าย พร้อมข้อแลกเปลี่ยนสำคัญ

อ่าน 9 นาที