와이어가드는 작동 원리상 커널 지원이 필요하기 때문에 시놀로지에서 사용하려면 도커 이미지 만으로는 부족하고, 패키지를 받아서 추가로 설치해야 합니다.
DSM 6.x에서는 개발자분이 빌드해둔 패키지가 있고 인터넷에도 설치글이 많이 있으나, DSM 7.x부터는 패키지를 직접 빌드해야 하는데다가 방법이 약간 까다로워져서 정리해보려고 합니다.
도커를 사용할줄 아신다면 그냥 깃허브 보고 따라하시면 빌드 자체는 별거 아닙니다.
버전 타겟으로 7.1은 불가능하고 7.0을 넣어야 빌드가 가능하다는 사실만 유의하시면 됩니다. 그래도 7.1에서 잘 작동합니다.
그러나 빌드가 상당히 시간이 걸리기 때문에... DS3617xs, DS3622xs+ 용 패키지를 제가 빌드해뒀습니다.
DS3617xs가 broadwell, DS3622xs+가 broadwellnk 입니다.
링크에서 spk 파일을 다운로드 받으신 뒤, 패키지 센터에서 수동 설치를 선택한 뒤 업로드하여 설치합니다.
* 중요!
"설치 완료 후 실행" 옵션을 끄셔야 합니다. DSM7 부터는 시놀로지가 서명한 정품 패키지를 제외하고는 웹 인터페이스를 통해서는 루트 권한으로 패키지를 실행하는 것이 불가능하기 때문에, SSH를 사용해서 직접 켜줘야 합니다.
실행을 누르지 말고, 시놀로지에 SSH로 접속합니다.
sudo /var/packages/WireGuard/scripts/start
명령어를 입력하여 루트 권한으로 패키지를 실행합니다. 이걸로 백엔드는 준비가 완료되었습니다.
도커로 올릴 프론트엔드는 wireguard나 wg-easy나 편하신대로 골라서 사용하시면 됩니다. 전 wg-easy를 사용하겠습니다.
sudo docker run -d \
--name=wg-easy-container \
-e WG_HOST=[접속시 사용할 IP 또는 URL] \
-e PASSWORD=[사용할 비밀번호] \
-p 51820:51820/udp \
-p 51821:51821/tcp \
-v /volume2/docker/wg-easy:/etc/wireguard \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart="unless-stopped" \
weejewel/wg-easy
위 도커 명령어를 입력하여 wg-easy를 설치합니다.
/volume2/docker/wg-easy 부분에 와이어가드 접속 정보가 저장되는 디렉토리를 입력해주시면 됩니다.
도커가 실행되면 51821 포트에서 HTTP 서버가 열립니다.
도커 실행시 입력한 비밀번호를 입력하고 로그인한 뒤
새 유저를 만들어줍니다. 다운로드 버튼을 누르면 접속 정보가 담긴 conf 파일을 다운로드 받을 수 있습니다.