2007. 1. 3. 17:25

ProFTPD 포트로 설치하기



제 컴터를 ftp서버로 만들려고 해서 적당한 ftp 서버 프로그램을 찾아보니까 proftpd가 가장 유명하더라구요 ^^;

글치만 그 유명세에도 불구하고 프비에서의 설치법을 찾기는 쉽지 않더군요. 무엇보다 한국 proftp사용자 모임이란 곳이 있는데(http:// proftpd.oops.org) 리눅스 기준으로 모든걸 써놔서 ㅠ.ㅠ




1.우선 포트에 가서 proftpd를 설치합니다.


#cd /usr/ports/ftp/ proftpd
#make install clean



앞으로 proftpd의 기본적인 설정은 /etc/inetd.conf 와 /usr/local/etc/ proftpd.conf 파일 2개로 다 합니다.




2. 우선, 여타의 설정을 하기 전에 proftpd를 inetd 방식으로 돌릴 것인지 아니면 stand-alone 방식으로 돌릴 것인지를 결정해야 합니다.

inetd 방식 : 자신의 ftp 서버에 접속하는 사람이 항상 있는 것이 아니라면, 굳이 24시간 ftp서버를 돌리고 있을 필요가 없죠. 대신에 외부에서 ftp 접속을 하려고 할 때에만 ftp 서버를 활성화시키면 되니까요. inetd는 이처럼 '망을 봐주는 데몬'입니다. 즉 inetd 방식이란 ftp 요청이 있을 때에만 proftpd를 구동시키는 방식입니다.

stand-alone 방식 : 접속이 있던 없던 항상 proftpd가 항시 대기중에 있습니다. 이 경우, inetd를 통하지 않기 때문에 속도가 더 빠르다고 합니다.




3. /usr/local/etc/ proftpd.conf의 설정
우선 이 파일의 자세한 설정은
http:// proftpd.oops.org 에 가면 볼 수 있습니다. 그러나 단계적인 설정법이 나와 있는게 아니라 이 파일에서 사용할 수 있는 각종 키워드들이 알파벳순으로 나와있어서 처음 하는 제가 보기엔 좀 버거웠습니다.

그래서 일단 기본 설정파일에서 보이는 순서대로 제가 설명해 보겠습니다. 추가적인 옵션등은 위 웹사이트를 참고하세요.

Servername 서버 이름을 정하니다. 외부에서 ftp 접근을 하려할 때 보여집니다.
ServerType 앞서 설명한 inetd와 standalone 중 자신이 원하는 것을 하나 선택합니다.
DefaultServer 권한이 없는 사용자가 로긴을 시도하는 등, 이하에서 설정하지 않는 상황에 기본적으로 대처하도록 되어있는 것을 따릅니다. (예; 접속을 끊고 메세지를 내보낸다 등)

Port ftp 전송을 담당할 포트를 지정합니다. 특정한 경우가 아니라면 기본값인 21을 사용합니다. (inetd 방식이라면 inetd 자체의 설정이 우선하기 때문에 효과가 없습니다. 그냥 주석처리 하세요)

Umask ftp활동을 통해서 만들어질 파일들에 대한 권한 설정입니다. 022로 하면 파일 소유자는 읽고 쓰고 실행이 가능하며 나머지 사람들은 쓸 수 없고 읽거나 실행만 할 수 있습니다.

MaxInstances 한꺼번에 동시 접속할 사용자를 제한합니다. (inetd 방식이라면 inetd 자체의 설정이 우선하기 때문에 효과가 없습니다. 그냥 주석처리 하세요)

User 누가 서버를 실행시킬 지 정합니다. nobody라고 되어있던데 저는 root로 했습니다.

Group 서버를 실행시킬 그룹을 정합니다. 저는 User를 root이라고 했으므로 특수 관리 그룹인 wheel이라고 했습니다.

DefaultRoot 접속한 사람들에게 특정 디렉토리의 하위 디렉토리들만 보이게 합니다. 예를 들어서 /etc라고 하면 누가 접속을 하던지 간에 /etc이하의 디렉토리에만 접근할 수 있습니다. 사실 그 사람들에게는 /etc의 내용들이 /로 보이게 되죠. 사용자들을 제한된 영역에서만 머물게 하는데 사용됩니다.
저는 ~ 이라고 했습니다. 즉, 해당 사용자는 자신의 홈 디렉토리 밖으로는 못나갑니다.



...

해당 /path_name를 포함하는 모든 하위 디렉토리에게만 해당할 설정들을 이 사이에 적습니다.

제 경우,
AllowOverwrite on
AllowRetrieveRestart on
AllowStoreRestart on
이라고 썼습니다. 이렇게 하면 각각 덮어쓰기와 이어받기/이어올리기가 가능해진다고 합니다.

그 이하에는 모두 주석처리 되어있습니다. 바로 시스템의 계정이 없는 사람들에게도 ftp 접근을 허용해주는 항목들입니다. 위 내용과 큰 차이가 없으므로 주석문을 읽어보시면 됩니다. ^^;;

단 맨 마지막 것만 추가 설명하겠습니다.



...


Limit은 ftp 명령어들의 실행권한을 조절할 때 쓰입니다. ftp 명령어들이란,

CWD(현재위치 확인) MKD(디렉토리 만들기) RNFR RNTO(둘다 파일이나 디렉토리의 이름을 바꿀때 사용) DELE(파일 지우기) RMD(디렉토리 지우기) RETR(다운받기) STOR(업로드하기) SITE_CHMOD(파일 권한 바꾸기)

...등을 말합니다.
저는 익명 사용자는 허락하지 않았지만 앞서 를 설정할 때


AllowOverwrite on
AllowRetrieveRestart on
AllowStoreRestart on

AllowAll



라고 설정했습니다. AllowAll는 limit 에서 지정한 명령어들을 허용하라는 것이고 DenyAll 는 모두 불허하라는 것입니다. 만약에 다운은 되고 업로드는 안되게 하려면

AllowAll



DenyAll

이라고 하시면 됩니다.



4. /etc/inetd.conf의 설정

inetd.conf 파일은 inetd가 어떤 인터넷 서비스들의 망을 봐줄지 설정하는 곳입니다. 열어보면 ftp, telnet 등과 같이 익숙한 인터넷 서비스들이 있지요.

하지만 보안을 위해서 별도로 만지지 않으면 모든 서비스들이 다 주석처리 되어있습니다. 따라서 inetd을 이용해서 ftp를 돌리기 위해선 이 주석처리를 없애야 합니다. 즉 해당 줄 맨 첫글자 #을 없애야 합니다. 반면에 standalone 방식이라면 ftp 관련 항들은 맨 앞에 반드시 #이 있도록 합니다.

프비 4.8 기준에서 설명이 끝나는 맨 첫줄에 ftp 서비스가 나옵니다. 만약에 inetd방식이라면 여기서 첫칸의 #을 없애고 마지막 두 탭에 있는 /usr/libexec/ftpd 와 ftpd를 바꾸어야 합니다.
2개의 탭 중에 첫번째 탭은 ftp 서비스를 실행할 구체적인 프로그램 이름이 들어가야 합니다. 그러므로 /usr/local/libexec/ proftpd 라고 해줍니다.
그 다음 탭은 위 명령어를 실행하면서 넣어줄 옵션(?argument라고 써있던데)을 넣어주어야 합니다. 제 경우엔 아무것도 써주지 않았습니다. (원래 있던 것을 지우기만 했습니다)

5. 실행하기
inetd 방식의 경우 : 대부분의 프비 기계에서 이미 inetd가 실행중일 것입니다. 새로 설정한 내용으로 다시 실행시켜야 하므로,
#killall -HUP inetd라고 합니다.


standalone 방식의 경우 : proftpd를 실행시키는 스크립트를 사용해야 합니다. 예제로 제시되어 있는 스크립트를 그대로 사용해도 됩니다.
#cd /usr/local/etc/rc.d
#chmod u+x proftpd.sh.sample (실행가능하게 만들기)
#./ proftpd.sh.sample start


실행이 안될 대표적 경우 경우 :
 rc 문제 인듯 합니다. vi /etc/rc.conf 에다가 proftpd_enable="YES" 를 넣으시고 mkdir /var/run/proftpd 하시고 conf 만지작 조물딱 조물딱 하신후! 실행하면 이상없이 실행될듯 합니다.


혹시 scoreboard 파일때문이 아닐런지...
수동으로 만들어줘야하더군요...
proftpd.conf 파일에
ScoreboardFile /var/run/proftpd.scoreboard
위 라인을 추가하고
touch /var/run/proftpd.scoreboard
해주시면 됩니다.




500 FTP server shut down (Maintanance in progress)
-- please try again later

proftpd가 활성화 되어있진 않지만 살아있는 경우입니다. /etc/shutmsg파일을 지워줍니다.
#rm /etc/shutmsg

proftpd: unable to determine IP address of '서버명'
서버명에는 자신의 hostname이 뜰 것이다. proftpd는 실행될 때 현재 컴퓨터의 ip를 필요로 하는데, 이것이 설정되어 있지 않아서 그런 것입니다. 이 에러가 뜨는 사람은 십중팔구 startx로 엑스윈도우 띄울 때에도 "Bad display name.."과 같은 메세지가 보일 것입니다. 제가 그랬습니다 ^^;;;
우선 자기 컴퓨터의 이름을 알아야 합니다.
#hostname이라고 입력하면 가르쳐줍니다.
그 후에 /etc/hosts파일 맨 아래에 위에서 알게된 hostname을 쓰고 한 탭 띄고 127.0.0.1 이라고 씁니다. 고정 ip인 경우, 자신의 ip를 써도 됩니다. 참고로 127.0.0.1은 자기 자신을 가리키는 특수한 ip주소입니다.




6. 누가 사용중인가 보기

#ftpwho

자세한 건
#man ftpwho





7. ftp 서버 끝내기

#ftpshut now


자세한건,
#man ftpshut




이상으로 제가 대략 삽질해서 얻은 것들을 써봤습니다. 사실 처음엔 ftp계정을 따로 발급하는 줄 알았을 정도로 어리버리 했었는데 여기저기서 보면서 익혔습니다. 사실 너무 많은 것들이 빠져있지만 제가 필요한 것이 여기까지라서 ^^;;;

http:// proftpd.orghttp:// proftpd.oops.org 에서 더 도움 받으세요~






코멘트 삭제 fox9
fox9이미지
DefaultRoot와 관련해서 재미난 TIP을 하나 알려드린다면
DefaultRoot ~ !wheel
위와 같이 설정했을 경우는 wheel 그룹에 속한사람은 아무곳이나(?) 갈수 있지만 나머지 사람들은 자기 HOME만 갈수있습니다 :-)
2007. 1. 3. 17:25

[포트설치]Apache 2.0 + mod_php4 + mysql-server

Apache 2.0 + mod_php4 + mysql-server

_##]

Apache 2.0 + mod_php4 + mysql-server

cd /usr/ports/apache2/
make install clean

cd /usr/ports/mod_php4/
make WITH_APACHE2=yes with-language=korean with-charset=euc_kr install clean

cd /usr/ports/databases/mysql323-server
make install clean WITH_CHARSET=euc_kr

vi /usr/local/etc/apache2/httpd.conf 하여 아래 부분을 추가해준다.

LoadModule php4_module libexec/apache2/libphp4.so

#AddDefaultCharset ISO-8859-1
AddDefaultCharset EUC-KR    <=== 한글화 처리부분

DirectoryIndex index.php index.php3 index.html index.htm

AddType application/x-httpd-php .php .php3 .php4 .phtml .html .htm
AddType application/x-httpd-php-source .phps
2007. 1. 3. 17:24

윈도우 2000 에서 NSLOOKUP을 통한 DNS 동작 테스트

질문겸 윈도우 2000 에서 NSLOOKUP을 통한 DNS 동작 테스트에 대한 내용 입니다.




사내에서 DNS를 돌리고 있는데 간혹가다 특정사이트에 대해서 올바른 DNS 서비스가 안되어


접속이 안되는 경우가 있읍니다. DNS를 점검 해봐도 특별한 이상은 없고 그렇다고 계속 사용하자니


찜찜하고 DNS를 점검 해봐도 특별한 이상은 없고 그래서 새로 설치했읍니다.


서비스팩깔고 드라이버 잡고 불필요한 서비스 내리고 DNS 설정 새로하고 백신 설치하고 등등 그런데 백신을 최신걸로 업데이트 하려고 브라우저를 띄우면 이상한 영문 사이트로 접속이 되더군요 백신은


하우리건가 그렇읍니다. 분명 서버를 새로 설치하고 DNS 도 깨끗이 다시 설정 했는데...


이번에는 DNS를 KT DNS 로 설정하고 다시 브라우저를 띄우니 잘되더군요..


아마 윈도우2000 에서 DNS를 설정하면 DNS서버도 쿼리에 대한 정보가 없으면 Default로


설정된 상위DNS 서버로 질의를 하는데 하우리에 대한 정보를 잘못된 IP로 알려 주는것 같읍니다.


아니면 다른 문제라면 답변 바랍니다.




⊙ w2k DNS 동작 테스트


1. 시작 -> 프로그램 -> 관리도구 -> DNS를 클릭하고 등록정보를 누른다. 모니터링 탭의 단순쿼리


    및 재귀커리 항목을 체크하고 테스트버튼을 눌러 로컬 DNS의 동작여부와 다른 DNS 에게


    정상적으로 쿼리하는지 테스트 한다.
2. 관리도구 -> 이벤트표시기 -> DNS SERVER 항목이 있는지 점검한다.
3. 관리도구 -> 서비스 -> DNS Server 가 정상적으로 동작 하는지 확인 만약 이상이 있거나


    중지되어 있다면 서비스를 정지 했다가 재시작한다.



   C:> net stop dns
   C:> net start dns
* DNS 서버 동작이 있을 경우 서비스를 중지 했다가 재시작 하는 것도 좋은 방법이다.




⊙ NSLOOKUP 유틸을 이용한 점검




1. 사용방법    a.Interactive(대화형) -  대화형식으로 nslookup 을 입력하고 엔터를 치면


                                                        " > " 표시로 나타난다.


                                                       c:> nslookup
                                                       > www.empas.com  // 엠파스의 IP를 질의한다.
                     b. Non Interactive(비화대형)  - nslookup 한칸띄고 질의할 주소를 적는다.


                                                                    c:> nslookup www.empas.com



2. 원하는 레코드 타입별로 확인



   a SOA 레코드 확인   
     c:> nslookup
        > set type=soa
        > mcp.com / mcp.com 도메인의 SOA 레코드 요청
   b. Mail Server 레코드 확인
     c:> nslookup
        > set type=mx
        > net.com / net.com 도메인의 MX 레코드 요청
   c. 도메인에 대한 모든 레코드 요청
     c:> nslookup
        > set type=all
        > mcp.com / mcp.com 도메인의 모든 레코드 요청




⊙ DNS Server Local Cache




1. 한번 쿼리를 해서 알아낸 특정 사이트의 정보는 특정시간(TTL)동안 DNS Server의 로컬 캐쉬에


    저장된다.
2. nslookup 질의를 통해서 알아낸 주소에 대해 다시 nslookup 질의를 보내면 같은 정보를 보여주고
   " Non-authoritative answer : " 이란 메시지도 같이 보여주는데 이 뜻은 로컬 캐쉬에 있는 정보


   이므로 신뢰할 수 없는 응답이라는 표기를 하고 있다.
3. 간혹 실제 주소가 변경 되었는데 로컬 캐쉬에서 변경전 정보를 가지고 있어 문제를 발생할 수 있다.
    그 이유는 TTL 이 만료되기 전까지는 Interactive Query가 아닌 로컬 캐쉬의 정보를 찾아서


    클라이언트에게 응답하기 때문이다.
4. 만약 질의에 대한 정보를 가져오지 못한다면 DNS Server를 점검해야 한다.



   c:> nslookup www.empas.com / 로컬 DNS 에 질의
   *** net.com can't find www.empas.com : No response from server


   c:> nslookup www.empas.com 164.124.101.31
   / empas 도메인에 대한 정보 요청을 로컬 dns가 아닌 164.124.101.31 dns 에 질의 결과값을


     정상적으로 가져 왔다면 로컬 DNS를 점검한다.
   c:> nslookup
     > server 210.121.199.77


     / 아예 default DNS server를 수정해서 앞으로 query를 자신의 dns server 로 설정된 서버가


       아닌 210.121.199.77 인 DNS서버 에게 요청을 하겠다는 뜻
   c:> nslookup ls mcp.com
    / mcp.com의 모든 레코드 요청, 이명령은 호스트 이름이 기억나지 않을 때 등에 사용




⊙ DNS Client Local Cache 삭제 및 정보 확인




W2K는 클라이언트도 Resolution 해온 dns 레코드를 로컬 캐쉬에 저장하는데 간혹 이것때문에


문제를 일으킬 수도 있다. 로컬캐쉬 정보를 지우려면 c:> ipconfig/flushdns 를 입력한다.
로컬캐쉬의 저장된 DNS 정보를 보려면 c:>ipconfig/displaydns 를 입력한다.

2007. 1. 3. 17:23

한메일에서만 보내면 1시간후에 리턴 되어 옵니다...









이번에 저희 회사에 메일 서버를 구성했습니다.

DNS를 약간 변경한 후에 다른 웹메일(네이트, 라이코스, 야후 등등) 에서 저희

회사 메일로 보내면 잘 보내어 집니다.

그런데 한메일에서 저희 회사로 보내면 1시간 후에 서버를 찾을수 없다며 return 되어 옵니다.

한메일의 DNS 서버의 업데이트가 느려서 그런가요?

원인을 알려 주시면 고맙겠습니다.

수고하세요...



반송내용입니다.



The original message was received at Tue, 21 Oct 2003 00:21:01 +0900
from [211.233.31.20]

----- The following addresses had permanent fatal errors -----


----- Transcript of session follows -----
... Deferred: Name server: hyupsung-eo.com: host name lookup failure
Message could not be delivered for 1 hour
Message will be deleted from queue

Reporting-MTA: dns; smail-6.hanmail.net
Arrival-Date: Tue, 21 Oct 2003 00:21:01 +0900

Final-Recipient: RFC822; aza@hyupsung-eo.com
Action: failed
Status: 4.4.7
Remote-MTA: DNS; hyupsung-eo.com
Last-Attempt-Date: Tue, 21 Oct 2003 01:23:03 +0900











12035(임계섭) 한메일측에서 DNS 캐쉬에 이전 데이타가 남아 있어서 그렇다는군요...










저도 같은 문제 때문에 고민 많이 하였었는데 해결하였습니다. 2000 server를 기준으로

원인은 DNS server 설정 문제때문이었습니다. Windows 2000 server에서 DNS 서버를 설정하여 사용하고 있는데, 여기서 초기

설정시 문제가 있어서 입니다.

우선,
내컴퓨터 > 마우스 오른쪽 버튼 > 등록정보 > 네트워크 식별

전체 컴퓨터 이름 : ****.*******.*** 으로 나오지 않으면 문제가 있는것입니다.

먼저, 위의 화면에서 등록정보 버튼을 눌러서 Whois 등에서 검색한 도메인 등록 정보에 있는 name server 이름과 같이
컴퓨터 이름을 지정한 후 [자세히] 버튼을 눌러서 주 DNS 접미사 이름을 입력합니다. (ex, daum.net 등...)

재부팅 하여야 합니다.

그 다음 dns 서버 설정을 바꾸어야 합니다.

몆개 안된다면 설정 모두 지우고 새로 만들어도 되구요...

문제 발생시 다시 입력하여야 할 경우도 있으므로, 프린트나 스크린 캡처로 모든정보를 남겨둔 후에
먼저 백업을 하기 위해서 dns 서버 이름에서 오른쪽 버튼을 누른 다음 > 등록정보 > 고급 에서 [시작할 때 영역 데이터 로

드] 를 [파일에서] 로 변경 => c:winntsystem32dns폴더를 모두 압축합니다. 압축파일 따로 보관하면 백업 완료.

문제 발생시 복구 하기위해서는 위의 설정과 같이 하고 덮어쓰기 하면 된답니다.

다시 위의 [시작할 때 영역 데이터 로드] 를 [Active Dicrectory 및 레지스트리에서] 로 원위치 시킴.

DNS 서버 이름에서 오른쪽 버튼을 누르고 [삭제]를 과감히 누름.
DNS 아이콘에서 오른쪽 버튼 누르고 [컴퓨터에 연결(C)...] > [다음 컴퓨터] 선택 > NS.HYUPSUNG-EO.COM (도메인 등록 정보

에 있는 이름과 지금 이 컴퓨터의 전체 컴퓨터 이름이 이것과 같아야 함) > [확인] 버튼을 누른다.

그러면 지난번에 있던 등록된 자료가 그대로 나타나는데, 만일 나타나지 않는다면 백업 자료 복원하던지 아니면 모두 다시

입력 하여야 합니다. 저는 그대로 모두가 나타났음.

나타난 다음 정방향 조회 영역 및 역방향 조회 영역을 모두 찾아서 [이름서버]와 [권한의 시작] 위치의 서버이름을 모두 바꾸어 주시면 됩니다. 찾아보기로 하지 마시고 복사하여서 붙여넣기로 하는것이 빠릅니다. [ctrl + c] , [ctrl + v]
그다음 테스트 하시면 될겁니다. 좀 늦게 메일이 도착하는것 잊지 마시고

첨으로 답변글 올려 봅니다. 도움이 되시길
2007. 1. 3. 17:22

[포트설치]DNS 세팅 (djbdns)

[포트설치]DNS 세팅 (djbdns)



1.설치하기 (포트로 설치하기)



## daemontools 설치

cd /usr/ports/sysutils/daemontools
make install clean


## ucspi-tcp 설치

cd /usr/ports/sysutils/ucspi-tcp
make install clean



## djbdns 설치

cd /usr/ports/net/djbdns
make install clean



2. 설정하기



## daemontools 설정하기

다 설치 하셨으면..
daemontools가 자동 실행이 되도록 설정을 해줍니다.

cp /usr/ports/sysutils/daemontools/files/svscan.sh.sample /usr/local/etc/rc.d/svscan.sh
chmod a+x /usr/local/etc/rc.d/svscan.sh


## dns 설정하기

dns를 실행할 유저를 만들어줍니다.



pw groupadd -n djbdns
pw useradd -n dnslog -g djbdns -d /noexistent -s /sbin/nologin -c "dnslog" -w random
pw useradd -n dns -g djbdns -d /noexistent -s /sbin/nologin -c "dns" -w random



리눅스에서는 /servie 아래에 dns를 만들어주지만.. 프비는 메인테너의 권유대로..
/var/service 에 만들겠습니다.



mkdir /var/service
tinydns-conf dns dnslog /var/service/dns 1.2.3.4



1.2.3.4는 자기 해당 아이피입니다.
이제 var/service/dns 에 가보시면
root라는 디렉토리가 보일겁니다.
안에 들어가시면

add-childns
add-mx
add-alias
add-host
add-ns

등이 보일겁니다.

도메인설정을 하겠습니다.
예로 저의 아이피는 1.2.3.4이고
도메인은 domain.com 입니다.


./add-ns domain.com 1.2.3.4
./add-ns 3.2.1.in-addr.arpa 1.2.3.4


메일,웹,ftp 설정을 하겠습니다.



./add-host www.domain.com 1.2.3.4
./add-alias ns.domain.com 1.2.3.4
./add-alias domain.com 1.2.3.4
./add-alias ftp.domain.com 1.2.3.4
./add-mx domain.com 1.2.3.4



기타 alias 시킬것이 있으면... 해주시구요..
끝나셨으면



make



해주시구요..

만약 mx 레코드가 여러개라면..



@domain.com:1.2.3.4:a::86400
@mail.domain.com:1.2.3.5:b::86400
@mail2.domain.com:1.2.3.6:c::86400
@mail3.domain.com:1.2.3.7:d::86400



이런형태로 data파일을 수정해주시면 됩니다.

제대로 설정을 했는지 확인하실려면..



tinydns-get a domain.com



하시면 다음과 같이 나오게 됩니다.



1 domain.com:
77 bytes, 1+1+1+1 records, response, authoritative, noerror
query: 1 domain.com
answer: domain.com 86400 A 1.2.3.4
authority: domain.com 259200 NS a.ns.domain.com
additional: a.ns.domain.com 259200 A 1.2.3.4


다 끝났습니다. 리부팅 한번해주시면..
절대로 죽지 않는 dns가 작동되게 될겁니다.

기본세팅 이외에 추가 도메인이 있을땐..

./add-ns test.com 111.222.333.444
./add-alias test.com 111.222.333.444
./add-mx test.com 111.222.333.444 (mx(mail server)사용할 경우에만)

등만 추가로 설정해주시고

make 하시면 적용이 된답니다.


현재 나의 data 내용이다...
도메인을 여러개 사용중이고 각각 가상메일을 사용중이다.
즉, domain.com을 도메인 등록업체에 등록하였고, 이 도메인을 가지고
네임서버 호스트 등록을 ns.domain.com 으로 한상태이다.
domain1.com, domain2.com .... 여러개 추가되엇을 때의 상황이다.
xxx.xx.xxx.xxx 는 서버 아이피 이다.

vi /var/service/dns/root/data
------------------------------------------------------------
.domain.com:xxx.xx.xxx.xxx:a:259200
.144.77.220.in-addr.arpa:xxx.xx.xxx.xxx:a:259200
=www.domain.com:xxx.xx.xxx.xxx:86400
+ns.domain.com:xxx.xx.xxx.xxx:86400
+domain.com:xxx.xx.xxx.xxx:86400
+ftp.domain.com:xxx.xx.xxx.xxx:86400
+qmail.domain.com:xxx.xx.xxx.xxx:86400
+mrtg.domain.com:xxx.xx.xxx.xxx:86400
+jungkiri.domain.com:xxx.xx.xxx.xxx:86400
@domain.com:xxx.xx.xxx.xxx:a::86400
.domain1.com:xxx.xx.xxx.xxx:a:259200
+www.domain1.com:xxx.xx.xxx.xxx:86400
+domain1.comr:xxx.xx.xxx.xxx:86400
+mail.domain1.com:xxx.xx.xxx.xxx:86400
@domain1.com:xxx.xx.xxx.xxx:a:86400
.domain2.com:xxx.xx.xxx.xxx:a:259200
+domain2.com:xxx.xx.xxx.xxx:86400
+www.domain2.com:xxx.xx.xxx.xxx:86400
@domain2.com:xxx.xx.xxx.xxx:a::86400
-----------------------------------------------------------------
위의 진하게 보이는 부분이 추가되는 도메인에 대한 한 묶음이다.. 유심히, 살펴보면 유형을 알 수 있을것이다.



  • DNS 동작 확인
    1. /var/service/dns/root/data에 이상이 없는지 확인
    2. tinydns-get을 이용하여 data.cdb의 이상이 없는지 확인
    tinydns-get a 도메인이름
    3. 현재 컴퓨터의 IP 확인
    cat /var/service/dns/env/IP
    netstat -n -i
    4. tinydns가 동작중인지 확인
    svstat /var/service/dns
    5. tinydns에 DNS 쿼리를
    dnsq a 도메인이름 IP주소
    6. DNS cache에 쿼리
    dnsq a 도메인이름
    ※컴퓨터의 설정이 올바르다면 5번까지는 바로 동작할 것이다. 6번은 상위 name server에까지 설정이 완전히 미쳐야 올바로 동작한다.



    3.참고한 글


    - D.J 번스타인의 djbdns 웹사이트 ( http://cr.yp/to/djbdns.html)
    - 임은재님의 은재의 리눅스 페이지 ( http://kldp.org/~eunjea/)
    - ienfant님의 djbdns를 이용한 dnscache 설정 ( http://club.shinbiro.com/clb/bbs/sbrClbBbs_View.jsp?bbsid=66828&method=TITLE&keyword=djbdns&pg=1&artno=534)
    - 디망쉬님의 qmail, djbdns 의 매력 ( http://club.shinbiro.com/clb/bbs/sbrClbBbs_View.jsp?bbsid=66828&method=TITLE&keyword=djbdns&pg=1&artno=532)
























    ping 명령시 도메인명은 에러나는 문제. randy이미지
     글쓴이: randy [홈페이지] 글쓴시간: 04/03/23 14:02 읽은수: 87





    아래 주신 답변을 참고하여 수정을 해보았으나 잘 되지 않아 다시 한번 글을 올리게 됩니다.

    nslookup 명령시에는 아이피든 도메인이든 상관없이 잘 되는데
    ping 명령시에 도메인은 에러가 납니다.
    에러 문구는

    root ~] ping yahoo.co.kr
    ping: cannot resolve yahoo.co.kr: Unknown host

    root ~] ping designinside.co.kr
    PING designinside.co.kr (220.95.231.67): 56 data bytes
    64 bytes from 220.95.231.67: icmp_seq=0 ttl=64 time=0.061 ms

    이렇게 하면 됩니다.

    설정 내용은..

    root ~] hostname
    designinside.co.kr

    root ~] cat /etc/ hosts
    127.0.0.1 localhost localhost
    220.95.231.67 designinside.co.kr localdomain

    root ~] cat /etc/resolv.conf
    search localdomain
    nameserver 168.126.63.1
    nameserver 220.95.231.67

    이렇게 되어있습니다.







    코멘트 삭제 coolmax
    coolmax이미지
    참고 하시라고 적습니다. 서버로 하실거니까 4.x겠죠?
    내임서버도 운영하시던데요. 그 상황을 참고해서 만들면...

    /etc/hosts
    127.0.0.1 localhost localhost.designinside.co.kr

    /etc/resolv.conf
    domain designinside.co.kr
    nameserver 220.95.231.67
    nameserver 168.126.63.1

    /etc/rc.conf
    hostname="xxx.designinside.co.kr" xxx ->호스트이름
    ifconfig_kk0="inet 220.95.231.67 netmask 255.255.255.0"
    kk0 ->첫번째 nic 이름
    defaultrouter="220.95.230.10"

    이정도면 되지 않을까 생각합니다.
    2004-03-23







    코멘트 삭제 randy
    randy이미지
    왜 아이피는 되는데 도메인명은 안되는것일까요?
    안그래도 무지한데 안되는 이유도 모르고 해결을 하려니 어려분들이 도와주는 말로도 해결이 안되고 있습니다.
    2004-03-27







    코멘트 삭제 coolmax
    coolmax이미지
    이래도 안된다면 내임서버 오류입니다.
    내임서버 존파일이랑 올려주세요.
    2004-03-27







    코멘트 삭제 smbsd
    smbsd이미지
    /etc/resolv.conf 에
    nameserver 168.126.63.1 을 맨 위로 올려서 다시 함 해보세요

    168.126.63.1 은 한통 dns 서버 입니다.

    요즘은 61.77.63.1 은 요 dns 서버를 주로 쓰는것 같더라구요..

    아이피로는 핑은 간다는것은 네트웍은 무자게 잘되는데
    도메인 명은 안간다는건 도메인(컴터이름)을 아이피 주소로
    바꾸어 주는 서버(dns) 를 컴터에게 알려 주어야 하는디
    안알려줘서 컴터가 화가 나가 나서 그런겁니다.

    알려줄려믄 /etc/resolv.conf 에 알려 주믄 컴터가 순차 적으로
    이 화일에 적혀 있는 네임서버를에게 yahoo.co.kr 이란 놈의
    IP 가 무엇인고 물어 볼라고 하는디 님 께선 님 자신의 네임 서버
    를 resolv.conf 에 적어 놔서 물어 볼껀 자기도 모르면서
    자기 자신한테 물어보니 모를수 밖에요 ~!
    2004-03-28





    코멘트 삭제 coolmax
    coolmax이미지
    ns.designinside.co.kr 라는 내임서버를 운영하셔서 한통내임서버보다 위에 적은것입니다. 또한 dig나 nslookup을 이용하여 저 도메인으로 쿼리 해봐도 default네임서버는 ns.designinside.co.kr로 되어 있더군요. 또한 메일 서비스,아파치 버추얼호스팅,서브도메인 하려면 자체 내임서버가 있어야 가능하죠. 그리고 resolver도 로컬네임서버로 쿼리해야 빠르구요. 굳이 자체 내임서버 있는데 한통dns서버 쓸일이 없을듯 합니다.