안녕하세요~ ㅎ

 

오늘 포스팅 내용은 apcups 설치 입니다.

 

얼마전 필요해 레드햇 리눅스에서 yum search apcups 를 해봤는데.... 없더군요!

 

그래서 머리를 굴려보다 그냥 홈페이지에서 다운로드 하자는 결론을 내렸습니다.

 

이 자료는 apcupsd 3.14 를 기준으로 작성된 것입니다. 버젼이 올라가면서 변경될 수도 있습니다.

 

자 이제 시작하겠습니다. 잘 따라서 해 보시길 바랍니다.!

 

저는 APCUPS BE700KR을 기준으로 설명하겠습니다.

 

1. 소스를 받아주세요..

-- 홈페이지 (http://www.apcupsd.org/) 에 들어가 DOWNLOADS 로 들어가 SOURCE TARALL로 들어간 후

tar.gz 로 끝나는 파일을 다운로드 합니다.

 

2. 소스를 서버(NAS)에 업로드 후 압축을 푼 후 컴파일 까지 진행합니다.

-- tar zxf apcupsd-3.14.12.tar.gz

-- cd apcupsd-3.14.12

-- ./configure

-- make

-- make install

 

3. /etc/apcupsd 의 환경파일을 설정합니다.

vi 나 nano 혹은 Windows 에서 notepad++ 등 유닉스 호환 편집기를 이용합니다..

혹은 첨부파일을 서버(NAS)에 업로드해 /etc/apcupsd/apcupsd.conf 로 저장합니다. (기존 파일 지운 후)

apcupsd.conf
다운로드

apcupsd.conf 에서 수정할 것들은

15번 줄 UPSNAME의 주석을 풀고 이름을 적어준다 (모델명)   예) UPSNAME BE700KR

29번 줄 UPSCABLE smart 를 UPSCABLE usb로

82번 줄 UPSTYPE apcsmart 를 UPSTYPE usb로
83번 줄 DEVICE /dev/ttyS0 를 DEVICE 로 변경

92번 줄 #POLLTIME 60 주석해재

 

등입니다~

 

4. 서비스 시작

-- /etc/init.d/apcupsd start 혹은 service apcupsd start

 

5. apcaccess 로 테스트

 

Test-Server apcupsd # apcaccess
APC      : 001,036,0913
DATE     : 2014-08-15 18:32:41 +0900
HOSTNAME : Test-Server
VERSION  : 3.14.8 (16 January 2010) gentoo
UPSNAME  : BE700KR
CABLE    : USB Cable
MODEL    : Back-UPS ES 700
UPSMODE  : ShareUPS Master
STARTTIME: 2014-08-15 18:32:39 +0900
SHARE    : ShareUPS
STATUS   : ONLINE
LINEV    : 232.0 Volts
LOADPCT  :  30.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  38.6 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 180.0 Volts
HITRANS  : 266.0 Volts
ALARMDEL : Always
BATTV    : 13.5 Volts
LASTXFER : Automatic or explicit self test
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
STATFLAG : 0x07000008 Status Flag
MANDATE  : 2013-04-19
SERIALNO : 5B1316T09823
BATTDATE : 2013-04-19
NOMINV   : 230 Volts
NOMBATTV :  12.0 Volts
FIRMWARE : 829.D3 .I USB FW:D3
APCMODEL : Back-UPS ES 700
END APC  : 2014-08-15 18:32:49 +0900

이런식으로 뜨면 정상입니다~ ㅎ

 

그럼 즐거운 연휴되시기 바랍니다~~ ㅎ

 

 

 

 

 

 

 

 

 

Posted by 현종이닷
,








안녕하세요? 

이번 포스팅은.... 백업을 위한 포스팅이랄까? ㅎㅎ

Samsung NT-RV520-A15L 이녀석의 업그레이드를 위한 포스팅 및 내가 기억할 수 있도록 하기 위한 글이네요 ㅎ

우선 이녀석의 기본 사양을 좀 알아보도록 하겠습니다. 

 

우선 CPU

Pentium(R) Dual-Core B950 2.10Ghz

2세대 센디브릿지의 펜티엄 듀얼코어 입니다.

 

메모리는 ... 2G PC3-10600 x1

 메모리 뱅크는 2게 이네요 ㅎ

 

HDD ...500GB 히타치가 들어가 있네요 ㅎ

SATA2 에 5400rpm 이라 조금 느린 느낌이... ㅎㄷㄷ

 

칩셋은 ... HM65 

자세한 사항은 아레 링크 참고하세요~ ㅎ 

http://www.intel.co.kr/content/www/kr/ko/intelligent-systems/huron-river/core-mobile-qm67-hm65-platform-brief.html?wapkw=mobile+intel+hm65+express+chipset

지원CPU 사진 입니다. 

 

뭐 이정도 되네요~ 

 

자 이제 업그레이드를 위한 포스팅 및 분해사진!!

 

우선 타 노트북과 마찬가지로.... 양 옆에 나사들들 풀어주시고요....

하나 더 배터리 양 옆부분 .....  고무를 뜯어낸 후 나사를 분리해 주세요!!

그래야 뜯을 수 있습니다...ㅎ 

 

그 다음엔 CPU부분에 양 옆에 나사 4게를 풀어주세요~ㅎ

아 지금은 뜯어낸 사진 밖에는 없네요...... ㅜ 

 

그럼 요론식으로 CPU가 들어납니다...ㅎㅎ

 

자 이 밑부분에 똥그란 부분 있죠? 저것을 반대 쪽으로 돌려 주시면 됩니다.ㅎ 

조그마한 일자 드라이버로 살살 돌려주세요~ ㅎ

 

그럼 이런식으로 CPU가 들어납니다.ㅎ 

 

밑 부분에는 핀이 있음으로 조심하세요 ㅎ 이전 478칩셋과 비슷해요 ㅎ

 

아 조금 어수선 하네요~ ㅎ 

우선을 분해기는 여기서 마칠 생각입니다. ㅎ

 

우선 변경계획은 

CPU : Pentium(R) Dual-Core B950 -> I5-2450M 

RAM : 2G - > 8G

HDD : 500G -> SSD(256G) + HDD(500G)

OS : Windows 7 Home Premium K -> Windows 7 Ultimate K + Windows8.1 +  Linux(?)

하드가 널널할테니 3게의OS를 써볼 생각이네요...

음 ..... 우선 계획은 여기 까지! 

실전으로 들어갈때는 조금 더 자세히 써 보도록 하겠습니다~~~

 

 

 

'PC > Hardware' 카테고리의 다른 글

노트북 CPU를 갈아보자! NT-RV250 A15L  (3) 2014.08.16
맥북에어와 닮은 Asus 젠북  (0) 2014.07.05
와이즈기가 UB-5300 분해기  (0) 2014.07.05
ASUS 젠북 UX21E 사용기  (0) 2014.06.22
서버 견적낸거.....  (0) 2014.06.22
Posted by 현종이닷
,








 

사양은 .....

CPU : Core I5 2500 (쿼드코어)

RAM : DDR3 10600 10GB

HDD : 3TB Seagete + 15TB NAS

VGA : Intel HD Graphics

OS Windows 7 Ultimate K 64bit SP1

흐흐

이정도인데.... 코난 더빙판 수정용으로 다음팟인코더 5게를 돌리며 티스토리에 글 쓰는중 !!

아 뒤에 백그라운드로 VMWare Linuix 서버 하나 더 돈다...ㅎ

이야~ 내 컴도 죽지는 않았구나!

당분간 핫스웰은 안사도 되겠네!!! 느하하하하핫

 

Posted by 현종이닷
,








 

좌 : Apple MaxbookAir 11인치
우 : Asus ZenBook UX21E 11인치

'PC > Hardware' 카테고리의 다른 글

노트북 CPU를 갈아보자! NT-RV250 A15L  (3) 2014.08.16
Samsung NT-RV520-A15L 업그레이드 기획기  (0) 2014.08.11
와이즈기가 UB-5300 분해기  (0) 2014.07.05
ASUS 젠북 UX21E 사용기  (0) 2014.06.22
서버 견적낸거.....  (0) 2014.06.22
Posted by 현종이닷
,








CoolSMS으로 계정(쉘)에서 문자 보내기 소스 입니다.

coolsms.php 가 해당 디랙토리에 있어야 사용가능합니다

#!/usr/bin/php
<?php
require_once("coolsms.php");
$sms = new coolsms();
$sms->setRealMode();
$sms->appversion("TEST/1.0");
$sms->charset("euckr");
$sms->setuser("아이디", "페스워드");

if (!$sms->addsms("$argv[1]", "보내는 사람", "$argv[2]")) {
    echo $sms->lasterror();
}

if (!$sms->connect()) {
    exit(1);
}
$nsent = $sms->send();
if ($sms->errordetected()) {
}
$sms->disconnect();
$sms->emptyall();
?>

#*스크립트 종료*#

사용 방법 : ./sendsms 010-0000-0000 문자 테스트

CoolSMS 남은 문자 / 잔액 알아보기

#!/usr/bin/php
<?php
/**
 * vi:set ts=4 sw=4 expandtab fileencoding=cp949:
 * Copyright(C) 2008-2010 D&SOFT
 * http://open.coolsms.co.kr
 */
header("Cache-Control: no-cache");
?>
<?php
require_once("coolsms.php");

// 객체를 생성합니다.
$sms = new coolsms();

// 아이디, 비밀번호를 입력합니다.
$sms->setuser("", "");

// 서버에 연결합니다.
if (!$sms->connect()) {
        // 오류처리
        echo "서버에 연결할 수 없습니다.";
        exit(1);
}

// 잔액을 읽어옵니다.
$result = $sms->remain();

// 연결을 끊습니다.
$sms->disconnect();

// 결과를 출력합니다.
if ($result["RESULT-CODE"] == "00")     // RESULT-CODE 가 00이면 성공.
{
    echo "캐쉬 : " . $result["CASH"];
    echo "원";
    echo " / 포인트 : " . $result["POINT"];
    echo "점";
//    echo " / 문자방울 : " . $result["DROP"];
//    echo "개";
    echo " / 전체 SMS건수 : " . $result["CREDITS"];
    echo "건 ";
} else {
    echo "Result Code: " . $result["RESULT-CODE"] . "<br />";
    echo "Result Message: " . $result["RESULT-MESSAGE"] . "<br />.";
}
?>
입니다.
#*스크립트 종료*#

결과는

캐쉬 : 1420원 / 포인트 : 860점 / 전체 SMS건수 : 114건 입니다.

Posted by 현종이닷
,








우선 예제 스크립트

#!/bin/bash

#* echo 로 화면에 메세지 출력 *#
echo "사용자 계정 생성 스크립트 입니다."
echo "필드명을 정확히 확인후 작성 부탁드립니다."

echo -n "성명 :"
#*read 로 스트링 입력받기 read 뒤에 붙는 녀석은 환경변수 *#

read nm
echo -n "아이디 :"
read id
echo -n "비밀번호 :"
read pw
echo -n "연락처(휴대폰) :"
read cn
echo -n "생년월일 :"
read bd
echo -e "계정사용용도"
echo -en "      1. 머드접속유지\r\n     2. 파일저장소\r\n       4. 머드게임개발\r\n     4. Web\r\n      5. 기타\r\n\r\n 선택하세요 : "
read ty
#* case 문으로 번호 선택 -> 해당번호 명령어 실행 *#

  case $ty in
    1)
        echo -e "머드접속유지" > /data/admin/user_info/tmp.txt
        echo "/home/$id" > /data/admin/user_info/tmp2.txt
    ;;
    2)
        echo -e "파일저장소" > /data/admin/user_info/tmp.txt
        echo "/home/$id" > /data/admin/user_info/tmp2.txt
    ;;
    3)
        echo -e "머드게임개발" > /data/admin/user_info/tmp.txt
        echo "/home/$id" > /data/admin/user_info/tmp2.txt
    ;;
    4)
        echo -e "Web" > /data/admin/user_info/tmp.txt
        echo "/data/www/$id/"  > /data/admin/user_info/tmp2.txt
    ;;
    5)
        echo -e "기타" > /data/admin/user_info/tmp.txt
        echo "/home/$id/"  > /data/admin/user_info/tmp2.txt
    ;;
    *)
        echo "Warning : 잘못된 선택입니다."
        echo -n "Enter키를 눌러주세요"
        read
    ;;

  esac


echo "수집한 정보로 계정을 생성합니다. 잠시만 기다려주세요....."
#* in= 이런식으로도 변수 지정이 가능하다 *#

in=/data/admin/user_info/$id
touch $in
echo -e "성명 : $nm" > $in
echo -e "생년월일 : $bd" >> $in
echo -e "연락처 : $cn" >> $in
echo -e "계정사용용도 : $(cat /data/admin/user_info/tmp.txt)" >> $in
useradd -m -d $(cat /data/admin/user_info/tmp2.txt) -c "$nm" $id

echo "$id:$pw" | chpasswd > /dev/null 2>&1
echo "$nm님의 ID $id가 생성 완료 되었습니다."
#* 입력받은 정보로 계정을 만들면서 사용자에게 문자 보네기 *#

/usr/local/sbin/sendlms-system $cn "[LECL-Ent] '$nm'님 신청하신 '$id' 가 발급되었습니다. 계정접속 비밀번호는 '$pw' 입니다. 접속후 passwd 명령어로 비밀번호를 변경해 주세요.."
#* 그전에 스누피님 블로그에서도 다룬적 있는 내용 // chpasswd 로 비밀번호 한줄로 변경하기 *#

ln -sf /etc/tt.conf $(cat /data/admin/user_info/tmp2.txt)
chown $id:$id $(cat /data/admin/user_info/tmp2.txt) -Rv > /dev/null 2>&1
chmod 700 /data/admin/user_info/* > /dev/null 2>&1
rm -rf /data/admin/user_info/tmp.txt > /dev/null 2>&1
rm -rf /data/admin/user_info/tmp2.txt > /dev/null 2>&1

자 이제는 해당 명령어 들의 사용예를 적어보겟습니다~~ ㅎ

echo "테스트" -> 쉘에 테스트라는 문자를 남길때

echo -e  : enable interpretation of backslash escapes (\와 조합형으로 쓸수 있는 기능을 사용)

해당 기능은....

       \\     backslash

       \a     alert (BEL)

       \b     backspace

       \c     produce no further output

       \e     escape

       \f     form feed

       \n     new line

       \r     carriage return

       \t     horizontal tab

       \v     vertical tab

이정도 입니다~

echo -.r : 해당 줄에 표시 (?) 보통 echo "정답 " 하면 해당 라인 아랫줄에 정답이 표시되는데 이를 한줄 위로 올릴수 있습니다~

read a변수 - > a변수에 스트링을 입력해 줍니다

read test 입력후 aaaa를 입력한 뒤에

echo $test 해보면 aaaa 가 출력되는것을 볼 수 있습니다~

 

그다음에는 chpasswd

 

제일 무난하게 사용할 수 있는 방법


echo "id:pw" | chpasswd  입니다~ 딱 봐도 감이 오시죠? ㅎ

 

우선 이번 포스팅은 여기 까지 입니다~~ ㅎ

 

그럼 즐거운 주말되세요~

 

 

'PC > Linux' 카테고리의 다른 글

데비안 호스트네임 변경하기  (0) 2015.01.03
APCUPS 소스로 설치하기  (0) 2014.08.15
리눅스에서 쉘로 coolsms 사용하기  (0) 2014.07.05
Bind DDNS 구축하기  (0) 2014.07.05
DNSEver DDNS 로그 남기는 스크립트  (0) 2014.06.22
Posted by 현종이닷
,








오늘 포스팅 내용은 .. 스마트폰 충전기 자가수리 입니다.
 
충전기 끝부분 (마이크로USB)부분이 헐거워져서 충전이 안되신다면.....??
 아아악!!! 생각만 해도 끔찍하고 열부터 나죠? 
 
뭐... 임시 방편으로 USB케이블로 PC에 연결하거나
다른 안드로이드 충전기를 쓰면 중전이 되긴 하죠.... 하지만....!!
 
자기 기종의 충전기가 아니라면 암페아가 낮아 충전 속도가 엄청 늦어진다는 사실!
음 갤노트랑 S3가 5V 1A의 충전기를 쓰고요 S4 부터는 5V 2A..
 
이전 스마트폰 충전기들은 5V 700mA정도고요 (S2, 베가, 옵티 등)
 
PC는 5V 500mA...(ASUS AI Charger 가 암페아를 뻥튀기 해준다는 이야기가 있긴 한데... 이녀석은 에ㅡㄹ 제품에만 해당이 되는거 같네요..) 노트의 2/1 이죠.... 암튼 다 느리다는 소리!
 
아 와이브로 스트롱에그가 5V 2A인데... 이건 좀..... 폰에 직접연결은 추천 안해요
충전 방식이 약간 달라요... 밑에 보면 그 선 두게 쇼트 시키는 부분 그 부분이 약간 다른데...
폰에서는 모르겠고 배터리거치대에는 큰 영양을 주지 않는거 같아서 배터리 거치대에서만 사용을...
 
그래서 저같은 경우에는 거치대에 꽃아 쓰고 ... 폰에는 X~
 
 
그래서 삼성가서 5V 1A의 충전기의 대략적인 가격을 알아봤더니 만오처넌 정도?
가격보고 고민좀 하다가 기존 충전기가 조금 아깝다는 생각이 들어 그냥 다시 회사로 들어와
안쓰는 안드로이드 케이블 하나를 챙겨 칼!퇴!근!
 
 
집에돌아와 원래 충전기 맨 끝부분과 가져온 MicroUSB 케이블을 잘라버렸습니다.
 
그랬더니 이렇게 ^^;;
 

막 잘라논 직후입니다


왼쪽이 원래 삼성 정품충전기 오른쪽이 USB케이블 자른 부분입니다.

USB부분 중 검 흰 빨 초 부분만 남겨두고 모조리 잘라냈습니다.

충전기 부분입니다. 검정색과 빨간색만 보이네요 ㅎ

일단은 고속 충전을 위해 위 사진과 같이 하얀색과 초록색 부분을 쇼트(이어)시켜줍니다.

그래야 고속 충전이됩니다.

남은 빨간색과 검정색은 충전기 선에 색을 맞춰 이어 줍니다.

 

이상태로 서로 선이 닿지 않게(쇼트나지 않게) 잘 처리한 후

 
납땜으로 남은 선 마무리 처리 해 주셔도 되고요 아이여도 되고요 ㅎ
 
졀연태이프(검정전기태이프)로 감아주세요 ㅎㅎ
그러면 끝!!

방금 수리한 충전기로 갤노트1 충전 테스트 했습니다^^

 
 
 
--ps. USB케이블의 경우 색이 다를 수 있는데
 
밖에 나와 있는 선은 과감하게 잘라주시고요
 
검, 빨 말고 남은 두 선을 쇼트 시켜주시면 됩니다^^
 
 그럼 즐거운 스마트 생활 하세요
 

 

Posted by 현종이닷
,








안녕하세요
 
오늘은 와이즈기가 UB-5300 분해기를 포스팅 하려고 합니다,

일단 준비물은
드라이버,UB-5300 NAS 이상입니다.
부가적인 준비물은
USB 32기가 이상의 메모리 와 USB 2.0 PCI 브라껫 혹은 2.5 인치 SSD 노트북용 DDR2 2기가 메모리 2게
OS를 설치할수 있는 2기가 or 4기가 의 USB OS를 구술수 있는 툴 <UltraISO YUMI등> OS이미지 <Windows Server 2012 or Linux등>

일단 하드를 다 분리 한 후 하드번호가 섞이지 않게 잘 배열해 놓고 작업하시기 바랍나다.
만일 레이드 번호가 엉킬시 여러분의 데이터는 그대로 샤라락 입니다

사진이 몇장 없어졌네요ㅜㅠ

뒷면 테두리 나사6게를 먼저 풀어주 신 후 양 측면 4게를 풀어주세요

케이스를 위로 들어올린 후 뒤로 빼내서 주세요 

 

들어내면 이런 모습입니다.^^;;;;  좌 측면에 있는것이 ITX 보드입니다 이제 앞 케이스 부분을 분리하겠습니다~ 앞 케이스는 은색부분에 나사 두게와 바닥에 양 꼭지점에 있는 나사2게를 풀어주시면 됩니다.

 

** 전면 캐이스 들어낼때 WAN LAN LED 와 파워스위치 조심하세요..

 

양 끝에 나사 두개를 풀어주시면 앞에 전면 캐이스는 들어낼 수 있습니다. 바닥면 및 측면 나사를 모두 분리하면 이렇게 보드도 보실 수 있습니다.저는 이미 한번 개조해 논 후라...ㅎ 조금 다르게 보이는 부분도 있을수 있습니다.

메모리 입니다.

메모리는 사진에서와 같이 노트북용 PC2 6400S 2G를 두게 사용하여 4G를 구성하였습니다.

사실 개족의 목적은 렘 업글과 저 5300의 소스트웨어 교체를 위함이였고. 5300의 소프트웨어를

보존하기 위해 기존의 플레시 메모리를 제거 후 USB 2.0 PCI 브라켓을 개조해 USB Female 만 남긴 후 사용하였습니다.

 

요너석을 분리한겁니다~

 

 사진이 몇장 없어졌네요.... ㅜ 나중에 다시 한번 제대로 올릴 수 있으면 올려보겠습니다.... ㅜㅜ  램 두게 장착후 SATA 장착부분입니다.. 조금 아쉽지만 SATA2네요.....ㅜㅜ

음 그러니깐.... 화면 우측 중앙쯤에 있는 헤더에 USB Female 을 연결해 USB 스틱메모리를 연결 OS로 사용하는 것입니다.

 옆에 USB포트가 있지만 커낵터와 USB가 완전 붙기도 하지만 .... 케이스를 닫지 못한다는 단점이 있어서 .... OTL...  음 CPU는 보드 땜 처리 되어있어 교체는 쉽게 하지 못할거 같네요....뭐 리볼빙을 하면 되긴 한데.... 별로 좋은 방법은 아니라서요...ㅎ

 

분해는 조립의 역순!! 일단 분해기 1탄은 여기서 마무리를 ....  즐거운 하루 되세요~ ㅎ 

 

 

'PC > Hardware' 카테고리의 다른 글

노트북 CPU를 갈아보자! NT-RV250 A15L  (3) 2014.08.16
Samsung NT-RV520-A15L 업그레이드 기획기  (0) 2014.08.11
맥북에어와 닮은 Asus 젠북  (0) 2014.07.05
ASUS 젠북 UX21E 사용기  (0) 2014.06.22
서버 견적낸거.....  (0) 2014.06.22
Posted by 현종이닷
,

Bind DDNS 구축하기

PC/Linux 2014. 7. 5. 07:57








안녕하세요?

 

오늘의 포스팅 주제는 bind tool (DNS관리툴) 입니다.

이번 포스팅의 계기는 이러합니다.

편리함에 익어 둔해진 머리를 위해 과감히 DNSEver 를 버렸습니다

그런데 얼마전 NAS수리를 위해 렌선을 장기간 빼놨더니.. IP주소가 갱신되었고

접속을 할 수 없는 난감한 상황이 찾아와 DDNS의 소중함을 느꼈기 때문에 삽질을 시작했습니다.

물론 C, PHP 는 하나도 안쓰고 만들었습니다.

우선 환경은.... Bind, SSH가 설치되어 있는 Linux서버와 ssh 접속하능한 Linux 클라이언트.

SSH가 22번이여야지만 공개키 부분에서 문제가 생기지 않습니다.

자 서두가 길어지기 전에 후딱 본론으로 가겠습니다.

 

bind서버의 ip : 10.1.0.1
클라이언트 ip : 10.1.0.2

 

우선 DDNS 업데이트를 받을 클라이언트에 Telnet이나 SSH로 접속 후

계정을 하나 만들어 준 후 로그인을 하여 줍니다.

Bind가 설치되어 있는 서버에도 같은 이름이나 다른사람이 모를만한 이름으로

계정을 만든 후 비빌번호를 설정합니다.

 

로그인을 했다면 쉘에서 ssh-keygen -t dsa 입력후 엔터 세번

ddns@HJTech-NAS ~ $ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/ddns/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ddns/.ssh/id_dsa.
Your public key has been saved in /home/ddns/.ssh/id_dsa.pub.
The key fingerprint is:
****************** 생   략 ****************** ddns@HJTech-NAS
The key's randomart image is:
+--[ DSA 1024]----+
****** 생 략 ******

요롷게 됩니다. 그럼 ssh 폴더에 id_dsa 와 id_dsa.pub 가 생성이 되었을 것입니다.

이중에 id_dsa.pub 파일을 authorized_keys2 로 복사해줍니다.

cp id_dsa.pud authorized_keys2  

이제 복사한 authorized_keys2(공개키)를 scp로 서버에 복사해줍니다.

scp authorized_keys2 ddns@10.1.0.1

이때 주의할 점은 반드시 ip나 도메인 주소 뒤에 : 콜론 기호가 들어간다는 점!

The authenticity of host '10.1.0.1 (10.1.0.1)' can't be established.
RSA key fingerprint is ******************* 생 략 **********************
Are you sure you want to continue connecting (yes/no)? yes
ddns@10.1.0.1's password:

알려지지 않은 호스트에 접속할거라고 정말 접속할건지 물어보네요

당연히 yes입력후 엔터  그리고 비밀번호를 입력하여 scp 의 과정을 끝맞춰 줍니다.

 

ddns-updater.sh
다운로드

이제 블로그 첨부파일에서 ddns-updater.sh를 받아 계정에 압축을 풀어주고 서버의 주소만 변경해 주면

클라이언트에서는 준비 끝~ 

그럼 서버 셋팅으로 넘어가겠습니다.

bind 서버에 ssh 나 telnet으로 로그인 한후

아까 전송받은 authorized_keys2 파일을 .ssh 에 넣어줍니다.
mkdir .ssh
mv authorized_keys2 .ssh/

보안문제도 있으니 퍼미션도 조정해줍니다.
chmod 700 .ssh
chmod 644 .ssh/authorized_keys2

이제 블로그 첨부파일에 있던 server.tar.gz 를 받아 앞축을 풀어줍니다.

server.tar.gz
다운로드

vi 나 nano등의 편집기로 checkddns.sh 와 ddns_update 파일만 편집해주면 됩니다,

 그전에 bind 디렉토리가 어디에 위치해 있는지 부터 알고 있어야 합니다.

이 포스팅을 따라하고 있다는것은 이미 bind로 dns 서버를 구축해 논 상황이시겠죠?

우분투 12.04 LTS 기준으로 /etc/bind 네요...

9, 21, 31번째 줄 보면 /etc/bind 부분을 해당 서버의 zone 설정파일이 있는 곳으로 변경해 줍니다.

ddns_update 파일을 연후 경로와 도메인 호스트 이름을 지정해 준다.

자 이제부터 조금 집중모드에요~

/etc/passwd 파일의 ddns 혹은 ddns을 위해 만든 계정을 찾아

ddns:x:0:0:DDNS Update Script Executer:/usr/local/sbin/ddns:/bin/bash

요론식으로 변경해줍니다! 포인트는 0:0

 (권한을 루트로 바꿔주는것입다 bind의 데몬을 리스탓 해야 하기 때문이죠.)

자 다시 클라이언트로 돌아와서 크론텝에 아이피를 받아오는 파일을 추가해 주면 끝입니다.

예를 들어...

 

0 0 * * * ddns_update  > /dev/null 2>&1 이런식으로 추가해 주면 됩니다.

의미는..... 0시 0분 매일 매월 매요일에 해당 명령어를 실행하는데, 결과값이나 화면에 출력되는게 있다면 /dev/null 으로 보낸다는 것입니다.

 

자 이정도면 왠만하면 따라하셨으리라 생각합니다~

그리고 마지막!

서버의 DDNS업데이트 할 계정의 루트에서 vi. profile 엔터 

/usr/local/sbin/ddns/ddns_update

mesg n

exit

붙혀넣기 후 저장 
 
그러면 자동으로 SSH로 들어가 ip업데이트 한 후 변경내용 저장 까지~~

 이상 Bind 구축 포스팅이였습니다~ 

Posted by 현종이닷
,








[수정본] IP까지 남기도록 수정

파일 위치 : /usr/local/sbin/ddns_update.sh

 vi : /usr/local/sbin/ddns_update.sh

 

#!/bin/sh

 

 #* 변수 정의*#

mkdir -p /tmp/ddns/ 

dt=$(date +%y%m%d)

#* 도메인의 몸통만 적어주세요 예: wisegiga *#

NICK=''
#* 업데이트할 DDNS 주소를 입럭해 주세요 *#

DDNS_HOST=''
#* DNSEver 아이디와 DDNS 인증코드를 입력해 주세요 *#

USER=''
PASSWORD=''

#* 변경금지 변수 *#

WGET='/usr/bin/wget'
OPTS=-"O /tmp/ddns/ddns_${NICK}.tmp -o /dev/null"
curl -s ifconfig.me > "/tmp/ddns/tmp_ip_${NICK}"
IP=$(cat "/tmp/ddns/tmp_ip_${NICK}")

#* 로그가 남을 폴더를 지정해 주세요 $ 뒷부분은 수정 금지! *#
LOGDIR="/root/DDNS/${NICK}/"

mkdir -p ${LOGDIR}

${WGET} ${OPTS} --http-user=${USER} --http-passwd=${PASSWORD} "http://dyna.dnsever.com/update.php?host[${DDNS_HOST}]&"
sed -n '4p' /tmp/ddns/ddns_${NICK}.tmp | sed -n 's/.*code=\"\([^\"]\+\).*/\1/p' > /tmp/ddns/tmp_${NICK}

  case $(cat /tmp/ddns/tmp_${NICK}) in
    "720")
        echo -e "DDNS Update Success at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
    "201")
        echo -e "No Update Host Name at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
    "721")
        echo -e "Already Updated at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
    "304")
        echo -e "DDNS not registered or Not Your Domain at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
  esac

#* 임시 폴더 정리*#

rm -rf /tmp/ddns/ddns_${NICK}.tmp
rm -rf /tmp/ddns/tmp_${NICK} 

 

#* 스크립트 종료 *#

에디터 종료는 :wq

 

권한 설정  

chmod 750 /usr/local/sbin/ddns_update.sh

 

크론텝에 추가 for 4시간에 한번씩 실행

crontab -e

 

* */4 * * *        usr/local/sbin/ddns_update.sh

 

만일 크론텝이 안된다면

 

mkdir -p ${LOGDIR}

밑에 while ( : ) do

맨 밑에

sleep 4h

done

을 추가해 주시면 됩니다

 

 

Posted by 현종이닷
,