메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

하나의 NIC에서 IP Alias를 통한 DNS 구축에 관한 연구

한빛미디어

|

2003-11-19

|

by HANBIT

13,244

저자 : 임영규(imlinux70 AT hanafos.com)

1. 서론

리눅스 시스템은 IP Alias를 지원한다. 이번 연구에서는 IP Alias를 이용하여 DNS를 직접 구축해 보기로 한다.

일반적으로 DNS를 구축하려면 도메인을 등록하고 할당된 IP가 있어야 하지만, 이번 연구에서는 도메인을 가상으로 설정하고 IP Alias 방법으로 DNS를 구축하기로 한다. 부가적으로 IP Alias 설정에 따른 다양한 방법을 이해할 수 있다. 모든 연구에 기본을 위해서 레드햇 7.2 운영체제 전체를 인스톨하고 아래 연구사항에 대하여 DNS 이해를 돕기로 한다.

2. 구성

리눅스 네트워크 설정은 매우 쉽게 구성할 수 있다. 하나의 NIC에 여러개의 IP를 구성하는 것을 IP Alias라고 하는데 이것을 설정하기 위해서는 다음의 파일을 생성 하여야 한다. 연구 대상에 사용된 리눅스는 레드햇 7.2 버전이다.

2.1 리눅스 단일 웹 서버 구성을 위한 시스템 사양
  • 펜티엄 cel 366
  • 메모리 128M
  • NIC 1개
  • 연구에 사용하는 IP는 각각 192.168.0 네트워크를 사용한다.
2.2 DNS 구성절차

① 먼저 DNS에 할당할 IP주소를 생성하는 것이다. 이것은 IP Alias를 이용한다. /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 각각 필요한 IP 개수만큼 복사하여 생성한다. 다음은 각 복사본 파일이다. 작업을 위해 root 권한으로 이하 모든 작업을 수행한다.

[List 1]
  ifcfg-eth0:1  ifcfg-eth0:2  ifcfg-eth0:3  ifcfg-eth0:4  ifcfg-eth0:5
[List 2]
  DEVICE=eth0
  ONBOOT=yes
  BOOTPROTO=static
  IPADDR=192.168.0.1
  NETMASK=255.255.255.0
  GATEWAY=192.168.0.254

  TYPE=Ethernet
  USERCTL=no
  NETWORK=192.168.0.0
  BROADCAST=192.168.0.255
  PEERDNS=no
[List 2]에서 DEVICE=eth0 부분을 DEVICE=eth0:1, DEVICE=eth0:2, DEVICE=eth0:3 DEVICE=eth0:4 DEVICE=eth0:5 그리고 IPADDR=192.168.0.2, IPADDR=192.168.0.3, IPADDR=192.168.0.4, IPADDR=192.168.0.5, IPADDR=192.168.0.6 으로 각각 수정한 파일을 [List 1]에 지정한 이름으로 저장한다.

이것이 IP Alias하는 방법이다. 저장이 다 되었다면 네트워크를 다시 시작하여야 한다.
  /etc/rc.d/init.d/network restart
물론 컴퓨터를 reboot하면 되지만 불필요하게 그렇게 하지 않아도 된다. 이번에는 IP Alias된 주소를 직접 확인해 보는 것이다.
  ifconfig -a
이제 IP Alias가 된 결과가 화면에 보일것이다. 그럼 다음으로 NAMED 데몬을 위한 환경을 설정할 차례이다. 여기에서는 DNS 관련 환경 설정 파일에 대하여 설명한다.

② DNS 설정을 위해서는 /etc/named.conf파일을 적절히 수정 하여야 한다. [List 3]은 named.conf 파일이다. 실제 도메인으로 사용 할 부분만 추가 하였다. 추가된 부분은 아래에 표시 하였다. 본 연구에서 사용한 도메인 이름은 gnomesys.com으로 하였다.

이제 IP Alias가 된 결과가 화면에 보일 것이다. 그럼 다음으로 NAMED 데몬을 위한 환경을 설정할 차례이다.

[List 3]
  ## named.conf - configuration for bind
  #
  # Generated automatically by bindconf, alchemist et al.
  controls {
          inet 127.0.0.1 allow { localhost; } keys { rndckey; };
  };
   
  include "/etc/rndc.key";

  options { 
    directory "/var/named/";   
  };

  zone  "." { 
    type hint; 
    file  "named.ca";
  };


  zone  "0.0.127.in-addr.arpa" IN { 
    type master; 
    file  "0.0.127.in-addr.arpa.zone"; 
  };


  zone  "localhost" IN { 
    type master; 
    file  "localhost.zone"; 
    allow-update { none;};
  };

  ## 아래 부는 gnomesys.com을 위한 설정이다.

  zone  "gnomesys.com" IN { 
    type master; 
    file  "gnomesys.zone"; 
    allow-update { none;};
  };
  
  zone  "0.168.192.in-addr.arpa" IN { 
    type master; 
    file  "gnomesys.rev"; 
  };
다음으로 zone과 rev 파일에 대한 내용이다. 이 파일은 /var/named에 있으며 [List 3]에서 명명한 파일이름으로 직접 생성 하여야 한다. DNS zone및rev 파일 내용에 대한 자세한 설명은 레드햇 리눅스 가이드 또는 리눅스 관련 서적을 참고하여야 한다. [List 4]와 {list 5]는 각각 zone 및 rev 파일이다.

[List 4]
  $TTL  1D
  @      IN SOA  ns.gnomesys.com   webmaster.gnomesys.com (
         2003111400      ; serial (d. adams)
         6H              ; refresh
         1H              ; retry
         1D              ; expiry
         1D )            ; minimum

         IN   NS         ns.gnomesys.com  
         IN   MX    100  mail.gnomesys.com

  ns     IN    A  192.168.0.1

  red    IN    A  192.168.0.1
  gnome  IN    A  192.168.0.2
  mail   IN    A  192.168.0.3

  www    IN    CNAME  red
  ftp    IN    CNAME  red   
[List 5]
  $TTL  1D
  @      IN SOA  ns.gnomesys.com   webmaster.gnomesys.com (
          2003111400      ; serial (d. adams)
          6H              ; refresh
          1H              ; retry
          1D              ; expiry
          1D )            ; minimum

         IN NS    ns.gnomesys.com  
         IN MX 100  mail.gnomesys.com

  1      IN PTR    www.gnomesys.com
  1      IN PTR    ftp.gnomesys.com
  3      IN PTR    mail.gnomesys.com
이제 각 서버 네트워크에서 DNS을 찾을 수 있도록 환경을 구성해야 한다. 이것이 /etc/resolv.conf 파일이다. [List 6]은 resolv.conf의 내용이다.

[List 6]
  nameserver 192.168.0.1
  domain gnomesys.com
이제 모든 설정은 완료 되었다. 마지막으로 NAMED 데몬을 시작하면 된다.
  /etc/rc.d/init.d/named restart
2.3 DNS 구성 확인

① nslookup을 이용하여 완성된 DNS 서버를 확인해 보자. nslookup을 샐행한 후 [List 4] 및 {list 5]에서 설정한 값을 입력해 본다. 그럼 아래와 같은 실행 결과를 볼 수 있을 것이다. [그림 1]은 zone에 대한 확인이며 [그림 2]는 rev에 대한 확인이다.


[그림 1] nslookup zone확인


[그림 2] nslookup rev 확인


[그림 3] 컹커리 웹 확인

② 이제 아파치 서버 데몬을 올리고 IP Alias로 구현한 DNS를 실험해 보면 결과를 알 수 있다. 모질라 또는 컹커리 탐색기를 이용하여 웹 주소 창에 www.gnomesys.com을 실행 시키면 index 페이지를 확인 할 수 있다. [그림 3]은 컹커리 웹 탐색기를 이용하여 실행한 결과이다.

③ 서버 네트워크의 각 클라이언트에서는 게이트 웨이와 DNS, 서버넷 마스크를 설정하여 네트워크를 활성화 하여 결과를 확인할 수 있다.

3. 결론

IP Alias 기능은 네트워크를 공부하고 이해하는데 많은 도움을 준다. 대부분의 리눅스 관련 참고서적의 내용은 그들의 실제 상황을 기준으로 하여 설명하고 있기 때문에 배우기가 여간 어려운 것이 아니었다. 비록 설명이 부족한 부분은 많지만 이것들에 대한 자세한 사항은 리눅스 관련 서적의 네트워크 또는 DNS 설정에 관한 부분을 참고하였다. 이번 연구에 대한 성과는 IP Alias의 다양한 이점에 대하여 많은 지식을 얻었다. 또한 아파치 가상서버, 메일서버, ftp서버 등을 구성하고 운영하는데 많은 지식을 얻었다.

4. 참고자료
  • 레드햇 리눅스 설치 및 시작 가이드
  • kldp.org
  • Special Edition Using Linux
  • 리눅스 Man Page
TAG :
댓글 입력
자료실

최근 본 책0