비밀번호 없이 시놀로지 ssh 접속을 위한 설정 방법

 

[ Client 장비 ]

1. RSA 공개키 생성

# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/app/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/app/.ssh/id_rsa.
Your public key has been saved in /home/app/.ssh/id_rsa.pub.
The key fingerprint is:
d9:21:a2:3d:a3:21:07:52:cd:bb:ed:a8:51:d9:56:09 your_email@example.com
The key's randomart image is:
+--[ RSA 4096]----+
|  .o  E          |
| .  o  . .       |
|. .  .. + .      |
| . ..= o + .     |
|  . *o* S .      |
|   +.+.o         |
|  . .o           |
|   .. .          |
|  ..             |
+-----------------+

2. 공개키 확인

# cat .ssh/id_rsa.pub

3. 공개키 저장 또는 시놀로지 업로드

 

[ 시놀로지 설정 ]

1. 제어판 -> 터미널 및 SNMP -> 터미널 탭에서 SSH 서비스 활성화

2. 접속하려는 계정의 그룹 확인 ( Administrators 그룹만 ssh 지원 )

3. 시놀로지 SSH 접속 후 ssh 설정 변경 후 리로드

sudo vi /etc/ssh/sshd_config

## 아래의 내용 주석 삭제 후 저장
RSAAuthentication yes
PubkeyAuthentication yes

# reload
sudo synoservicectl --reload sshd

4. Client 공개키 내용을 접속하려는 시놀로지 계정의 ~/.ssh/authorized_keys 에 등록

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

 

시놀로지에서 네트워크 공유를 위한 삼바 설정은 아래와 같이 간단하게 할 수 있다.

삼바는 버전이 크게 1.0~3.0까지 있는데 고급 설정에서 최소/최대 삼바 지원 버전을 설정할 수 있다.

[ Samba 설정 ]

1. 시놀로지 제어판 -> 파일 서비스 -> SMB 서비스 활성화 체크

 

2. 최대/최소 지원 버전은 고급 설정에서 설정 가능

mysqli driver 사용 하는데 아래와 같이 에러가 발생한다면 php 설정에서 mysqli extention이 활성화 되지 않은 것이다.

 

 

Web Station에서 PHP 설정에서 mysqli extention을 활성화하면 정상적으로 사용 가능하다.

기존에는 CentOS에 nginx, php-fpm, MySQL을 설치하여 웹서버를 사용하고 있었으나

시놀로지에서 한번에 관리하고 싶어 시놀로지로 모두 옮겼다.

단순히 nginx, php만 띄워서는 원하는 대로 접속이 되지 않아 내가 설정한 방법을 정리한다.

 

nginx + php-fpm + CodeIgniter 설정 방법

1. 시놀로지 패키지 센터에서 아래의 패키지를 설치한다.

 - Webstation

1-1. 디폴트로 PHP 7.0을 사용하도록 되어 있는데 필요한 버전의 PHP 버전을 패키지 센터에서 설치하면 된다. 나의 경우 PHP 5.6을 설치함

 

2. Web Station 가상 호스트 탭에서 접속하기를 원하는 포트와 directory 정보, 웹서버 정보등을 설정한다.

 - 아래 예제는 http://servername:9999 로 접속하고, nginx, php5.6을 사용하는 예제이다.

 

3. 설정을 했다면 ssh로 접속하여 nginx의 config를 확인

 - nginx config 경로 : /etc/nginx/app.d/server.webstation-vhost.conf

$ cat /etc/nginx/app.d/server.webstation-vhost.conf
server {
    listen      9999;
    listen      [::]:9999;
    location / {
        return 404;
    }
}

server {

    listen      9999;
    listen      [::]:9999;

    server_name servername;

    root    "/volume1/web";
    index    index.html  index.htm  index.cgi  index.php  index.php5 ;
    error_page 400 401 402 403 404 405 406 407 408 500 501 502 503 504 505 @error_page;

    location @error_page {
        root /var/packages/WebStation/target/error_page;
        rewrite ^ /$status.html break;
    }

    location ^~ /_webstation_/ {
        alias    /var/packages/WebStation/target/error_page/;
    }

    location ~* \.(php[345]?|phtml)$ {
        fastcgi_pass unix:/run/php-fpm/php-844257d5-dd27-4885-8fd8-96cf320e39ac.sock;
        fastcgi_param HOST "tksvpn.uangel.com";
        include fastcgi.conf;
    }

    include /usr/local/etc/nginx/conf.d/abcdefgh-ijkl-mno-a8ad-93bafc932afc/user.conf*;

}

 - 여기서 include로 되어 있는 곳을 확인

 ( /etc/nginx/app.d/server.webstation-vhost.conf 파일은 수정하더라도 재기동되면 초기화 되기 때문에 include로 되어 있는 곳에 개인 config파일을 설정하여 관리한다. )

 

4. include 되어 있는 곳에서 user.conf 파일 생성 ( root 계정에서 수행해야 함 )

$ sudo vi /usr/local/etc/nginx/conf.d/abcdefgh-ijkl-mno-a8ad-93bafc932afc/user.conf

5. 아래의 내용을 추가하고 저장한다.

location /coin {
    index  index.html index.php;
    try_files $uri $uri/ /coin/index.php;
}

location ~ /\.ht {
    deny  all;
}

6. nginx reload

$ sudo nginx -s reload

7. 접속 확인

 - documet root는 /volume1/web 이고

 - CodeIgniter 코드는 /volume1/web/coin 아래에 두고

 - http://servername:9999/coin 으로 접속하면 접속이 된다.

외부에서 메인으로 PLEX 서버 및 토렌토 다운로드 용으로 사용하는 Xpenology의 실 소비 전력 정보
현재 PLEX는 30명 정도 공유해서 보고 있고, 동시 스트리밍은 많아봐야 6~8명정도 되는 것 같다.
CPU 사용은 트랜스코딩이 발생할 경우 많이 사용하게 되는데
처음에 재생할 경우만 CPU를 좀 크게 사용하고 이후에는 buffer가 있는 상태에서 스트리밍 진행되기 때문에
지금의 스펙으로도 여유가 있는 편이다. ( 6명 스트리밍 시 CPU 43%정도 )


현재 사용 중인 Xpenlogy 스펙은 아래와 같다.

[ Xpenology ] 
 - CPU : Intel Haswell i7-4770 ( 4 core, 8 thread )
 - 메모리 : 총 8기가 ( DDR3 4GB * 2 )
 - SSD : 1TB * 2 ( RAID 1 )
 - HDD : 8TB * 4 ( RAID 5 ), 6TB * 4 ( RAID 5 )
 - CPU TDP : 84W

SKT 스마트 플러그 상으로 IDLE 시 88W, 최대 111W 정도 사용 중이다.
IDLE 시 SSD는 소비 전력이 1W, 하드 1개당 5W 로 계산 시 42W 정도가 디스크의 소모 전력이라고 하면
CPU는 IDLE 시 46W, 30~40% 사용 시 65W 정도 소비하는 것으로 볼 수 있다.
( 누진세 고려하지 않은 경우 하루 430원 정도 )


집에서 영상 자료 백업용으로 사용하는 Xpenology의 실 소비 전력 정보
사용 용도는 외부에 있는 또 다른 Xpenology의 자료 백업 ( 이중화 )
DS918+와 마찬가지로 거의 IDLE 상태로 보면 될 듯 싶다.

현재 사용 중인 Xpenlogy 스펙은 아래와 같다.

[ Xpenology ] 
 - CPU : Intel Ivy Bridge i5-3570 ( 4core, 4 thread )
 - 메모리 : 총 8기가 ( DDR3 4GB * 2 )
 - SSD : 500GB * 2 ( RAID 1 )
 - HDD : 8TB * 4 ( RAID 5 ), 6TB * 4 ( RAID 5 )
 - CPU TDP : 77W

SKT 스마트 플러그 상으로 78W 정도 사용 중이다.
IDLE 시 SSD는 소비 전력이 1W, 하드 1개당 5W 로 계산 시 42W 정도가 디스크의 소모 전력이라고 하면
CPU는 36W 정도 소비하는 것으로 볼 수 있다.
( 누진세 고려하지 않은 경우 하루 350원 정도 )



집에서 사진 백업용으로 사용하는 DS918+의 실 소비 전력 정보
사용 용도는 주로 Photo Station을 통한 사진 백업 및 Git 서버만 운용
거의 IDLE 상태로 보면 될 듯

현재 사용 중인 스펙은 아래와 같다.

[ DS918+ 사양 ] 
 - CPU : Intel Celeron J3455 쿼드 코어
 - 메모리 : 총 8기가 ( DDR3L 4GB * 2 )
 - HDD : 2TB * 4 ( RAID 5 )
 - 전력 소비량 : 28.8W ( 사용 시 ), 12.6W ( 대기 시 )

HDD의 소비 전력을 1개당 5W로 계산하면 20W, DS918+ 의 대기 전력 12.6W를 더하면 총 33W 정도가 나오는데
( 누진세 생각하지 않고 하루에 150원 )
SKT 스마트 플러그로 보니 거의 비슷하게 나오는 것 같다.

* 참고로 Full Load 시에는 하드 소비 전력은 10W 정도라고 하니 최대 69W 정도 나올 것 같다. ( HDD 10W * 4 + DS918+ 29W )






PLEX에서 TIDAL을 지원한다는 이야기를 듣고 정상 연동을 시켰는데
PLEX 상에서 TIDAL이 제대로 뜨지 않는 문제가 있었다.
TIDAL이 현재 한국에서 서비스를 하고 있지 않아 발생하는 문제인 것 같은데
정확하게 확인을 해보려면 PLEX 서버가 운용되고 있는 시놀로지의 IP가 한국이 아닌 해외로 인지되어야 했다.
찾아보니 시놀로지의 제어판에서 VPN 설정만 추가하면 되더라.
지원하는 VPN 프로토콜은 PPTP, OpenVPN, L2TP/IPSec을 지원한다.
우선 무료로 확인을 해보기 위해 무료 OpenVPN을 찾아보다 vpngate로 성공
( 보안 우려 및 속도가 빠른 유료 서비스를 사용하고자 한다면 VYPRVPN 도 고려 가능함 )

시놀로지에서 VPN 접속하는 방법은 아래와 같다.
VPN 접속이 되면 시놀로지 외부 접속 시 접속이 끊어질수 있다.
로컬에서 접속 가능한 환경에서 시도하자.

[ vpngate를 통한 시놀로지 OpenVPN 접속 방법 ]

1. vpngate 사이트 접속 : https://www.vpngate.net/en/

2. vpngate에서 사용하는 user/passwd 정보 확인 ( 현재 user: vpn, passwd: vpn )


2. 원하는 국가의 VPN 접속 정보를 찾는다. ( 여기서는 미국으로 진행 )

3. OpenVPN을 통해 진행할거기 때문에 "OpenVPN Config file” 클릭
4. .ovpn 파일을 받자 ( IP는 유동 IP 일수 있기 때문에 DDNS 추천 )


5. 시놀로지 접속
6. 제어판 -> 네트워크 -> 일반 탭 -> 고급 설정 선택
7. 다중 게이트웨이 활성화 확인 및 적용 
 * 다중 게이트웨이 활성화를 하지 않을 경우 모든 트래픽이 VPN을 통해 나가게 될 수 있다.

8. 네트워크 인터페이스 탭 이동
9. 생성 -> VPN 프로파일 생성 클릭

10. OpenVPN (.ovpn 파일 가져오기를 통해 ) 선택 후 다음

11. 설정 정보 입력 및 .ovpn 파일 업로드 다음
 - 프로파일 이름 : vpngate_us ( 원하는 이름 설정 )
 - 사용자 이름 : vpn
 - 암호 : vpn


12. 고급 설정 확인 후 적용

13. 해당 VPN 연결

14. 좀 기다리면 연결된다.


15. route table 설정 후 사용하자 


+ Recent posts