Disclaimer :
이 기사는 단행본, 하우투 문서들, 맨 페이지, 유즈넷 뉴스그룹, 그리고 셀 수 없는 시간을 키보드와 씨름하며 수집한 정보를 제공한다. 이는 모든 주제에 대해 통달했다는 것을 뜻하지는 않지만, 초급자가 중급 사용자가 되는 발판이 될 것이다. 모든 예제들은 우리 홈 네트워크로부터 그대로 가져왔으므로 우리가 아는 한 잘 동작한다.
이 가이드를 어떻게 사용할까 :
·[Enter] 처럼 각 괄호에 담긴 단어들은 키보드에서 그 키를 누르거나 마우스 1번 버튼을 누르라는 뜻이다. ·{your name here}처럼 구불구불한 괄호안에 담긴 단어들은 사용자가 입력 해야 할 “진짜” 데이터에 대응하는 데이터를 뜻한다. ·이택릭체로(기울어진) 쓰여진 텍스트는 사용자 자신이 셸 프롬프트에 써 넣어 야 할 명령을 뜻한다.
필요한 조건 :
이 가이드는 당신이 bind v8.2를 설치했으며, 당신이 등록되어 있는(legal) 도메인 이름을 선정했고, 당신이 인터넷으로부터 자신의 머신을 “숨기기”위해 IP 매스커레이드를 사용하고 있다고 가정한다. 만약 당신이 bind v4.x를 사용하고 있다면 업그레이드하거나(버전 4.x에는 몇 가지 보안상의 문제가 있다) 제대로 적용되지 않을 것이므로 이 문서를 사용하지 않는 것이 좋겠다.
*주의 - 대부분 배포판들은 bind의 세 가지 패키지를 가진다. - 당신이 원하지 않는 단 하나는 “caching-only” 버전이다.
DNS는 무엇인가?
DNS는 Domain Name System을 나타내고 실제로는 프로토콜이다. 당신이 사용할 프로그램 Bind(Berkeley Internet Name Domain)는 서버와 클라이언트 양 쪽에서 DNS를 실제로 구성하는 도구이다. DNS는 이름들을 사람들이 사용하는 문자-숫자(alpha-numeric) 이름을, 컴퓨터 프로그램이 사용하는 ip 주소로 번역한다. 예를 들어 www.netscape.com은 207.200.75.200으로 번역한다.
왜 자신만의 DNS 서버를 가지는가?
당신은 자신의 DNS 서버를 가지지 않고도 당신의 ISP에서 제공하는 DNS 서버를 사용하면 살아남을(survive) 수 있다. 당신 자신의 서버를 사용해서 이름을 찾는 속도를 높이며, 당신이 새로운 컴퓨터를 추가하고, 당신의 홈 네트워크가 더 멋지게 동작하도록 센드메일을 허용하는 등 당신의 네트워크를 설정하는 데 소비하는 시간을 최소화한다 그리고 주말을 보낼 좋은 계획을 선사한다.
누가 지금 당신에게 DNS를 제공하는가?
아마 당신의 로컬 ISP는 당신에게 DNS를 제공할 것이다. 다음 예제를 따라 하면 우리의 가정들을 확인할 것이고, 설치 후에 당신의 DNS를 테스트하기 위한 기초를 제공한다. 당신의 ISP에 연결하고 터미널 윈도우에 아래 명령들을 써 넣는다.
nslookup[Enter] Default Server: {your ISP’s DNS name will show here} Address: {your ISP’s DNS server IP address here}
Now type this in to see dns work: >www.tux.org
Non-authoritative answer: Name: gwyn.tux.org Address: 207.96.122.8 Aliases: www.tux.org >exit [Enter]
중요한 노트 - 매스커레이딩
매스커레이딩을 설정하지 않고 당신 자신의 개인적인 DNS 구성은 생각조차 해서는 안된다.(또는 실제 아이피 주소와 등록된 네트워크 이름 없이!) 그렇지 않다면 시스템이 헝클어지고, 아마 그 아이피를 가진 진짜 주인으로부터 어떤 험악한 이메일을 받게 될 지도 모른다. 매스커레이딩은 ip 주소가 무엇이든, 당신 자신의 개인적인 네트워크에 당신이 원하는 이름을 사용할 수 있도록 허용하고, 네트워크를 통해 인터넷에 유효한 ip 주소로 연결할 수 있도록 가장한다.
DNS 설치 :
당신은 DNS를 작동하기 위해 bind 프로그램을 설치해야 한다. 내 홈 네트워크 설정에서는, kulai.org는 내 도메인이다. 내가 매스커레이드를 사용한 이래, kulai.org는 어떤 목록에도 오르지 않았고, 나 또한 이 이름을 아무 곳에도 등록하지 않았다. 당신의 도메인 이름을 정했다면, 아직 등록된 것이 아니거나, 또는(이미 등록된 것이라면) 결국 엉망진창으로 만들고 말 것이다. 당신은 whois 프로그램을 사용해서 당신의 도메인이 벌써 등록된 것이 아닌지 검사해야 한다. 예를 들어, 네트워크에 연결된 동안:
whois kulai.org [Enter]
그리고 나는 잡다한 출력물 끝에 다음 메시지를 돌려 받았다:
No match for “ KULAI.ORG”.
이 기사(article)를 쓰는 동안 나는 내 컴퓨터들을 사용할 것이다. 그들은:
master.kulai.org |
192.168.124.10 |
linux only, the server |
ic.kulai.org |
192.168.124.1 |
linux and win98 |
fserver.kulai.org |
192.168.124.11 |
freebsd only |
phillip.kulai.org |
192.168.124.20 |
win98 only |
당신의 DNS를 설정하자 :
당신이 만들어야 하는 파일은 다섯 개이다. 이들 파일은 일반적인 텍스트파일로 당신이 좋아하는 에디터로 만들면 된다. 당신은 이 기사에서 제공되는 아래 예제로부터 복사하고, 붙여도 된다 - 다만 이름과 IP 주소는 당신의 것으로 바꾸어야 한다! 이들 파일들은 매우 특별한 문법을 가지는데 - 매우 조심스럽게 그들을 편집해야 한다.
/etc/named.conf /var/named/db.cache /var/named/db.kulai.org (where kulai.org is my domain) /var/named/db.124.168.192 (where my network is 192.168.124.0) /var/named/db.127.0.0
<경고 >
당신의 DNS가 설정되는 동안, /etc/resolv.conf 파일의 이름을 바꾸지 않고 절대 당신의 서버를 리부트하지 않는다. 부트가 끝나면, 이 파일의 이름을 다시 /etc/resolv.conf로 바꾼다. 좋지 않은 역(reverse) DNS는 부팅자체를 방해할 수 있기 때문에, 부트하고 망가진 곳을 고쳐야 한다. 문제로부터 보호하는 것은 - 이름바꾸기 이다.
또한, 당신의 /etc/nsswitch.cnf 파일을 점검해야 한다. “hosts”라인은 “hosts: files dns”라 되어 있어야 한다. 이것은 시스템이 호스트이름을 해석할 때, 아무리 해도 동작하지 않는 DNS에게 묻는 대신 먼저 /etc/hosts 파일에서 찾아보도록 만든다. 만약 당신이 NIS(Network Information System)을 사용한다면, 그 줄은 “hosts: files nis dns”가 될 것이다. |
시작하기 :
위에 설명된 파일들을 만들고 나서, 당신의 /etc/resolv.conf 파일을 편집하여 단지 당신 자신의 네임서버 목록만을 가지도록 한다.
search kulai.org nameserver 192.168.124.10
주의> /etc/resolv.conf는 bind 8.* 프로그램에 필수적이다. 다음과 같이 쓴다.
tail -f /var/log/messages [Enter]
이제 당신은 named 데몬이 시작할 때 어떤 에러 메시지도 감시할(monitor) 수 있다. 다른 윈도/콘솔을 열고 다음과 같이 쓴다:
/usr/sbin/ndc start [Enter] (or for Redhat users: /etc/rc.d/init.d/named start )
당신의 /var/log/messages 파일은 아래처럼 named와 끝에 대한 항목번호를 가져야 한다.
Jul 10 15:54:26 master named: named startup succeeded Jul 10 15:54:26 master named[3523]: Ready to answer queries.
테스트하기 위해, 인터넷에 연결하고 “Who is providing your DNS now?” 섹션의 프로세스를 반복한다. 이렇게 하면 네임서버처럼 당신의 서버이름을 돌려줄 것이다. 당신이 자주 찾아가는 곳을 쓰고 그 ip 주소를 당신에게 돌려주는지 알아본다.
동작하지 않는다면 :
1. named 데몬이 실행중인지 점검한다. ps ax|grep named [Enter]
2. 다른 머신에서 서버에 ip 주소와 이름 모두로 ping을 보내본다. ping 192.168.124.10 [Enter] ping master.kulai.org [Enter]
3. 서버에 telnet으로 연결한다. 오래도록 연결해서 문제를 확인한다.
만약 모두 잘 된다면, 당신의 새로운 네임서버에 홈 네트워크 위의 컴퓨터들을 지정한다.
마지막 배려 :
우리는 당신에게 간단한 dns 서버를 구축하는 개략적인 방법을 주었다. 성공은 대개 더 큰 관심거리를 불러일으키므로 여기 더 배울 수 있는 곳을 몇 군데 소개한다.
The DNS HOWTO DNS and Bind by O’Reilly DNS - ZDNet Webopedia Definition and Links Troubeshooters.com: DNS -- 지난 버전의 bind를 사용하는 이들을 위한 힌트도 포함한다.
Copyright ⓒ 1999, JC Pollman and Bill Mote Published in Issue 44 of Linux Gazette, August 1999 |