블로그 이미지
Flying Mr.Cheon youGom

Recent Comment»

Recent Post»

Recent Trackback»

« 2025/5 »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

 
 

아파치 모듈중에서 유용한 모듈이 많이 있는데, 그 중에 한 가지가 rewrite 모듈이다.

의외로 설치하는 방법이 간단하다. 설치가 간단한 반면에 그 기능 활용을 많다고 생각이 든다.

정규식 표현을 알면 보다 쉽게 사용하니, 먼저 정규식표현을 잘 익혀두자. rewrite 모듈을 이용하면 장점이 하나의 도메인만 있으면 서브도메인을 생성하여 각기 다른 내용의 홈페이지를 운영할 수 있다는 것이다.

photo.tt.co.kr 또는 blog.tt.co.kr, shop.tt.co.kr, intra.tt.co.kr 식으로 말이다.

굳이 다른 도메인을 써야 할 이유가 없다면 홍보에도 도움이 되는 서브도메인을 이용한 홈페이지를 만들어서 운영해 보자.

국내에서는 유일하게 오늘과내일(http://tt.co.kr)에서 이 서비스를 도입하여 웹호스팅 서비스를 하고 있다.

 

웹서버에서 아파치를 컴파일하고, php도 다시 컴파일 해 준다.

제대로 모듈이 아파치에 적용되었는지 확인하고, 네임서버에서도 * 문자로 모든 2차 네임서버에 대해서 아이피 설정만 해 두면 된다.

자~ 쉽게 따라해 보자.

 

Apache rewrite Module

 

Apache 는 추가적으로 사용할 수 있는 유용한 모듈들을 제공합니다.

이번강좌에서는 Apache의 URL Rewrite 모듈을 사용하기 위한 컴파일,설치 와 httpd.conf의 설정방법 그리고 활용방법에 대해 알아보겠습니다.

 

Apache 다운로드 : http://www.apache.org

1. rewrite 모듈을 사용하기 위한 Apache 컴파일옵션

Rewrite 모듈을 쓰기위한 Apache 컴파일 옵션은 --enable-rewrite 입니다.

Configure 실행시에  --enable-rewrite 만 추가하시면 Apache에서 rewrite 모듈을 사용할 있게 됩니다.

[root@superuser root]# ./cofigure prefix=/usr/local/apache2 --enable-rewrite

[root@superuser root]# make

[root@superuser root]# make install

 

1. Rewrite 를 적용할 수 있는 범위

Rewrite 설정은 Server Config, Virtual Host, Directory, .htaccess 에 설정할 수 있습니다.

 Apache 서버 전체에 Global 설정과 특정 가상호스트에만 적용하도록 할수 있고 특정 디렉토리에만 적용시킬수도 있습니다.

 

2. Rewrite 모듈 지시자

RewriteEngine

설정문법 : RewriteEngine On|Off

Rewriteing 엔진을 사용할지 여부를 설정합니다. 기본설정은 당연히 Off로 되어 있으며 RewriteEngine On 으로 설정하지 않는 이상 Rewritng 엔진을 활성화 시키지 않습니다.

 

현재 Apache에서 실행중인 모든 RewriteRule을 비활성화 시킬 때 RewriteRule 라인을 주석처리 하기보다 RewriteEngin Off 로 설정하는 것이 더 간편하고 올바른방법입니다.

 

RewreteLog

설정문법 : RewriteLog FILE-PATH

RewriteLog 지시자는 Rewrite 엔진의 로그를 그록할 파일을 지정합니다.
RewriteLog 파일을 항상 남기기 보다 잘못된 Rewrite 규칙들을 디버킹할 때 사용하기를 권장합니다. 아파치와 마찬가지로 RewriteLog 파일도 방문자수가 많은사이트에서는 감당못할 정도의 로그파일을 남기기 때문에 시스템 여유공간이 많이 없는 시스템에서는 해당 파티션의 하드사용률 100%로 인한 재앙(?)을 불러올수도 있습니다. 다음강좌에서 소개될 로그파일 분석에서 언급하겠지만 로그파일은 유용한 디버깅 도구가 될수 있지만 잘못 관리하면 시스템의 치명적인 악으로 존재할수도 있습니다.

RewriteLog 지시자는 반드시 RewriteLogLevel 지시자와 함께 사용하여야 됩니다.

 

RewriteLogLevel

설정문법 : RewriteLogLevel Level

RewriteLogLevel 지시자는 RewriteLog 지시자로 설정한 로그파일에 기록할 로그들에 대해 얼마나 자세한 내용을 로그로 남길것인가에 대해 설정하는 지시자입니다.

기록할 로그 Level 은 0 ~ 9까지 사용할 수 있으며 0은 로그를 기록하지 않겠다는 의미입니다. Level 숫자가 높을수록 자세한 로그를 기록합니다

 

RewriteCond

설정문법 : RewriteCond TestStirng CondPattern

RewriteCond 지시자는 RewriteRule 과 함께 사용되는 규칙으로 RewriteCond 다음에 오는 RewriteRule은 RewrieteCond 에서 설정한 패턴과 일치해야지만 RewriteRule들을 실행한다.

 

RewriteRule

설정문법 : RewriteRule Pattern Substitution

Rewrite 모듈의 실질적인 Rewrite 규칙들을 적용하는 지시자입니다.

Pattern(Input URL) 을 Subtitution(Return URL)로 변경하기 위한 모든 규칙들은 이 지시자를 사용해서 설정해야 됩니다.

Pattern(Input URL) 에는 Perl 정규표현식을 사용할수 있기 때문에 Input URL 의 규칙을 유연하게 적용할 수 있습니다. 이 강좌에서는 기초적인 정규표현식 사용방법만 다루고 정규표현식에 대해 자세히 알고 싶으신 분은 정규표현식에 대한 강좌나 인터넷 문서를 참고하시기 바랍니다.

 

정규표현식 기초

. : 다수의 한문자

? : 0개 이상의 한문자

* : 0개 이상의 문자 또는 문자열

+ : 1개 이상의 문자 또는 문자열

(chars) : (, ) 안의 문자또는 문자열을 그룹으로 묶습니다. 이 문자그룹은 Substitution(return URL)에서 $N 의 변수로 활용할수 있습니니다.

^ : 문자열의 첫문(열)을 지정합니다.

: 문자열의 끝 문자(열)을 지정합니다.

\(역슬래쉬) : 정규표현식에서 특별한 의미로 사용되는 문자의 특수기능을 제거합니다.(예:(, ), [, ] . 등)

{n} : 정확히 n번 반복

{n,} : n번 이상 반복

{n,m} : n 이상 m 이하 반복

[chars] : 문자들의 범위 또는 표현할 수 있는 문자들을 설정합니다. 
예) [a-z] : a 부터 z 까지의 소문자, [tT] : 소문자 t 또는 대문자 T

 

정규표현식 단축표현들

[:alpha:] : 알파벳. [a-zA-Z] 와 같은 표현

[:alnum:] : 알파벳과 숫자. [a-zA-Z0-9] 와 같은 표현

[:digit:] : 숫자 [0-9] 와 같은 표현

[:upper:] : 대문자. [A-Z] 와 같은 표현

 

RewriteRule 플래그

forbidden|F : 요청하는 페이지를 403 에러로 redirect 시킵니다. RedirectRule 이 적용되고 있는 페이지를 일시적으로 사용중단을 시키거나 사용자로 하여금 페이지 접근을 할수 없게 할 때 사용합니다.

) RewriteRule ^/test /home/blog/html/test.php [F]

사용자가 /test 로 접근할 경우 403 에러를 보냅니다.

gone|G : 요청하는 페이지를 410 에러로 redirect 시킵니다. 410 에러는 페이지가 사라젔거나 존재하지 않는다는 메시지입니다. 이것도 forbidden 과 마찬가지로 RedirectRule 이 적용되던 페이지를 일시적으로 중단시킬 때 유용하게 사용할 수 있습니다.

last|L : 이 플래그가 적용되면 뒤에 어떤 룰이 있더라도 이룰 아래의 규칙들은 적용되지 않고 RewriteRule 을 빠져나가게 됩니다. C, Perl, PHP 프로그램에서 루프를 빠져나가는 break 와 같은 의미를 가집니다.

chain|C : 이 플래그의 결과를 다음 RewriteRule 의 input 값으로 사용합니다.
예)

RewriteRule ^(.+) %{HTTP_HOST}$1 [C]

RewriteRule ^([^.]+)\.domain\.com(.*) /home/$1/public_html$2

이 룰은 사용자 홈의 도메인을 2차 도메인으로 자동설정해 줄 때 많이 쓰는 룰입니다. RewriteRule의 input은 도메인을 제외한 URI 를 인식하기 때문에 도메인까지 인식을 시켜서 다음 RewriteRule 로 체크를 하기 위해 사용한 것입니다.

즉 http://user_id.domain.com/hello.html 이란 요청이 들어오면  /home/user_id/public_html/hello.html 로 redirect 시켜줍니다. 위와 같이 2차 도메인을 이용해 계정 사용자의 홈을 지정하기 위해서는 DNS 세팅이 선행되어야 됩니다.

 

RwriteRule 설정예

 

1. http://yourdomain.com/user_id  ->  http://yourdomain.com/home.php?id=user_id

 

RewriteRule ^/([a-zA-Z0-9])$   /home/user_id/public_html/home.php?id=$1

설명 : 도메인(http://yourdomain.com) 뒤에 오는 영문숫자로된 문자열을 지정하면서 그룹으로 묶었습니다. 이렇게 그룹으로 설정된 문자열 Pattern 은 Substitution(return URL) 에서 $1 이라는 변수로 받아 사용하게 됩니다. 즉 http://yourdomain.com/superuser 라는 페이지 요청이 들어오면 실제로는 http://yourdomain.com/home.php?id=superuser 라는 페이지로 redirect 시켜줍니다. 블로그나 카페(동호회) 사이트에서 블로그 사용자의 ID 로 개인 블로그 주소를 부여할 때 http://blog.com/user_id 로 부여해 주지만 실제 실행되는 파일은 이와 같이 redirect 시켜주는 경우가 많습니다.

 

2. http://yourdomain.com/daum  -> http://www.daum.net

RewriteRule ^/daum$  -> http://www.daum.net

설명 : http://yourdomain.com/daum 라는 페이지 요청이 들어오면 도메인이 다른 http://www.daum.net 이라는 페이지로 redirect 시켜줍니다.

 

 

RewriteOptions

설정문법 : RewriteOptions Options

현재 사용할 수 있는 option 은 MaxRedirects=number 를 사용할 수 있으며 설정된 number값에 도달하게 되면 500 Internal Server Error 를 남기고 RewriteRule을 종료합니다. 잘못된 RewriteRule에 의한 무한 루프를 방지하기 위한 목적으로 사용되는데 시스템이 이유없이 다운된다거나 할 때 이 옵션과 Log 기록을 참고하여 디버깅 및 시스템 다운을 방지할 수 있습니다.

이 지사자는 Apache 2.0.45 이상에서 사용할 수 있습니다.

 

3. 실제 적용예

가상호스트 blog.xxx.ac.kr 에 대해 Rewrite Rule을 적용한 예입니다. 이 부분은 실제 운영되는 블로그 사이트를 위해 RewriteRule 을 적용한 예입니다.

DocumentRoot /home/blog/html

ServerName blog.xxx.ac.kr

# 여기까지는 일반적인 가상호스트 설정입니다.

RewriteEngine on

# RewriteRule을 사용하기 위해 On 으로 설정합니다.

 

RewriteLog /home/blog/rewrite_log_admin3.log

RewriteLogLevel 9

# Rewrite 실행중 Log를 남기기 위해 로그파일과 로그레벨을 지정했습니다.

 

RewriteRule ^/tb/([a-zA-Z0-9]+)/([0-9]+)$ /home/blog/html/blog/trackback\.php\?id=$1&post_no=$2

# 위설정은 블로그에 등록된 포스트의 트랙백 주소를 부여하기 위해 설정한 RewriteRule 로써 Pattern에 두개의 그룹이 존재하고 return URL에 순서대로 각 그룹을 $1 과 $2 로 받아 GET 변수로 치환한것입니다.

 

RewriteRule ^/xml/([a-zA-Z0-9]+)$ /home/blog/html/blog/rss_feed\.php\?id=$1

# 각블로그별 RSS 주소를 실제 파일로 지정한것입니다.

 

RewriteCond %{REQUEST_URI}     !^/admin$

RewriteRule ^/([a-zA-Z0-9]+)$ /home/blog/html/blog/main\.php?id=$1

# 먼저 RewriteCond 로 실제 존재하는 admin 이라는 디렉토리를 이어지는 RewriteRule에서 제외시키고 http://domain.com/user_id 로의 요청을 모두 /home/blog/html/blog/main.php?id=user_id로 redirect 시키는 룰입니다.

 

RewriteRule ^/([a-zA-Z0-9]+)/([0-9]+)$ /home/blog/html/blog/main\.php\?id=$1&post_no=$2

# /user_id/1345 로 요청하는 페이지를 /home/blog/html/blog/main.php?id=user_id&post_no=1345 로 redirect 시키는 룰입니다.

 

 

4. 마치면서

위에서 언급한 RewriteRule 뿐만 아니라 여러가지 상황에서 RewriteRule을 잘 활용한다면 아주 유용하게 웹페이지를 컨트롤 할수 있습니다. RewriteRule 을 세팅하기 이전에 반드시 정규표헌식에 대해 어느정도 공부한후 적용해 보실 것을 권합니다.

<!-- 테러 태그 방지용 -->
:

사이트 옮기기

보안/서버관리 | 2012. 1. 9. 01:12 | Posted by youGom

준비중이던 사이트를 옮겼다.

생각보다 빡세네 -_-;;
한... 다섯시간 걸린듯 ㅋㅋㅋㅋ

대충 적으면.. 아래와 같다..
1. 도메인 설정
2. 서버 절대 경로 설정
3. 설정 파일 수정
4. 서버 재가동
5. 데이터 동기화

실제로 해보면.. 해야할게 여간 많네..
1. 새로 사용할 도메인을 구입한다.
2. 네임서버를 연결 및 등록한다.
 * 내 경우는 직접 서버를 운영하니깐.. 아래와 같이 할일이 많았다.
 * 여기 링크 대로 네임서비스와 아파치 경로를 수정 해주고, 재가동한다.
 - 우분투 Bind9 설치 / 네임서버 설정
 - IP공유기, DNSEVER, DDNS, NS(NAMESERVER), XE
3. 내 경우에는 한 서버에 여러 도메인을 사용했더니, 독특한 에러들이 발생한다.
 * 내가 발생한 에러들은 아래 링크대로 해결했다. 이 에러 해결하느라 시간 다보낸듯 ㅠ
 - perhaps you need a NameVirtualHost directive 
 - httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
 4. 이제 도메인 연결이 경고나 에러없이 잘되었더니..
    경로 설정이 공유가 되어 버린다.  abc.com이 기존 xyz.com에 접근한다 -0-;;;이런! ㅋㅋ
 5. 그래서 mod_rewrite의 설치 및 설정 해 주었더니, 이제 잘 적용한다.
  - 내 경우는 /etc/apache2/site-available/configfile에 요래 설정했다.
<VirtualHost ...>
...
RewriteEngine On
RewriteRule ^/(.*)$ /$1
...
</VirtualHost>    


 6. 그리고, 기존에 설치 했던 웹 페이지를 설치 했다.
  - 이번꺼는 그누보드 사용했다. 사이트 파일 복사하니까.. install 지우고 하라고 하면서 이상하길래.. 그냥.. 빌더 프로젝트 새로 설치해서 한뒤 DB 복사 해줘버렸다 ^^;;
 7. 마지막으로 데이터 DB를 복사해주었다.
 - db dump 및 복사 
 8. 사이트에 들어가 있던, 첨부 파일들은 따로 복사해 주어야 한다. 확인 결과, DB복사 해도, 첨부파일은 따로 저장되는 것 같았다.
:

mod_rewrite의 설치 및 설정

보안/서버관리 | 2012. 1. 9. 00:17 | Posted by youGom

mod_rewrite는 Apache의 기능으로, 모듈을 넣어 사용가능하다.
이는 URL(도메인 이하의 패스)의 리디렉트나 위장, 치환등을 실시할 수 있다.
일반적으로 정규표현을 이용해서 RewriteRule를 적을수 있다.
정규표현식에 관해서는 정규표현관련 페이지를 참고하길 바란다.
 
 
:

개인도메인만들기/네임서버설정

보안/서버관리 | 2011. 12. 16. 17:54 | Posted by youGom

/개인도메인등록 과정이 끝나면, 이 도메인을 홈페이지가 있는 호스트로 연결하기 위하여 최소 하나의 네임서버에 이 도메인을 위한 엔트리를 설정해 주어야 한다.

1. 상황
2. 어느 네임서버를 이용할 것인가
3. 네임서버 설치와 설정
3.1. /etc/named.conf 변경
3.2. /var/named/zone-gypark.pe.kr 추가
3.3. 네임서버 구동
4. 네임서버 동작 확인

[edit]1. 상황

  • 도메인 : gypark.pe.kr
  • 실제주소 : http://HHHHHH.snu.ac.kr/~gypark새 창으로 열기
  • 실제호스트 : HHHHHH.snu.ac.kr (147.46.15.HHH)
  • 네임서버 : NNNNNN.snu.ac.kr (147.46.15.NNN)

[edit]2. 어느 네임서버를 이용할 것인가

문제는 어느 네임서버에서 그 설정을 해 줄 것인가 하는 점. 크게 네 가지 길이 있었다.

  • 서울대 네임서버 (147.46.80.1,147.46.80.2) 를 사용
    • 호스트가 서울대 내에 있는 것이기 때문에, 호스트가 위치한 전산망의 공식 네임서버를 사용하는 것이니 개념상 꽤 합당해보였다.
    • 전산원에서 관리하는 학내 공식 서버인만큼, 안정성이 보장된다.
    • but, 전산원에 전화로 문의한 결과, 서울대 전산원에서는 snu.ac.kr 로 끝나는 도메인 이외의 다른 도메인을 사용하는 것은 지원을 해 줄 수 없다는 답변을 받았다. 이 때 처음 알았는데, 학내에 있는 호스트에 다른 도메인을 사용한 경우는 전부 몰래(?) 하는 것이고, 전산원에서는 현재는 이를 묵인하고 있지만, 나중에 정책 변경 여하에 따라 이런 경우를 적발하여 차단할 수 있다고 한다.

  • 외부 업체에서 제공하는 도메인 포워딩을 이용
    • (주)아이네임즈에서는 도메인 포워딩 서비스에 별도의 이용료를 받고 있었고, (주)아사달에서는 무료로 서비스를 제공하고 있었다. 그래서 일단 아사달에 회원 가입을 하고, 도메인 포워딩 서비스를 신청하였다.
    • /개인도메인의네임서버지정 과정을 통해서, 내 도메인의 네임서버를 아사달에서 공지한 네임서버로 설정하였다. (p1.asadal.net 211.233.39.186 , p2.asadal.net 211.233.38.28)
    • but, 결과가 상당히 불만족스러웠다. "유동 포워딩"과 "고정 포워딩" 두 가지 방식 중에서 선택할 수 있도록 되어 있었는데, 유동 포워딩 방식에서는, 웹브라우저의 주소창에 gypark.pe.kr 을 입력하면 그 주소를 실제 주소로 변경하여 refresh 하는 방식이다. 따라서 주소창에 실제 주소가 나타나 버린다. 고정 포워딩 방식에서는, gypark.pe.kr 로 접속했을 때 아사달 측의 서버에서 하나의 프레임으로 구성된 프레임셋을 출력하고, 그 프레임 안에 실제 주소의 페이지를 집어넣는 방식이다. 주소창의 도메인은 바뀌지 않지만, 내부에 있는 링크들은 모두 원래의 주소 그대로 나온다. 게다가 두 방식 모두, gypark.pe.kr/DateBK5/index.html 과 같이 하위 디렉토리나 파일을 직접 주소에 적어서 억세스하는 것이 불가능하다.

  • 다른 네임서버를 이용
    • 누군가의 컴퓨터에 설치되어 동작하고 있는 네임서버를 이용하는 방법
    • 실제로 특정한 동호회나 동문회 사람들끼리 하나의 네임서버를 운영하여 구성원들의 도메인을 담당하게 하는 경우를 볼 수 있다.
    • but, 네임서버 관리자와 친분이 있지 않으면 부탁하기 힘들다. :-) 게다가, 그 네임서버의 안정성을 신뢰하기 힘들다.

  • 홈페이지가 있는 서버 (HHHHHH.snu.ac.kr) 에서 직접 네임서버를 운영
    • 네임서버 관리의 권한이 연구실에 있으므로 설정 변경 등을 맘대로 할 수 있다.
    • 네트웍 안정성이 큰 문제가 되지 않는다. (네임서버가 접속이 안 되는 상황이라면 어차피 홈페이지도 접속이 안 된다는 것이니..)
    • but, 네임서버 설정하는 것에 전혀 문외한이었고, 무엇보다도 네임서버는 외부 공격에 매우 취약하여 보안상 문제점이 많다. 웬만한 해킹 사례를 보면 bind 나 기타 nameserver 의 헛점을 노렸다는 얘기는 빠지지 않고 나온다. 항상 보안 관련 뉴스에 귀기울여야 함.

처음에는 네번째 방법, 즉 HHHHHH에 직접 네임서버를 설치하는 것을 택했는데, HHHHHH가 연구실에서 꽤 중요한 비중을 차지하는 서버이기 때문에 아무래도 맘에 걸려서, 세번째 방법과 결합하였다. 즉 연구실 내 다른 서버(NNNNNN)에 네임서버를 설치하고 운영하기로 하였다.

[edit]3. 네임서버 설치와 설정

NNNNNN 에는 레드햇 리눅스가 설치되어 있었고, bind-9.*.* 이 이미 설치되어 있었다. 따라서 설정만 변경해 주고 구동하면 되었다. (소스를 직접 컴파일하는 경우는 http://www.isc.org새 창으로 열기 에서 최신 버전을 다운로드 할 수 있다. (이 사이트는 하나로통신을통해접속할수없는웹사이트들 중 하나이다.)

다음의 화일들을 수정 또는 추가하였다. 전혀 모르는 상태에서 여러 웹사이트들을 뒤지면서 끙끙대었음...

[edit]3.1. /etc/named.conf 변경

options {
    directory "/var/named";
    /*
     * If there is a firewall between you and nameservers you want
     * to talk to, you might need to uncomment the query-source
     * directive below.  Previous versions of BIND always asked
     * questions using port 53, but BIND 8.1 uses an unprivileged
     * port by default.
     */
    // query-source address * port 53;
    // 아래 네 줄을 추가
    allow-transfer { none; };   // 다른 네임서버에서 zone 설정을 가져가지 못하게 한다
    allow-query { none; };      // 기본적으로 모든 네임서버 질의에 응답하지 않는다. 
                                // 따라서 이 서버를 DNS 서버로 지정하여 사용할 수는 없다.
    recursion no;               // 역시 보안을 고려하여 recursive 모드 금지
    version "No!!";
};

(중략)

// 아래의 zone 설정을 추가
zone "gypark.pe.kr" IN {
    type master;
    file "zone-gypark.pe.kr";    // 이 화일을 /var/named 에 추가해주어야 함
    notify no;
    allow-query { any; };        // 이 도메인에 대한 질의에만 응답한다.
    allow-update { none; };
    allow-transfer { none; };
};

(이하 생략)

[edit]3.2. /var/named/zone-gypark.pe.kr 추가

$TTL  3600
@   IN    SOA    ns.gypark.pe.kr.     gypark.HHHHHH.snu.ac.kr.    (
    2002091501         ; Serial
    84600              ; Refresh
    1800               ; Retry
    1209600            ; Expire
    3600  )            ; Minimum

    IN    NS     ns.gypark.pe.kr.

ns                   IN    A    147.46.15.NNN   ; ns.gypark.pe.kr 은 NNNNNN
gypark.pe.kr.        IN    A    147.46.15.HHH   ; gypark.pe.kr 은 HHHHHH
www.gypark.pe.kr.    IN    A    147.46.15.HHH   ; www.gypark.pe.kr 도 HHHHHH 의 IP 를 사용

[edit]3.3. 네임서버 구동

/etc/init.d/named start

부팅시 자동으로 구동되도록 하기 위해 /etc/rc.local 화일에 다음의 항목을 추가하였다.

/etc/init.d/named start &

[edit]4. 네임서버 동작 확인

nslookup 을 사용하여 네임서버의 동작을 확인한다. 다음의 과정을 통해서 새로 설치한 네임서버가 제대로 동작하는 것을 알 수 있다.
raymundo@raymundus:~$ nslookup
Note:  nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead.  Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> server 147.46.15.NNN               (NNNNNN 을 네임서버로 지정)
Default server: 147.46.15.NNN
Address: 147.46.15.NNN#53
> ns.gypark.pe.kr
Server:         147.46.15.NNN
Address:        147.46.15.NNN#53

Name:   ns.gypark.pe.kr
Address: 147.46.15.NNN               (ns.gypark.pe.kr 질의 - 성공)
> gypark.pe.kr
Server:         147.46.15.NNN
Address:        147.46.15.NNN#53

Name:   gypark.pe.kr
Address: 147.46.15.HHH               (gypark.pe.kr 질의 - 성공)
> www.gypark.pe.kr
Server:         147.46.15.NNN
Address:        147.46.15.NNN#53

Name:   www.gypark.pe.kr
Address: 147.46.15.HHH               (www.gypark.pe.kr 질의 - 성공)
> plaza1.snu.ac.kr
Server:         147.46.15.NNN
Address:        147.46.15.NNN#53

** server can't find plaza1.snu.ac.kr: REFUSED    (그 외의 도메인에 대한 질의 - 설정에 의해 거부됨)

네임서버설정이 완료되면, 이 네임서버를 내가 등록한 도메인의 네임서버로 지정해 주어야 한다. /개인도메인의네임서버지정 참조





출처 : http://gypark.pe.kr/wiki/%EA%B0%9C%EC%9D%B8%EB%8F%84%EB%A9%94%EC%9D%B8%EB%A7%8C%EB%93%A4%EA%B8%B0/%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84%EC%84%A4%EC%A0%95

: