Chuyên mục
NAS Network

Cài đặt Wireguard VPN lên DSM 7.2 (Synology / Xpenology)

Sau khi cài đặt Docker thành công lên DSM 7.2, mình hí hửng cài đặt WireGuard VPN bằng Wirehole-UI thì mới biết DSM 7.2 chưa hỗ trợ WireGuard. DSM chỉ hỗ trợ các giao thức VPN cũ như: PPTP, OpenVPN, L2TP/IPSEC, thông qua app VPN Server.

Khi cài đặt WireGuard VPN thông qua wg-easy sẽ bị báo lỗi này trong logs

wg-easy  | Error: WireGuard exited with the error: Cannot find device "wg0"
wg-easy  | This usually means that your host's kernel does not support WireGuard!Code language: JavaScript (javascript)

Sau một vòng Google, mình đã tìm ra cách cài đặt WireGuard VPN trên DSM 7.2 và chia sẻ trong bài viết này.

1. Tạo WireGuard SPK cho DSM

Để sử dụng WireGuard VPN trên DSM, cần phải cài đặt thêm gói phần mềm WireGuard. Mỗi phiên bản DSM và Synology Model sẽ cần có 1 gói cài đặt (file spk) riêng, do đó chúng ta cần phải tự tạo gói phần mềm dựa trên cấu hình đang sử dụng.

Gói phần mềm WireGuard SPK sẽ được tạo bằng Docker. Bạn có thể thao tác trên bất kỳ máy tính nào đã được cài Docker.

Sử dụng lệnh sau trong Terminal để tạo gói phần mềm Wireguard SPK, bạn cần thay đổi 2 thông số sau:

sudo docker run --rm --privileged --env PACKAGE_ARCH=<enter_yourNAS_arch> --env DSM_VER=7.2 -v /volume1/docker:/result_spk blackvoidclub/synobuild72Code language: Nginx (nginx)

Mình chạy Xpenology DS918+ và DSM 7.2 nên sẽ dùng lệnh sau

sudo docker run --rm --privileged --env PACKAGE_ARCH=apollolake --env DSM_VER=7.2 -v /volume1/docker:/result_spk blackvoidclub/synobuild72Code language: Nginx (nginx)

Quá trình build sẽ mất khoảng 5-10 tùy cấu hình NAS. Sau khi hoàn tất, bạn sẽ thấy thông báo tương tự như bên dưới

'conf/systemd/@eaDir/pkg-wg-quick@.service@SynoEAStream' -> '/tmp/_test_spk/conf/systemd/@eaDir/pkg-wg-quick@.service@SynoEAStream'
'conf/systemd/@eaDir/pkg-wg-quick@.service@SynoResource' -> '/tmp/_test_spk/conf/systemd/@eaDir/pkg-wg-quick@.service@SynoResource'
'PACKAGE_ICON.PNG' -> '/tmp/_test_spk/PACKAGE_ICON.PNG'
'PACKAGE_ICON_256.PNG' -> '/tmp/_test_spk/PACKAGE_ICON_256.PNG'
creating package: WireGuard-geminilake-1.0.20220627.spk
source:           /tmp/_test_spk
destination:      /image/packages/WireGuard-geminilake-1.0.20220627.spk
[WARNING] /tmp/_install is empty!
[INFO] Install WireGuard finished!
1 projects, 0 failed, 0 blocked.

[INFO] Finished SynoInstall script.Code language: JavaScript (javascript)

Trong thư mục docker lúc này sẽ xuất hiện thêm 1 thư mục có tên tương tự như WireGuard-1.0.xxxxxxxx, bên trong sẽ có 2 file WireGuard-apollolake-1.0.20220627_debug.spk và WireGuard-apollolake-1.0.20220627.spk. Chúng ta sẽ cài đặt bằng file WireGuard-apollolake-1.0.20220627.spk

2. Cài đặt Wireguard SPK

Truy cập vào DSM, mở Package Center”

  1. Chọn Manual Install
  2. Chọn file WireGuard-apollolake-1.0.20220627.spk

Bấm Next, sau đó bấm tiếp Agree để xác nhận đồng ý cài đặt.

CHÚ Ý: KHÔNG được chọn mục Run after installation. Chúng ta sẽ kích hoạt bằng SSH sau khi cài đặt.

Sau khi cài xong, bạn cần KHỞI ĐỘNG lại Synology.

Truy cập vào SSH vào chạy lệnh sau để kích hoạt WireGuard

sudo /var/packages/WireGuard/scripts/startCode language: JavaScript (javascript)

Thông báo sẽ hiện ra như sau: WireGuard đã khởi động thành công.

WireGuard has been successfully startedCode language: Nginx (nginx)

Quay lại DSM, mở Package Center, bạn sẽ thấy WireGuard đang hoạt động.

WireGuard đã được kích hoạt trên DSM. Giờ có thể cài WireGuard VPN bằng Docker được rồi.

3. Cài đặt WireGuard VPN bằng WireHole-UI

Cài đặt WireHole-UI theo hướng dẫn mình đã chia sẻ ở đây:

Nếu kích hoạt docker-compose thành công, bạn có thể truy cập được vào địa chỉ http://<NAS-IP:51821 để cấu hình Wireguard client.

Xem logs của wg-easy bằng lệnh docker-compose logs wg-easy sẽ thấy container hoạt động êm, không bị báo lỗi nữa.

wg-easy  | 2024-01-05T07:18:39.406Z Server Listening on http://0.0.0.0:51821
wg-easy  | 2024-01-05T07:18:39.410Z WireGuard Loading configuration...
wg-easy  | 2024-01-05T07:18:39.419Z WireGuard Configuration loaded.
wg-easy  | 2024-01-05T07:18:39.420Z WireGuard Config saving...
wg-easy  | 2024-01-05T07:18:39.428Z WireGuard Config saved.
wg-easy  | $ wg-quick down wg0
wg-easy  | $ wg-quick up wg0
wg-easy  | 2024-01-05T07:18:39.648Z WireGuard Config syncing...
wg-easy  | $ wg syncconf wg0 <(wg-quick strip wg0)
wg-easy  | 2024-01-05T07:18:39.696Z WireGuard Config synced.Code language: YAML (yaml)

Vậy là xong. DSM 7.2 đã được tích hợp thêm WireGuard VPN Server ngon lành.

Tham khảo: Blackvoid

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *