HAProxy 패키지 활용

시놀로지 나스에서 HAProxy 패키지를 사용하여 도메인으로 내부 여러 서버 또는 서비스를 쉽게 접속하는 방법입니다.

이 팁을 적용하면 아래와 같은 방식으로 나스의 각종 서비스에 접속할 수 있습니다.

https://photo.mydomain.com -> 포토스테이션

https://file.mydomain.com -> 파일스테이션

https://note.mydomain.com -> 노트스테이션

 

1. 지원 모델 확인

 

HAProxy 패키지를 설치할 수 있는 Architectures는 아래와 같습니다.

braswell armada38x x86 bromolow cedarview avoton 88f628x alpine alpine4k armada370 armada375 armadaxp comcerto2k evansport ppc853x qoriq monaco

위 아키텍처에 맞는 모델명은 아래 사이트에서 확인 바랍니다.

https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model

https://www.synology.com/en-us/knowledgebase/DSM/tutorial/General/What_kind_of_CPU_does_my_NAS_have

 

2. HAProxy 패키지 설치

 

패키지 센터를 실행한 후 “설정” 버튼을 눌러 “패키지 소스” 탭에서 아래 그림과 같이 소스를 추가합니다.

이름: SynoCommunity

위치: http://packages.synocommunity.com/

(더 보기…)

nas4dual에 chroot 설치하기

chroot를 설치하는 방법입니다.

 

chroot의 의미는 wikipedia에 아래와 같이 설명되어 있습니다.

유닉스 운영 체제에서 chroot는 현재 실행 중인 프로세스와 차일드 프로세스 그룹에서 루트 디렉터리를 변경하는 작업이다.

이렇게 수정된 환경에서 실행되는 프로그램은 지정된 디렉터리 트리 밖의 파일들의 이름을 지정할 수 없으므로(즉, 일반적으로는 접근이 불가능하므로) chroot 감옥으로 부른다.

나스 같은 환경에서는 특정 디렉토리에 리눅스(주로 데비안) 시스템 파일을 올려두고 그 디렉토리를 루트 디렉토리로 변경하여 기본 환경에 없는 각종 프로그램을 이용하는 목적으로 많이 사용합니다.

아래는  Arm 프로세서를 사용하는 라우트(RT-AC56U, RT-AC68U, RT-AC87U, RT-AC88U, RT-AC3200, RT-AC5300…)용으로 chroot를 설치하는 방법을 nas4dual에 맞게 수정한 것입니다.

원본은 아래 링크에서 확인할 수 있습니다.

https://www.hqt.ro/how-to-install-debian-jessie-arm/

 

준비 작업

아래 링크를 참고하여 entware를 설치합니다.

http://isulnara.com/wp/archives/1307

(더 보기…)

nas4daul에 Entware 설치

Entware란

– Entware is package repository for embedded devices. bootstrap과 비슷하다고 보면 됩니다. opkg 명령으로 각종 프로그램을 설치해서 실행할 수 있습니다.

https://github.com/Entware-ng/Entware-ng

 

설치 가능한 패키지 리스트는 아래 링크에서 확인 가능합니다.

http://pkg.entware.net/binaries/armv7/Packages.html

 

설치

 

 리부팅 후 /opt 심볼릭 링크를 자동 생성하고 entware 자동시작 스크립트 실행하는 방법

/etc/rc 스크립트가 리부팅하면 초기화 되어서 편법을 사용했습니다.

BubbleUPNPServer 플러그인을 설치하고 실행 후 아래의 스크립트에

/mnt/HDD1/@plugin/java/bubbleupnpserver/bubbleupnpserver_start.sh

다음처럼 두 번째 라인을 추가합니다.

세 번째 라인은 entware에 설치된 각종 시작 스트립트를 실행해주는 명령입니다.

 

자동 시작 스크립트에서 사용하는 툴을 설치하기 위해서 아래 명령을 한 번 내려줍니다.

 

패키지 설치는 아래처럼 하면 됩니다.

 

* Entware를 알려주신 KB님(http://isulnara.com/wp/archives/1152#comment-202542) 고맙습니다^^

NAS4DUAL에 톰캣 올리기

NAS4DUAL에 톰캣(tomcat)을 올려보았습니다.

 

NAS4DUAL에는 기본으로 java가 설치되어 있습니다.

java 설치 위치: /mnt/HDD1/@plugin/system/bin/java

 

아래 명령으로 톰캣을 다운로드하고 압축을 해제합다.

 

catalina.sh 파일에서 “# OS specific support”를 찾아서 바로 위에 JAVA_HOME 환경변수를 설정합니다.  이때 플러그인 폴더의 경로를 자신의 환경에 맞게 수정해야 됩니다.

catalina.sh 파일의 수정된 내용

 

이제 터미널에서 root 사용자로 전환하여 톰캣을 실행합니다. (java는 root 사용자로만 실행 가능함)

 

이제 톰캣이 구동되었습니다.

Synology NAS DSM 5.x에서 Lets’ Encrypt SSL 인증서 발급/자동 갱신

DSM 5.x 또는 그 이하 버전에서 Lets’ Encrypt SSL 인증서를 발급받고 자동 갱신하는 방법을 설명합니다.

SSL 인증서 적용

참고로 DSM 6.0부터는 DSM 자체에 Lets’ Encrypt SSL 인증서를 발급받고 갱신하는 기능이 포함되어 있습니다.

공식 제공하는 Let’s Encrypt 클라이언트는 DSM 5.x에서는 정상 동작하지 않습니다. 그래서 다른 시스템을 이용하여 발급받아야 되는데요.. Lets’ Encrypt 인증서의 유효 기간이 90일이라서 만료 기간에 맞추어 인증서를 갱신하고 나스에 복사하는 작업이 쉽지 않습니다.

이 팁을 따라 하면 최초 한 번만 설치해두면 이후 자동으로 인증서를 갱신해줍니다.

(더 보기…)

시놀로지 나스에 Apache Guacamole 설치하기

시놀로지 나스에 docker를 이용하여 Apache Guacamole을 설치하는 방법에 대해서 설명합니다.

 

Apache Guacamole은 웹브라우저로 원격데스크탑, VNC, SSH 등을 접속 가능하게 해주는 일종의 게이트웨이입니다. 공식 웹사이트에서는 아래와 같이 설명하고 있습니다.

Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.

위 동영상을 보면 무엇인지 쉽게 이해할 수 있습니다.  크롬에서 Guacamole이 구동 중인 특정 사이트에 접속하여 Windows를 원격 접속하고 있습니다.

Guacamole을 사용하면 원격접속하고자 하는 Windows의 RDP 포트를 외부에서 접근할 수 있도록 오픈할 필요가 없습니다. HTTP 또는 HTTPS 포트 하나만 오픈하면 Guacamole에 설정된 여러 대의 컴퓨터에 원격 접속할 수 있습니다.

(더 보기…)

ipTIME NAS4dual ssh 접속

ipTIME NAS4dual에는 기본적으로 sshd 서비스가 없습니다.

확인 결과 telnetd는 설치가 되어 있지만, 실행은 되지 않고 있는 상태입니다. 참고로 텔넷을 임의로 구동하면 root로 암호없이 접속이 가능합니다. 디버깅용으로 존재하는 듯합니다.

 

텔넷은 원격지에서도 아이디로만 접속이 가능하기에 sshd 서비스를 구동시키기 위해서 sshd 플러그인을 만들어서 설치하고, 터미널에 접속해보았습니다.

(더 보기…)