วิธีเริ่มต้นอุโมงค์ WireGuard เป็นบริการ systemd
เทมเพลต wg-quick@ ยกโปรไฟล์ที่ตั้งชื่อไว้และติดตั้งเส้นทาง DNS และฮุก ตรวจสอบยูนิต ให้ผู้จัดการเพียงคนเดียวรับผิดชอบ และทดสอบการรื้อถอน
คุณมีโปรไฟล์ WireGuard ที่ /etc/wireguard/wg0.conf และต้องการให้มันทำงานโดยไม่ต้องพิมพ์ wg-quick up ด้วยมือทุกครั้งที่รีบูต เทมเพลต systemd ที่มากับแพ็กเกจทำแบบนั้นเป๊ะ: [email protected] รัน wg-quick สำหรับโปรไฟล์ชื่อ wg0 มันยังติดตั้งที่อยู่ เส้นทาง DNS และฮุกใด ๆ ที่โปรไฟล์ประกาศ ซึ่งมากกว่าการโหลดคีย์ลงเคอร์เนล ตรวจสอบว่าเทมเพลตมีอยู่จริงในระบบของคุณก่อนจะถือว่ามี
ส่วนที่เหลือของคู่มือนี้เรียงตามลำดับที่คุณจะทำจริง
หายูนิตและโปรไฟล์ที่มันอ่าน
แสดงรายการไฟล์ยูนิตด้วย systemctl list-unit-files 'wg-quick*' บนดิสทริบิวชันที่แพ็กเกจสิ่งนี้คุณจะเห็น [email protected] โดยชื่ออินสแตนซ์มาจากโปรไฟล์ อินสแตนซ์แปลงเป็น /etc/wireguard/<name>.conf ดังนั้น wg-quick@wg0 อ่านเฉพาะ wg0.conf และไม่มีอย่างอื่น ถ้ารายการว่าง แพ็กเกจเครื่องมือยังไม่ได้ติดตั้ง และการเปิดใช้งานเท่าไรก็ไม่ช่วย
เก็บโปรไฟล์ไว้ที่โหมด 600 และเป็นเจ้าของโดย root มันมีคีย์ส่วนตัว และยูนิตจะยินดีทำงานด้วยสิทธิ์ที่แย่กว่าถ้าคุณปล่อยไว้
ยกมันขึ้นมาและอ่านเจอร์นัล
เริ่มอินสแตนซ์ด้วย systemctl start wg-quick@wg0 จากนั้นตรวจสอบ systemctl status wg-quick@wg0 และ journalctl -u wg-quick@wg0 -b ยูนิตที่เริ่มแล้วออกทันทีมักมีข้อผิดพลาดของโปรไฟล์ และเจอร์นัลจะระบุบรรทัด ยืนยันด้วย wg show ว่าอินเทอร์เฟซมีอยู่และการจับมือล่าสุดเป็นช่วงใกล้ ๆ คู่มือ wg-quick ระบุว่าสคริปต์ทำอะไรนอกเหนือจากตัวอินเทอร์เฟซ
อินเทอร์เฟซที่กำหนดค่าแล้วแต่ไม่มีการจับมือเป็นปัญหาเส้นทางหรือคีย์ ไม่ใช่ปัญหาบริการ
ให้ผู้จัดการเพียงคนเดียวรับผิดชอบ
ถ้า NetworkManager หรือไคลเอนต์อื่นเป็นเจ้าของอุโมงค์อยู่แล้ว การเริ่มยูนิต systemd จะสร้างเจ้าของคนที่สองสำหรับอินเทอร์เฟซ เส้นทาง และ DNS เดียวกัน อาการสับสน: อุโมงค์ขึ้นมาแล้วเส้นทางหายไป หรือ DNS กลับไปเป็นเหมือนเดิมในไม่กี่วินาที เลือกผู้จัดการหนึ่งคนและปิดอีกคนสำหรับโปรไฟล์นั้น เจอร์นัลมักแสดงการยึดครองเป็นการเปลี่ยนแปลงเส้นทางหรือตัวแปลงชื่อทันทีหลังจากยูนิต รายงานความสำเร็จ
ผู้จัดการสองคนไม่แบ่งปันความเป็นเจ้าของ พวกเขาเขียนทับกัน
ทดสอบการหยุด การรีสตาร์ต และการบูต
รัน systemctl stop wg-quick@wg0 และยืนยันว่าอินเทอร์เฟซหายไปและเส้นทางถูกลบ แล้วเริ่มมันอีกครั้งและตรวจสอบว่าเส้นทางกลับมา เพราะบั๊กของการรื้อถอนปรากฏเป็นเส้นทางที่ค้างอยู่ ไม่ใช่เป็นการเริ่มที่ล้มเหลว สุดท้ายเปิดใช้งานตอนบูตด้วย systemctl enable --now wg-quick@wg0 และรีบูตหนึ่งครั้ง
ตอนบูต ชื่อปลายทางต้องแปลงได้ก่อนยูนิตจะทำงาน ถ้า DNS ยังไม่ขึ้น ยูนิตจะล้มเหลวและคงล้มเหลวจนกว่าคุณจะเริ่มด้วยมือ
บันทึกเจ้าของ
เขียนว่ายูนิตอ่านโปรไฟล์ไหน ผู้จัดการคนไหนเป็นเจ้าของอินเทอร์เฟซ และไฟล์มาจากไหน เมื่อมีคนนำเข้าอุโมงค์เดียวกันไปยังไคลเอนต์เดสก์ท็อปในภายหลัง บันทึกนั้นคือความต่างระหว่างการย้ายครั้งเดียวกับการติดตั้งสองชุดที่แย่งที่อยู่เดียวกัน บันทึกชื่ออินเทอร์เฟซด้วย เพราะสองโปรไฟล์ที่ชื่อคล้ายกันคือต้นเหตุปกติของความสับสน
อุโมงค์ที่มีเจ้าของสองคนทำงานได้จนถึงรีบูตครั้งแรก แล้วมันก็กลายเป็นปริศนา นั่นคือเหตุผลที่บันทึกนั้นควรอยู่ในรีโป ไม่ใช่ในเธรดแชต