3 คะแนน โดย GN⁺ 2024-11-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • การตั้งค่าพื้นฐาน

    • แชร์ประสบการณ์จากความพยายามเปลี่ยนจาก OpenVPN มาใช้ WireGuard
    • สรุปการตั้งค่าพื้นฐาน:
      • สร้างคู่คีย์สำหรับทั้งฝั่งเซิร์ฟเวอร์และไคลเอนต์
      • กำหนดเครือข่าย VPN และที่อยู่ IP
      • เขียนและรันไฟล์คอนฟิกของเซิร์ฟเวอร์และไคลเอนต์
      • สามารถใช้ network namespace เพื่อแยก VPN ออกจากการเชื่อมต่ออินเทอร์เน็ตได้
  • NAT

    • แก้ปัญหาของบางแอปพลิเคชันที่ทำงานไม่ได้เมื่ออยู่หลัง NAT
    • สามารถใช้ UPnP เพื่อแก้ปัญหา NAT ได้
    • WireGuard ไม่รองรับ UPnP โดยค่าเริ่มต้น จึงต้องตั้งค่าด้วยตนเอง
    • สามารถเพิ่มความสามารถ UPnP ได้ผ่านการติดตั้งและตั้งค่า miniupnpd
  • IPv6

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

1 ความคิดเห็น

 
GN⁺ 2024-11-25
ความคิดเห็นบน Hacker News
  • กำลังตั้งค่าเซิร์ฟเวอร์ส่วนตัวและต้องการให้บริการที่เข้าถึงได้ผ่านเว็บ ใช้ Caddy เพื่อแมปซับโดเมนไปยังบริการได้สำเร็จแล้ว แต่ Tailscale Magic DNS ไม่รองรับซับโดเมน จึงอยากตั้งค่า pihole เพื่อสร้างเซิร์ฟเวอร์ DNS ส่วนตัว และสงสัยว่านี่เป็นข้อจำกัดของ Wireguard หรือไม่

  • พบเว็บไซต์ที่มีประโยชน์สำหรับการตั้งค่า Wireguard: Procustodibus Wireguard Topologies

  • หากตั้งค่าเรคคอร์ด Dynamic DNS เพื่อแมปชื่อโฮสต์ไปยัง IP แบบไดนามิกของเครือข่ายที่บ้าน ก็จะสามารถใช้ VPN ส่วนตัวได้ ซึ่งทำให้เข้าถึงบริการภายในจากระยะไกลได้โดยไม่ต้องเปิดเผยต่ออินเทอร์เน็ตภายนอก

  • มีความเข้าใจผิดว่าการใช้ Wireguard จำเป็นต้องมี NAT แต่จริง ๆ แล้วหากโฮสต์ปลายทางมองเห็นเซิร์ฟเวอร์ Wireguard เป็นเกตเวย์ การเราต์ซับเน็ตแบบปกติก็ทำงานได้ดี แค่ตั้งค่า static route บนเราเตอร์หลักก็เพียงพอ

  • สงสัยว่ามีหนังสือดี ๆ ที่อธิบายหลักการ การติดตั้งใช้งาน และการตั้งค่า Wireguard หรือไม่ หนังสือเกี่ยวกับ IPSEC มีมาก แต่ของ Wireguard หาได้ยาก

  • รู้สึกแปลกใจที่ใน Wireguard ไม่มีวิธีง่าย ๆ ในการทำให้ทราฟฟิกทั้งหมดวิ่งผ่าน tunnel ยกเว้นบาง IP จำเป็นต้องสร้างรายการ CIDR ทั้งหมดที่ยกเว้น IP นั้นแบบโปรแกรมmatically

  • เสียดายที่ไม่มีฟีเจอร์ RBAC แม้ Wireguard จะเร็วกว่า OpenVPN แต่เพราะต้องใช้ RBAC จึงยังต้องใช้ OpenVPN สำหรับพนักงานและผู้รับจ้าง

  • ใช้งาน Wireguard ร่วมกับ IPv6 อยู่ แต่ฟีเจอร์ IPv6 prefix delegation ไม่ทำงาน อยากให้แต่ละอุปกรณ์เลือกและเปลี่ยนที่อยู่ของตัวเองได้เหมือนในซับเน็ต Ethernet ปกติ

  • ไม่สามารถทำให้ port forwarding บน Wireguard ทำงานได้อย่างถูกต้องโดยไม่ใช้ masquerading หากต้องการคง source IP ไว้ ต้องเพิ่ม 0.0.0.0/0 ใน AllowedIPs แต่สิ่งนี้กลับขัดขวางไม่ให้การตอบกลับของแอปพลิเคชันย้อนกลับไปยังต้นทาง

  • กำลังสร้างโครงสร้างพื้นฐานบน IPv6 ต้องการใช้การเข้ารหัสสมัยใหม่และการออกแบบแบบ stateless ของ Wireguard ขณะเดียวกันก็ไม่อยากใช้ระบบที่อยู่ของ Wireguard แต่ต้องการคงระบบที่อยู่ IPv6 เดิมไว้