คู่มือที่เกี่ยวข้อง
WireGuard คืออะไร: หลักการทำงานและประวัติความเป็นมา
อัปเดต
WireGuard เป็นโปรโตคอล VPN แบบโอเพนซอร์ส ออกแบบโดย Jason A. Donenfeld เปิดตัวราวปี 2015 และเข้าไปอยู่ใน Linux kernel อย่างเป็นทางการในปี 2020 จุดเด่นของมันสรุปได้ด้วยคำเดียว: น้อย โค้ดน้อย ตัวหลักมีแค่ไม่กี่พันบรรทัด ขณะที่ OpenVPN และ IPsec มีหลายแสนบรรทัด ตัวเลือกน้อย อัลกอริทึมเข้ารหัสมีชุดเดียวตายตัว ไม่ให้เลือก สถานะน้อย ไม่มีแนวคิด “กำลังเชื่อมต่อ” หรือ “ตัดการเชื่อมต่อแล้ว” มีข้อมูลก็ส่ง ไม่มีก็เงียบ ความน้อยทำให้เร็ว ประหยัดแบต และตรวจสอบง่าย แต่ก็นำมาซึ่งข้อจำกัด: ใช้แค่ UDP ไม่มีการพรางทราฟฟิก และไม่ดูแลเรื่องการแจกจ่ายคีย์ ด้านล่างจะอธิบายก่อนว่ามันทำงานอย่างไร แล้วค่อยเล่าว่ามันกลายมาเป็นรากฐานของ VPN ยุคใหม่ได้อย่างไร
แนวคิดการออกแบบ: ทำให้ VPN เป็นเหมือนการ์ดเครือข่ายใบหนึ่ง
ก่อนมี WireGuard ตัวเลือกหลักคือ IPsec และ OpenVPN IPsec เป็นมาตรฐานตระกูลใหญ่ ตัวเลือกการตั้งค่าเยอะมาก และการเชื่อมต่อข้ามยี่ห้อขึ้นชื่อเรื่องความยุ่งยาก ส่วน OpenVPN ทำงานในพื้นที่ผู้ใช้ (user space) และพึ่งไลบรารี TLS ขนาดใหญ่ ยืดหยุ่นแต่ช้า โค้ดของทั้งสองใหญ่จนแทบไม่มีใครตรวจสอบได้ครบ
WireGuard คิดกลับกัน: ทำแค่อย่างเดียว และทำให้ถูก ในระบบมันปรากฏเป็นการ์ดเครือข่ายเสมือนใบหนึ่ง (เช่น wg0) คุณใส่คีย์ส่วนตัวของตัวเองและคีย์สาธารณะของคู่สื่อสารไม่กี่ตัวให้การ์ดนี้ ส่งแพ็กเก็ตเข้าไปมันก็เข้ารหัสแล้วส่งออก แพ็กเก็ตที่รับมาถอดรหัสแล้วก็ออกมาจากการ์ดนี้ เรื่องอื่นทั้งหมด ทั้งเส้นทาง ไฟร์วอลล์ และการแจกที่อยู่ ยกให้เครื่องมือที่มีอยู่แล้วในระบบ
สิ่งที่มันตั้งใจไม่ทำก็ชัดเจน: ไม่ต่อรองอัลกอริทึม ไม่จัดการชื่อผู้ใช้รหัสผ่าน ไม่แจกที่อยู่ ไม่พรางทราฟฟิก เรื่องเหล่านี้ถ้าไม่ถูกมองว่าเป็นต้นเหตุของช่องโหว่ ก็ปล่อยให้เครื่องมือชั้นบนจัดการ
Cryptokey routing: คีย์สาธารณะคือตัวตน
ใน WireGuard แต่ละเครื่องมีคู่คีย์หนึ่งคู่ คีย์สาธารณะคือตัวตนของเครื่อง คล้ายการใช้งาน SSH: สองฝั่งใส่คีย์สาธารณะของอีกฝั่งลงในการตั้งค่าของตัวเอง ก็เกิดความไว้ใจกันแล้ว ไม่มีใบรับรอง ไม่มีชื่อผู้ใช้รหัสผ่าน
ในการตั้งค่า แต่ละคู่สื่อสารจะมีรายการ “ที่อยู่ที่อนุญาต” (AllowedIPs) หนึ่งบรรทัด ซึ่งคุมทั้งสองทิศทาง: ตอนส่ง ที่อยู่ปลายทางตกอยู่ในช่วงที่อนุญาตของใคร ก็ใช้คีย์สาธารณะของคนนั้นเข้ารหัสแล้วส่งไปหา ตอนรับ ถอดรหัสแล้วดูว่าที่อยู่ต้นทางอยู่ในช่วงที่อนุญาตของคู่สื่อสารนั้นหรือไม่ ถ้าไม่อยู่ก็ทิ้ง วิธีนี้เรียกว่า cryptokey routing ตารางเส้นทางกับการควบคุมการเข้าถึงรวมเป็นตารางเดียว
ดังนั้นถ้าเขียนที่อยู่ที่อนุญาตของคู่สื่อสารหนึ่งเป็น 0.0.0.0/0 ก็คือ “ส่งทราฟฟิกทั้งหมดให้มัน” หรือที่มักเรียกว่า VPN แบบทั้งหมด (global) ถ้าเขียนแค่ช่วงเครือข่ายภายในหนึ่งช่วง ก็จะวิ่งผ่านอุโมงค์เฉพาะตอนเข้าช่วงนั้น
การจับมือและการเข้ารหัส: อัลกอริทึมชุดเดียวตายตัว
สองเครื่องต้องจับมือ (handshake) ก่อนสื่อสารครั้งแรก: ฝั่งเริ่มส่งแพ็กเก็ตหนึ่ง ฝั่งตอบส่งกลับหนึ่ง ไป-กลับรอบเดียวก็เสร็จ ทั้งสองฝ่ายได้ชุดคีย์เซสชันที่ใช้เฉพาะช่วงนั้น การจับมืออิงกรอบโปรโตคอล Noise ใช้คีย์ระยะยาวของทั้งสองฝ่ายยืนยันตัวตนกัน และใช้คีย์ชั่วคราวเพื่อให้มี forward secrecy คือต่อให้คีย์ส่วนตัวระยะยาวรั่วในภายหลัง ทราฟฟิกที่ถูกบันทึกไว้ก่อนหน้าก็ยังถอดไม่ได้
คีย์เซสชันเปลี่ยนเองทุกไม่กี่นาที ผู้ใช้มองไม่เห็นกระบวนการนี้ และไม่มีเรื่อง “เชื่อมต่อใหม่” เลย
อัลกอริทึมเข้ารหัสเป็นแบบตายตัว: แลกเปลี่ยนคีย์ด้วย Curve25519 เข้ารหัสข้อมูลด้วย ChaCha20-Poly1305 แฮชด้วย BLAKE2s ไม่มีการต่อรอง จึงไม่มีการโจมตีแบบลดระดับ (downgrade attack) ผู้โจมตีหลอกให้สองฝั่งเปลี่ยนไปใช้อัลกอริทึมที่อ่อนกว่าไม่ได้ ถ้าวันหนึ่งอัลกอริทึมตัวใดถูกเจาะ ทางแก้คือออกโปรโตคอลเวอร์ชันใหม่มาแทนทั้งชุด ไม่ใช่เพิ่มตัวเลือก
นอกจากนี้ยังเพิ่มคีย์ที่แชร์ล่วงหน้า (pre-shared key) ซ้อนกับกลไกคีย์สาธารณะได้อีกชั้น เพื่อรับมือภัยจากคอมพิวเตอร์ควอนตัมต่ออัลกอริทึมคีย์สาธารณะในอนาคต
ใช้แค่ UDP ไม่ตอบคนแปลกหน้า เปลี่ยนเครือข่ายไม่หลุด
- ใช้แค่ UDP: WireGuard เข้ารหัสแต่ละแพ็กเก็ตแยกกันแล้วใส่ในแพ็กเก็ต UDP ส่งออกไป การไม่ใช้ TCP เป็นความตั้งใจ ถ้ารัน TCP ซ้อนใน TCP ทั้งสองชั้นจะส่งซ้ำพร้อมกัน พอแพ็กเก็ตหายก็ฉุดกันเอง
- ไม่ตอบคนแปลกหน้า: แพ็กเก็ตที่ไม่ผ่านการยืนยันตัวตนจะไม่ได้รับการตอบเลย สำหรับคนที่สแกนพอร์ต พอร์ตนี้ดูเหมือนปิดอยู่ ไม่มีทางรู้ว่ามี WireGuard ทำงานอยู่
- โรมมิ่ง: WireGuard ไม่สนใจ “การเชื่อมต่อ” สนใจแค่คีย์สาธารณะ ถ้าอีกฝั่งเปลี่ยนที่อยู่ เช่น มือถือสลับจาก Wi‑Fi ไปเน็ตมือถือ ขอแค่แพ็กเก็ตถัดไปที่ส่งมาผ่านการยืนยันตัวตน ฝั่งนี้ก็จะส่งแพ็กเก็ตตอบกลับไปที่อยู่ใหม่เอง อุโมงค์จึงไม่หลุดเมื่อเปลี่ยนเครือข่าย
- เงียบ: ถ้าไม่มีข้อมูลต้องส่ง อุโมงค์ไม่สร้างทราฟฟิกใด ๆ เลย บนมือถือจึงประหยัดแบตมาก เฉพาะเมื่อเครื่องอยู่หลังเราเตอร์และต้องให้อีกฝั่งหาเจอตลอด ถึงต้องเปิดการส่งสัญญาณรักษาการเชื่อมต่อ (PersistentKeepalive) ส่งแพ็กเก็ตเล็ก ๆ ทุกไม่กี่สิบวินาทีเพื่อรักษาการจับคู่บนเราเตอร์ไว้
ทำไมถึงเร็ว
- ทำงานใน kernel: บน Linux WireGuard เป็นโมดูลของ kernel แพ็กเก็ตไม่ต้องถูกคัดลอกไปมาระหว่าง kernel กับโปรแกรมผู้ใช้ ส่วน OpenVPN แต่เดิมทำงานในพื้นที่ผู้ใช้ ทุกแพ็กเก็ตต้องอ้อมอีกรอบ
- อัลกอริทึมเหมาะกับทุก CPU: ChaCha20 ไม่ต้องพึ่งคำสั่งเร่งความเร็วด้วยฮาร์ดแวร์โดยเฉพาะ จึงได้เปรียบเป็นพิเศษบนชิปที่ไม่มีคำสั่ง AES อย่างมือถือและเราเตอร์
- จับมือสั้น: ไป-กลับรอบเดียวก็ส่งข้อมูลได้ การเริ่มเชื่อมต่อแทบไม่ต้องรอ
- โค้ดน้อย: เส้นทางสั้น การปรับแต่งทั้งหมดทุ่มไปที่ขั้นตอนสำคัญไม่กี่ขั้น
- ข้อควรรู้คือ ทั้งหมดนี้พูดถึงภาระของตัวโปรโตคอลและการพัฒนา ความเร็วจริงบนเส้นทางข้ามประเทศขึ้นกับการสูญหายของแพ็กเก็ตบนเส้นทาง และท่าทีของผู้ให้บริการเน็ตต่อ UDP มากกว่า
ความเป็นมา: จากโปรเจกต์ของคนคนเดียวสู่ Linux kernel
- ราวปี 2015: Jason A. Donenfeld เริ่มพัฒนาและเปิดตัว WireGuard ตอนแรกเป็นโมดูล kernel แยกต่างหากบน Linux
- ปี 2017: เปเปอร์ที่อธิบายการออกแบบได้ตีพิมพ์ในงานประชุมด้านความปลอดภัยเครือข่าย NDSS จากนั้นโปรโตคอลก็ผ่านการพิสูจน์เชิงรูปนัย (formal verification) อิสระหลายครั้ง ช่วงเวลาเดียวกัน ผู้ให้บริการ VPN อย่าง Mullvad เริ่มให้เชื่อมต่อด้วย WireGuard
- ปี 2018: Linus Torvalds ผู้สร้าง Linux ชมโค้ดของมันในเมลลิงลิสต์ และบอกว่าเมื่อเทียบกับ OpenVPN และ IPsec มันเป็นงานศิลปะดี ๆ นี่เอง คำพูดนี้ทำให้มันเป็นที่รู้จักกว้างขวางในวงการนักพัฒนา
- ปี 2019: Cloudflare เปิดตัว BoringTun ซึ่งเป็นการพัฒนาแบบพื้นที่ผู้ใช้ที่เขียนด้วย Rust และนำ WireGuard ไปใช้ใน WARP NordVPN เปิดตัว NordLynx ที่อิง WireGuard และ Tailscale ก็เริ่มต้นช่วงนี้โดยใช้ WireGuard เป็นชั้นส่งข้อมูล
- มีนาคม 2020: WireGuard ถูกรวมเข้า mainline ของ kernel อย่างเป็นทางการพร้อม Linux 5.6 และออกเวอร์ชัน 1.0 พร้อมกัน ตั้งแต่นั้น Linux ดิสทริบิวชันหลักก็มี WireGuard มาในตัว ไม่ต้องลงโมดูลเพิ่ม ปีเดียวกัน OpenBSD ก็เพิ่มมันเข้าไปใน kernel
- ปี 2021: Windows มี WireGuardNT ที่ทำงานในระดับ kernel ประสิทธิภาพสูงกว่าแบบพื้นที่ผู้ใช้เดิมอย่างชัดเจน ตามด้วย FreeBSD ที่มีการพัฒนาในระดับ kernel เช่นกัน
- ปัจจุบัน: Windows, macOS, Linux, iOS และ Android มีแอปทางการทั้งหมด ระบบเราเตอร์และ NAS อย่าง OpenWrt และ Synology รองรับในตัวเกือบทั้งหมด และ VPN เชิงพาณิชย์ส่วนใหญ่ตั้งให้มันเป็นโปรโตคอลค่าเริ่มต้นหรือตัวเลือก
สิ่งที่มันไม่ทำ และข้อจำกัดที่ตามมา
- ไม่ดูแลการแจกจ่ายคีย์: เพิ่มเครื่องหนึ่งเครื่อง ก็ต้องใส่คีย์สาธารณะของมันในการตั้งค่าของเครื่องอื่นทุกเครื่อง เครื่องเยอะขึ้นก็จัดการไม่ไหว นี่คือเหตุผลที่เครื่องมืออย่าง Tailscale เกิดขึ้น
- ไม่แจกที่อยู่แบบไดนามิก: ที่อยู่ภายในของแต่ละคู่สื่อสารเขียนตายตัวไว้ในการตั้งค่า ไม่มีกลไก “เชื่อมต่อแล้วแจกที่อยู่ให้” แบบ OpenVPN VPN เชิงพาณิชย์ที่ใช้มันต้องสร้างอีกชั้นครอบไว้เอง
- ข้อกังวลด้านความเป็นส่วนตัว: เซิร์ฟเวอร์ต้องจำที่อยู่สาธารณะล่าสุดของแต่ละคู่สื่อสารไว้จึงจะตอบกลับได้ ผู้ให้บริการ VPN ที่สัญญาเรื่อง “ไม่เก็บล็อก” มักต้องจัดการเพิ่ม (เช่น ล้างเป็นระยะ หรือแปลงที่อยู่สองชั้น)
- มีแค่ UDP: บนเครือข่ายที่บล็อกหรือบีบ UDP จะใช้ไม่ได้หรือช้ามาก ถ้าอยากให้มันวิ่งบน TCP หรือพอร์ต 443 ต้องครอบด้วยเครื่องมืออื่นอีกชั้น
- ไม่มีการพราง: รูปแบบและความยาวของแพ็กเก็ตจับมือและแพ็กเก็ตข้อมูลมีลักษณะตายตัว จับได้ง่าย เป้าหมายการออกแบบของมันคือความปลอดภัยและความเรียบง่าย ไม่ใช่การต้านการเซ็นเซอร์
- ไม่มีระบบบัญชี: ในโปรโตคอลไม่มีแนวคิดชื่อผู้ใช้ รหัสผ่าน หรือวันหมดอายุ รู้จักแค่คีย์สาธารณะ
เทียบกับ OpenVPN และ IPsec
- ขนาดโค้ด: ตัวหลักของ WireGuard ไม่กี่พันบรรทัด OpenVPN รวมไลบรารี TLS ที่มันพึ่ง และการพัฒนา IPsec แบบต่าง ๆ อยู่ในระดับหลายแสนบรรทัด
- การรับส่ง: WireGuard มีแค่ UDP OpenVPN ได้ทั้งสองแบบ วิ่ง TCP 443 ปนไปกับพอร์ตของทราฟฟิก HTTPS ได้ ส่วน IPsec ใช้หมายเลขโปรโตคอลของตัวเองและ UDP 500 / 4500
- การตั้งค่า: WireGuard คู่สื่อสารหนึ่งตัวใช้ไม่กี่บรรทัด ไฟล์ตั้งค่าของ OpenVPN มีตัวเลือกเยอะแต่ยืดหยุ่น IPsec ซับซ้อนที่สุด
- ประสิทธิภาพ: บนเครือข่ายที่ดี WireGuard มักเร็วที่สุดและประหยัดแบตที่สุด OpenVPN รุ่นใหม่ก็มีการเร่งความเร็วใน kernel (DCO) แล้ว ช่องว่างกำลังแคบลง
- ฟีเจอร์: การยืนยันตัวตนด้วยบัญชีและรหัสผ่าน การส่งที่อยู่และเส้นทางแบบไดนามิก การวิ่งบน TCP ทั้งหมดนี้ OpenVPN มีในตัว แต่ WireGuard ต้องพึ่งระบบภายนอกมาเติม
- อุปกรณ์ที่รองรับ: OpenVPN มีประวัติยาว เราเตอร์เก่า NAS และอุปกรณ์ฝังตัวต่าง ๆ แทบทั้งหมดรู้จัก ส่วน WireGuard แพร่หลายแล้วบนระบบไม่กี่ปีหลัง แต่อุปกรณ์เก่าอาจไม่มี
สิ่งที่เติบโตขึ้นบน WireGuard
- Tailscale: เพิ่มการล็อกอิน การแจกจ่ายคีย์ การเจาะ NAT และรีเลย์บน WireGuard ทำเป็นระบบเชื่อมเครือข่ายอัตโนมัติ ดู เจาะลึก Tailscale Headscale คือเซิร์ฟเวอร์ควบคุมแบบโอเพนซอร์สของมัน
- Netmaker, NetBird, Firezone และอื่น ๆ: ผลิตภัณฑ์เชื่อมเครือข่ายหรือ zero trust ที่ใช้แนวทาง “WireGuard เป็นชั้นส่งข้อมูล ตัวเองทำชั้นจัดการ” เหมือนกัน
- Cloudflare WARP: แอป WireGuard สำหรับผู้ใช้ทั่วไป ส่งทราฟฟิกเข้าเครือข่ายของ Cloudflare
- แพ็กเกจของ VPN เชิงพาณิชย์แต่ละเจ้า: เช่น NordLynx ซึ่งเพิ่มชั้นการแจกที่อยู่และการจัดการความเป็นส่วนตัวครอบ WireGuard
- สายพันธุ์อย่าง AmneziaWG: แก้ส่วนหัวแพ็กเก็ตและเติมข้อมูลเพื่อซ่อนลักษณะตายตัวของ WireGuard ใช้กับเครือข่ายที่ตรวจเข้มงวด แต่ใช้ร่วมกับแอป WireGuard มาตรฐานไม่ได้
บนเครือข่ายในจีน
- ใช้ได้หรือไม่ ดูที่ UDP ก่อน เน็ตบ้านและเน็ตมือถือในจีนหลายเจ้าบีบ UDP ปริมาณมาก อาการคือเชื่อมต่อแรก ๆ เร็ว ใช้ไปสักพักช้าลง หรือกระตุกชัดเจนช่วงหัวค่ำ
- เชื่อมต่อตรงข้ามประเทศถูกจับได้ง่าย: แพ็กเก็ตจับมือของ WireGuard มีลักษณะตายตัว บนเส้นทางข้ามประเทศอาจถูกระบุและรบกวน อาการคือจับมือไม่สำเร็จ หรือใช้ไปสักพักแล้วข้อมูลหยุดไหล นี่คือผลโดยตรงจากการที่โปรโตคอลไม่มีการพราง
- การเชื่อมเครือข่ายระหว่างอุปกรณ์ที่อยู่ในจีนด้วยกัน (บริษัทกับบ้าน มือถือกับ NAS) ไม่ผ่านเส้นทางข้ามประเทศ โดยทั่วไปจึงไม่มีปัญหานี้ ได้รับผลแค่จากการบีบ UDP และอัตราความสำเร็จของการเจาะ NAT
- มันจึงเหมาะกับการเชื่อมเครือข่ายและการเข้าถึงระยะไกลมากกว่า ถ้าต้องการข้ามประเทศอย่างเสถียรในระยะยาว ต้องใช้คู่กับวิธีที่มีการพรางหรือวิ่งบน TCP / TLS ได้ เปรียบเทียบแต่ละโปรโตคอลดูได้ที่ เปรียบเทียบโปรโตคอล VPN
LeoTun ใช้ WireGuard ตรงไหนบ้าง
หมวด ส่วนตัว (Tailscale) ของ LeoTun ใช้ Tailscale ซึ่งชั้นส่งข้อมูลก็คือ WireGuard: อุโมงค์ระหว่างอุปกรณ์ และอุโมงค์ไปยังโหนดทางออกในแต่ละภูมิภาค ล้วนเข้ารหัสและรับส่งด้วยมัน คุณไม่ต้องสร้างคีย์หรือเขียนการตั้งค่าเอง ล็อกอินด้วยบัญชีเว็บนี้แล้วแอปจัดการให้เอง วิธีใช้ดูที่ ส่วนตัว (Tailscale) คืออะไร และทางเข้าอยู่ที่ หน้า ส่วนตัว (Tailscale)
นอกจาก ส่วนตัว (Tailscale) แล้ว บัญชีเดียวกันยังมีวิธีที่ไม่ต้องพึ่ง UDP: Cisco (AnyConnect) วิ่งบน TLS, OpenVPN วิ่งบน TCP ได้ และ Hiddify (Hysteria2) รับมือกับแพ็กเก็ตหายโดยเฉพาะ ถ้า ส่วนตัว (Tailscale) ทั้งช้าและไม่นิ่งบนเครือข่ายที่คุณอยู่ ก็แค่เปลี่ยนวิธี ดู วิธีเชื่อมต่อแบบไหนเหมาะกับสถานการณ์ไหน
FAQ
WireGuard กับ OpenVPN อันไหนดีกว่า
บนเครือข่ายที่ดีและไม่จำกัด UDP WireGuard เร็วกว่า ประหยัดแบตกว่า และเปลี่ยนเครือข่ายไม่หลุด ถ้าต้องวิ่งบน TCP ต้องล็อกอินด้วยบัญชีและรหัสผ่าน หรืออุปกรณ์ค่อนข้างเก่า OpenVPN เหมาะกว่า ทั้งคู่เป็นโปรโตคอลโอเพนซอร์สที่ผ่านการพิสูจน์มายาวนาน ด้านความปลอดภัยเชื่อถือได้ทั้งคู่
WireGuard ปลอดภัยไหม
มันใช้อัลกอริทึมชุดที่ทันสมัยแต่ระมัดระวัง โปรโตคอลผ่านการพิสูจน์เชิงรูปนัย โค้ดน้อยตรวจสอบง่าย ปัจจุบันยังไม่มีวิธีเจาะที่ใช้ได้จริง ข้อควรระวังคือมันไม่ดูแลการเก็บรักษาและแจกจ่ายคีย์ ถ้าคีย์ส่วนตัวรั่ว หรือใส่คีย์สาธารณะผิดเครื่อง ตัวโปรโตคอลช่วยอะไรไม่ได้
ทำไม WireGuard รองรับแค่ UDP
เป็นการเลือกในการออกแบบ ถ้ารัน TCP ซ้อนในการเชื่อมต่อ TCP พอแพ็กเก็ตหาย สองชั้นจะส่งซ้ำพร้อมกัน ประสิทธิภาพตกฮวบ และ UDP ยังทำให้ “ไม่ตอบคนแปลกหน้า” และโรมมิ่งทำได้ง่าย ราคาที่ต้องจ่ายคือใช้ไม่ได้บนเครือข่ายที่บล็อก UDP
WireGuard ใช้ในจีนได้ไหม
เชื่อมเครือข่ายระหว่างอุปกรณ์ที่อยู่ในจีนด้วยกันโดยทั่วไปได้ แต่การเชื่อมต่อตรงข้ามประเทศไม่นิ่ง เพราะทราฟฟิกไม่มีการพราง ถูกระบุและรบกวนได้ง่าย บวกกับบางเส้นทางบีบ UDP ถ้าต้องการข้ามประเทศอย่างเสถียร ต้องใช้คู่กับวิธีที่มีการพรางหรือวิ่งบน TLS
ใครพัฒนา WireGuard และเข้า Linux kernel เมื่อไร
ออกแบบและพัฒนาโดย Jason A. Donenfeld เปิดตัวราวปี 2015 ถูกรวมเข้า mainline ของ kernel พร้อม Linux 5.6 ในเดือนมีนาคม 2020 และออกเวอร์ชัน 1.0 พร้อมกัน
Tailscale ก็คือ WireGuard ใช่ไหม
ไม่ใช่สิ่งเดียวกัน WireGuard คือโปรโตคอลอุโมงค์เข้ารหัส ส่วน Tailscale คือระบบเชื่อมเครือข่ายที่ใช้ WireGuard ส่งข้อมูล และแก้ปัญหาการล็อกอิน การแจกจ่ายคีย์ การเจาะ NAT และรีเลย์เพิ่มเติม ดูรายละเอียดที่ เจาะลึก Tailscale
ใช้ WireGuard ต้องตั้งค่าคีย์เองไหม
ถ้าใช้ WireGuard ตรง ๆ ต้อง: สร้างคีย์ในแต่ละเครื่อง แล้วเขียนคีย์สาธารณะ ที่อยู่ และที่อยู่ของคู่สื่อสารลงในการตั้งค่า ถ้าใช้ผ่านแอปของ Tailscale หรือ VPN เชิงพาณิชย์ โปรแกรมทำให้หมด ใน ส่วนตัว (Tailscale) ของ LeoTun แค่ล็อกอินบัญชีก็พอ