Bạn có một hồ sơ WireGuard tại /etc/wireguard/wg0.conf và muốn nó hoạt động mà không phải gõ wg-quick up bằng tay sau mỗi lần khởi động lại. Mẫu systemd đi kèm gói làm đúng điều đó: [email protected] chạy wg-quick cho hồ sơ tên wg0. Nó cũng cài đặt địa chỉ, tuyến đường, DNS và mọi móc mà hồ sơ khai báo, tức là nhiều hơn việc chỉ nạp một khóa vào nhân. Hãy kiểm tra rằng mẫu thực sự có trên hệ thống của bạn trước khi cho rằng nó có.

Phần còn lại của hướng dẫn này đi theo trình tự bạn thực sự sẽ làm.

Tìm unit và hồ sơ mà nó đọc

Liệt kê các tệp unit bằng systemctl list-unit-files 'wg-quick*'. Trên những bản phân phối đóng gói nó, bạn sẽ thấy [email protected], với tên phiên bản lấy từ hồ sơ. Phiên bản được phân giải thành /etc/wireguard/<name>.conf, nên wg-quick@wg0 chỉ đọc wg0.conf và không gì khác. Nếu danh sách trống thì gói công cụ chưa được cài và bật bao nhiêu cũng không giúp được.

Giữ hồ sơ ở chế độ 600 và thuộc sở hữu của root. Nó chứa một khóa riêng, và unit sẽ vui vẻ chạy với quyền hạn tệ hơn nếu bạn để vậy.

Dựng nó lên và đọc nhật ký

Khởi động phiên bản bằng systemctl start wg-quick@wg0, sau đó kiểm tra systemctl status wg-quick@wg0 và journalctl -u wg-quick@wg0 -b. Một unit khởi động rồi thoát ngay thường có lỗi hồ sơ, và nhật ký nêu tên dòng đó. Xác nhận bằng wg show rằng giao diện tồn tại và lần bắt tay gần nhất là mới. Hướng dẫn wg-quick liệt kê những gì script làm ngoài chính giao diện.

Một giao diện đã cấu hình mà không có bắt tay là vấn đề đường dẫn hoặc khóa, không phải vấn đề dịch vụ.

Giữ một trình quản lý

Nếu NetworkManager hoặc một trình khách khác đã sở hữu đường hầm, việc khởi động unit systemd tạo ra chủ sở hữu thứ hai cho cùng giao diện, tuyến đường và DNS. Triệu chứng thật khó hiểu: đường hầm lên, rồi tuyến đường biến mất, hoặc DNS quay lại như cũ sau vài giây. Hãy chọn một trình quản lý và vô hiệu hóa cái kia cho hồ sơ đó. Nhật ký thường cho thấy việc chiếm quyền dưới dạng thay đổi tuyến đường hoặc trình phân giải ngay sau khi unit báo thành công.

Hai trình quản lý không chia sẻ quyền sở hữu. Chúng ghi đè lên nhau.

Thử dừng, khởi động lại và khởi động máy

Chạy systemctl stop wg-quick@wg0 và xác nhận giao diện đã biến mất và các tuyến đường đã bị xóa. Sau đó khởi động lại nó và kiểm tra rằng các tuyến đường quay về, vì lỗi khi gỡ bỏ xuất hiện dưới dạng tuyến đường còn sót lại chứ không phải khởi động thất bại. Cuối cùng bật nó khi khởi động máy bằng systemctl enable --now wg-quick@wg0 và khởi động lại một lần.

Khi khởi động máy, tên điểm cuối phải được phân giải trước khi unit chạy. Nếu DNS chưa lên, unit sẽ thất bại và tiếp tục thất bại cho đến khi bạn khởi động nó bằng tay.

Ghi lại chủ sở hữu

Ghi lại unit đọc hồ sơ nào, trình quản lý nào sở hữu giao diện và tệp đến từ đâu. Khi ai đó sau này nhập cùng đường hầm vào một trình khách máy tính để bàn, ghi chú đó là khác biệt giữa một lần di chuyển và hai lần triển khai đang tranh nhau một địa chỉ. Cũng ghi lại tên giao diện, vì hai hồ sơ có tên giống nhau là nguồn nhầm lẫn thường gặp.

Một đường hầm có hai chủ sở hữu hoạt động cho đến lần khởi động lại đầu tiên, rồi sau đó là một điều bí ẩn. Vì vậy ghi chú đó thuộc về kho lưu trữ chứ không phải một chuỗi trò chuyện.

Bài viết liên quan