
원래 서버용으로 쓰는 다른 PC에 세팅을 해서 쓰고 있었는데, 최근에 원인 모를 셧다운과, 재부팅 할 일이 꽤 생기다보니 DNS 접속이 끊겨 문제가 생겨 시놀로지로 옮겨서 설치하기로 했습니다. 그 과정을 설명하도록 하겠습니다.
어느정도 기초 지식이 있다는 가정 하에 진행을 하며, 자세한 설명은 생략될 수 있습니다.
환경 및 사전준비
시놀로지 DS918+
DSM7.2.2 Update3



(사진이 작아서 어떤 내용인지 알아보기 힘들다면, 눌러서 확대가 가능합니다)
우선 사전 준비가 필요합니다.
1. 패키지 센터에서 Container Manager 설치
2. AdGuard Home의 파일들이 저장될 컨테이너에 마운트할 폴더를 만들어 두기.
3. SSH 활성화 ( 사용법은 여기서 설명하지 않습니다 )
네트워크 정보 파악하기

ip route | grep default
BashSSH로 시놀로지에 접속한 뒤, 명령어를 입력하여, 현재 시놀로지의 IP, 게이트웨이, 사용중인 어댑터를 확인해야 합니다.
물론 어느정도 기초지식이 있고, 네트워크가 어떻게 구성되어있는지 알고 있는 상태라면, 건너 뛰어도 됩니다.
연결한 포트에 따라 eth0이나 eth1이 될 수도 있고, Open vSwitch 기능이 활성화 되어 있는 경우, 저처럼 ovs_가 붙은 어댑터가 추가로 생겨서 거기에 아이피가 할당되어 있을수도 있습니다.

ifconfig
Bashifconfig 명령어를 사용하면, 여러가지 어댑터들과 상태가 나옵니다.
여기서 위에서 얻은 정보 외에 추가로 Broadcast, Mask값을 확인할 수 있습니다.
Broadcast값은 여기서 필요 없으니 얻은 정보를 조합 해본다면
IP : 192.168.0.100
Mask : 255.255.255.0
Gateway : 192.168.0.1
어댑터 : ovs_eth0
만약 Mask값이 255.255.255.0이 아니라면, 일반적인 상황이 아니므로, 무작정 이 글을 따라해서는 안되니, 기초 지식을 쌓고 지금 네트워크가 어떻게 설정되어있는지 파악을 한 뒤 작업을 하셔야함을 알려드립니다.

시놀로지는 DSM에서 기본으로 점유하고 있는 포트들이 많아서 포트 충돌을 내지 않고 컨테이너에 AdGuard Home을 설정하기 위해서 macvlan 네트워크를 생성해서 구성하는게 유리합니다.
이 macvlan은 별도의 외부 IP주소를 할당 하므로, 현재 네트워크에서 사용하지 않는 주소를 지정해 주어야 합니다.
일반적인 공유기가 있는 가정집이라면, 공유기 페이지에서 확인이 가능할 것이고, 저의 경우는 TP-Link Omada 장비로 홈 네트워크를 구성해 두었기 때문에, 별도의 컨트롤러 페이지에서 확인을 했습니다.
확인 후 사용하지 않는 IP를 사용하시면 됩니다. 일반적으로 192.168.0.1(게이트웨이) 192.168.0.255(브로드캐스트)이니 이 두개 빼고 사이에 사용하지 않는 IP값을 사용하면 됩니다
Docker 네트워크 생성하기

sudo docker network create -d macvlan\
-o parent=네트워크어댑터\
--subnet=서브넷/24\
--gateway=게이트웨이\
--ip-range=비어있던IP/32 ag_network(네트워크이름)
Bashdocker 명령어들은 관리자 권한이 필요하므로 sudo를 잊지 마시기 바랍니다.
mask값이 255.255.255.0 인 경우, 서브넷이 /24이므로 네트워크주소/24 가 됩니다
네트워크 주소도 지금 설명하려면 길어지니 대충 일반적인 홈 네트워크라면, 게이트웨이 IP값에서 제일 뒤 숫자를 0으로 만들면 됩니다.
예시) 192.168.0.1 -> 192.168.0.0
ip-range에서는 위에서 비어있던IP/32 를 입력하면 되는데, /32 서브넷은 하나의 IP만 포함 하므로, 입력한 아이피 주소만 해당된다는 것을 의미합니다.
큰 문제가 없다면, 오류 없이 생성 됩니다. (네트워크 어댑터가 잘못되어도 생성은 되니 나중에 오류가 발생한다면 다시 확인)
내부 통신을 위한 브릿지 네트워크 생성하기

라우터를 거치지 않고 컨테이너끼리 통신을 위한 브릿지 네트워크를 생성하는 부분입니다.
필요 없는 분들은 건너 뛰고 앞에서 만든 macvlan 네트워크만 사용하시면 됩니다.
Container Manager에서 네트워크 탭으로 이동 후, 추가를 눌러서 브릿지 네트워크를 생성합니다.
이름은 사용할 이름으로 임의로 입력하고, IP도 자동으로 둬도 큰 문제는 없지만, 지정해주었습니다.
AdGuard Home 컨테이너 생성하고 설정하기

sudo docker run --name adguardhome\
--restart unless-stopped\
-v /애드가드폴더/work:/opt/adguardhome/work\
-v /애드가드폴더/conf:/opt/adguardhome/conf\
--net=네트워크\
-d adguard/adguardhome
Bash이제 컨테이너를 생성합니다. docker run 명령으로는 네트워크 어댑터를 하나만 지정할 수 있기에, 하나의 네트워크를 연결해서 먼저 생성하고 필요한경우 DSM에서 나머지를 붙이는 방식으로 진행 됩니다.
컨테이너를 만드는 부분은 DSM에서 똑같이 진행 가능합니다. 옵션만 잘 보고 진행 하시면 됩니다.

컨테이너가 생성된 후, 추가 네트워크를 생성했다면, 추가로 생성한 네트워크를 선택하고 관리로 들어갑니다.
AdGuard Home 컨테이너를 체크하고 적용하면, 컨테이너가 네트워크로 합류합니다.


macvlan을 만들때 사용했던 빈IP주소로 접속해보면 이제 AdGuard Home 페이지가 뜹니다.
클라이언트 목록을 확인 해보면, 새 기기가 떠있는 것을 볼 수 있습니다.
원래라면 신규로 설치 했을때 설치 페이지가 뜨지만, 저는 마이그레이션이기 때문에 로그인창이 바로 떴습니다.
AdGuard Home을 새로 설정 하는 방법은 구글에 검색하면 저보다 더 잘 설명해둔 게시물이 많으니, 참고하시면 되겠습니다.
— 참조 —
https://www.wundertech.net/how-to-install-adguard-home-on-a-synology-nas/