본문 바로가기

소프트웨어/일반

[No-ip] 무료 DNS/DDNS 서비스 설정하기 (D-Link DDNS 서비스 종료)

 

 

 애석하게도 5월 19일에 D-Link DDNS 서비스가

종료

되었습니다. 

안돼!

 

 라즈베리파이에 라즈비안을 올리고 VPN 서버 및 간단한 빌드용으로 사용하고 있었기에 눈물이 앞을 가렸습니다.

 

 

 적당히 검색을 해보니 No-IP(https://www.noip.com/)에서 무료 DDNS 및 DNS 서비스를 제공하더라구요. DNS 및 DDNS를 제한적으로나마 무료로 사용할 수 있어서 이 서비스를 선택하였습니다. 생성되는 DNS 주소도 짧게 설정할 수 있어서 마음에 들었습니다. 

NO-IP

 

 아래는 라즈베리파이에 no-ip DNS 및 DDNS를 설정하는 방법입니다.

 

1. no-ip 홈페이지에 접속합니다. (https://www.noip.com/)

 

 

2. 우측 상단의 Sign Up을 클릭해서 회원가입을 진행합니다.

 

3. 이메일과 비밀번호를 입력하고 Create my hostname later를 체크한 후 하단의 Free Sign Up을 클릭하여 회원 가입 및 인증 메일 발송을 기다립니다.

 

 - 아래의 Email Opt-In 항목을 체크 해제하면 광고성 메일을 막을 수 있습니다!

 

어유~ 괜찮아요~

 

 

 - 이메일 인증은 이런 형태의 메일을 수신하게 됩니다.

 

Confirm Account를 눌러서 완료해주자

 

4. 이메일 인증 후 no-ip 홈페이지의 우측 최상단의 Log In으로 로그인을 해줍시다.

 

5. 인증 메일을 클릭하면 자동으로 로그인이 됩니다. 대시보드는 로그인 이후 홈페이지 상단에 my account로 다시 들어올 수 있습니다.

 

6. 대시보드에 진입한 뒤 부가 정보 및 2차 비밀번호 질문을 설정합니다. 적당히 기입해주시기 바랍니다.

해줍시다

 - 이 메뉴는 좌측의 Account > Account Info를 통해 들어올 수 있습니다.

 

 

7. 이제 DNS 설정을 시작합니다.

 - Dynamic DNS > No-IP Hostnames로 진입한 뒤 Create Hostname을 클릭합니다.

 

8. 사용할 Hostname과 Domain을 선택합니다.

Domain은 무료와 유료가 있으니 선택을 하면 됩니다. 아래의 IPv4 Address는 현재 접속중인 컴퓨터의 IPv4 정보이며 추후 DDNS 클라이언트가 설정이 되면 해당 IP로 변경이 됩니다. 

 - 지금 변경하지 않아도 상관은 없으나 테스트를 위해 현재 라즈베리파이의 외부 IP를 입력하고 SSH 접속 테스트를 해봅니다.

> ssh [계정]@iroiro.ddnsking.com

 

9. Create Hostname으로 생성이 완료 되면 아래와 같이 DNS가 생성됩니다.

 

 

10. 이제 클라이언트에서 DDNS 설정을 완료합니다.

주기적으로 서버에 IP를 업데이트를 해줄 수 있습니다. 클라이언트는 윈도우, Mac, Linux를 지원합니다.

 

해당 메뉴는 대시보드 좌측 메뉴에서 Dynamic DNS > Dynamic Update Client에서 확인할 수 있습니다. 동영상 설명까지 되어 있으니 잘 따라할 수 있을겁니다.

 

11. Dynamic update client 설치/실행

저는 라즈비안를 사용할 예정이므로 다음 링크(https://www.noip.com/support/knowledgebase/install-ip-duc-onto-raspberry-pi/)를 참고하여 진행하였습니다.

 

 - 클라이언트 설치

$ mkdir /home/pi/noip
$ cd /home/pi/noip
$ wget www.noip.com/client/linux/noip-duc-linux.tar.gz
$ tar noip-duc-linux.tar.gz
$ cd noip-2.1.9-1
$ sudo make
$ sudo make install

 

이후에 no-ip 계정의 이메일과 비밀번호, DNS 이름, 갱신 주기(5분 이상)를 설정해줍니다. 

 

- 클라이언트 실행

$ sudo /usr/local/bin/noip2

 

클라이언트 실행 직후 no-ip 대시보드를 확인해보면 클라이언트의 외부 IP로 변경된 것을 확인할 수 있습니다.

 

- 클라이언트 실행 확인

$ sudo noip2 ­-S

 

- 도움말은 다음 명령어로 확인합니다.

$ sudo noip2 ­-h

 

 

 

12. 부팅 시에 자동으로 no-ip를 실행할 수 있도록 설정합시다.

(참고:https://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html)

 

$ sudo nano /etc/init.d/no-ip

 

nano 에디터에서 다음을 작성하고 저장합니다. (저장은 Ctrl+O, nano 에디터 종료는 Ctrl+X)

 

#! /bin/sh
# /etc/init.d/no-ip

### BEGIN INIT INFO
# Provides:           no-ip
# Required-Start:     $remote_fs $syslog
# Required-Stop:      $remote_fs $syslog
# Default-Start:      2 3 4 5
# Default-Stop:       0 1 6
# Short-Description:  Simple script to start noip2 at booting time
# Description:        please use it with [start | stop] options.
### END INIT INFO

case "$1" in
 start)
   echo "Starting no-ip"
   /usr/local/bin/noip2
   ;;
 stop)
   echo "Stopping no-ip"
   killall noip2
   ;;
 *)
   echo "Usage: /etc/init.d/no-ip [start|stop]"
   exit 1
   ;;
esac

exit 0

 

스크립트가 잘 되는지 테스트 합니다.

 

 - 시작

$ sudo /etc/init.d/no-ip start
Starting no-ip

 

 - 동작 프로세스 확인

$ sudo noip2 -S
1 noip2 process active.
Process 275, started as noip2, (version 2.1.9)

 

 - 종료

$ sudo /etc/init.d/no-ip stop
Stopping no-ip

 

 - 동작 프로세스 확인

$ sudo noip2 -S
No noip2 processes active.

 

위의 과정이 정상적으로 확인되었다면 이 스크립트를 부팅 시에 동작하도록 다음 명령어로 등록해줍니다.

$ sudo update-rc.d no-ip defaults

 

$ ls /etc/rc*.d | grep no-ip
K01no-ip
K01no-ip
S01no-ip
S01no-ip
S01no-ip
S01no-ip
K01no-ip

 

이제 재부팅이 되어도 해당 서비스를 실행됩니다.

 

 

나중에 필요없게 된 경우에는 다음 명령어로 제거해줍니다.

$ sudo update-rc.d -f no-ip remove

 

 

끝~!