우분투 리눅스 dnsever DDNS 설정하기

Ubuntu 2014. 1. 10. 10:49 Posted by bluemount

1. 다이나믹 DNS란? 

 

유동 IP환경에서도 웹서버 등을 운용할 수 있게 해 주는 서비스 입니다.

 

기업용 회선을 제외한 보통의 인터넷 회선은 몇시간 또는 몇일 단위로 IP 주소가 변경 됩니다. 그래서 고정IP를 사용해야 하는 서비스를 이용할 수 가 없었습니다.

 

DDNS(다이나믹 DNS) 를 이용하면 IP가 변경 되어도 DNS가 변경된 IP 주소를 알고 있어 도메인을 통해 서버의 IP를 찾아 연결 할 수 있습니다.

 

2. DDNS 기본 구성

 

다이나믹DNS는, 사용자의 PC에 다이나믹DNS 클라이언트 또는 웹어플리케이션을 설치하여, 주기적으로 PC의 IP를 서버측에 보내어 호스트이름과 IP를 연결합니다.

 

http://kr.dnsever.com/ 에서 이런 서비스를 제공하고 있습니다. 

※ ddns 외에 dns 서비스를 제공하고 있고 무척 안정적이고 좋은 서비스를 무료로 제공하는 좋은 사이트 입니다.

 

3. 우분투 리눅스에서 DDNS 구현 방법

 

wget 등의 쉘기반 웹브라우저를 이용하여, 다이나믹 DNS업데이트 하게 합니다.

 

wget 사용시

wget -O - --http-user=아이디 --http-passwd=인증코드 'http://dyna.dnsever.com/update.php?host[호스트이름]'

※ DDNS 사용하기 위해서는 dnsever 에 회원으로 가입해야 하며 도메인에 대한 DNS 를 dnsever.com 의 DNS 로 변경 해야 합니다.  그리고 다이나믹 DNS에 호스트를 등록 하고 인증코드를 받아야 합니다.

 

4. 리눅스에서 자동으로 다이나믹DNS 업데이트를 실행 방법

 

▶ 다이나믹DNS업데이트 실행 스크립트를 만듭니다.

 

sudo vi /usr/local/bin/ddns.sh

 

입력하고 저장한다.

 #!/bin/sh
 /usr/bin/wget -O - --http-user=아이디 --http-passwd=인증코드 'http://dyna.dnsever.com/update.php?host[호스트이름]'

※ 아이디는 dnsever 의 로그인 ID 이며 인증코드는 다이나믹DNS 의 인증코드임.




실행권한 부여

 

sudo chmod +x /usr/local/bin/ddns.sh  

 

▩ 여기 까지 잘되었는지 확인하고 싶으면

 

/usr/local/bin/ddns.sh

 

해 보면 update success 라는 결과 보인다. 

혹은 dnsever 사이트에 가서 확인해 봐도 된다.

 

 

일정한 시간마다(예:매 5분) 다이나믹DNS 업데이트 스크립트 작동하게 한다.

 

sudo vi /etc/crontab

 

아래와 같이 입력하고 저장한다.

 */5 * * * * root /usr/local/bin/ddns.sh > /dev/null 2>&1 

 

시스템 시작 시에 스크립트 실행되도록 한다.

 

sudo vi /etc/rc.local

 

아래와 같이 입력하고 저장한다.

/usr/local/bin/ddns.sh

 

※ 그리고 시스템 재 시작한다.  ★ 재 부팅 안하고 왜 5분 후 안되나 엄청 고민 했다..

    그러면 5분 단위로 컴퓨터의 IP 주소를 dnsever 에 업데이트 한다.

 

4. 잘되는지 확인 한다.

 

dnsever 홈페이지에서 다이나믹 DNS의 IP 주소를 1.1.1.1 같이 아무 IP로 변경한후에 5분을 기다린다. 서버의 IP로 변경 되었다면 성공한 것이다.

 

안된다면 확인들어 간다.

 

설정 한 후에 시스템 재 시작했나 확인한다.

 

/usr/local/bin/ddns.sh  요렇게 해서 IP변경되면 설정값 문제 없음

 

/usr/local/bin/ddns.sh

 

5분 기다렸는데 안된다면 crontab 설정 값 다시 확인한다.

 

sudo vi /etc/crontab

 

댓글을 달아 주세요