<!doctype linuxdoc system>
<article>
<title>
DHCPd mini HOWTO
<author>저자 : Paul Makeev &lt;<url url="mailto: mac@RoSprint.net" name="mac@RoSprint.net" >&gt;
 <date> v1.2, 1997.6.24
<trans>  역자 : 심상현 &lt;<url url="mailto: artsilly@ee.korea.ac.kr" name="artsilly@ee.korea.ac.kr" >&gt;
<tdate>   v1.2-0.9, 1998.3.25
<abstract>
  이문서는 DHCPd를 사용하기 위한 간략한 정보와 내용을 담고있는 mini HOWTO 이다.
  </abstract>
<toc>

<sect> 소개
<p>DHCP(Dynamic Host Configuration Protocol)는 각각의 호스트의 네트워크 파라미터 
 및 설정 사항들을 서버의 세팅을 사용하여 원격으로 설정해주는 프로토콜이다. DHCP
 는 BOOTP와 호환을 유지한다. 이점에  대해서는 RFC 2131(재분류 이전의 RFC  1531) 
 를 참고하기 바란다. 그밖의 문건들에 대해서는 이문서 말미의 URL들을 이용하여 찾
 아볼 수 있다.

  이 미니-하우투 문서는 DHCP 서버 데몬에 대한 내용이다. DHCP 클라이언트  데몬에 
 대해서는 DHCPcd-mini-HOWTO를 참고하기 바란다. DHCPcd 패키지는 다음  사이트에서 
 쉽게 구할 수 있다.
  
  배포 사이트:   <url url="ftp:// ftp.kobe-u.ac.jp /pub/PC-UNIX/Linux/network/dhcp
                  32kB dhcpcd-0.65.tar.gz" name="ftp.kobe-u.ac.jp /pub/PC-UNIX/Linux/network/dhcp
                  32kB dhcpcd-0.65.tar.gz" >
  보조 사이트: <url url="http://sunsite.unc.edu /pub/Linux/system/network/daemons
                  32kB dhcpcd-0.65.tar.gz" name="sunsite.unc.edu /pub/Linux/system/network/daemons
                  32kB dhcpcd-0.65.tar.gz" >
</p>
  
<sect> 리눅스에서의 DHCP 서버
<p>흔히 말하는 Unix스타일의 OS에서 사용할  수 있는 DHCP 서버의 종류는  다양하다. 
 이것들은 상용 또는 무료소프트웨어의 형태로 배포된다. 이 하우투 문서를 작성하며 
 Paul Vixie/ISC DHCPD 서버 데몬을 이용하여 테스트 하였다. 이 패키지는  리눅스에
 서만 쓸 수 있도록 제작된 것은 아니지만 별 고생없이 컴파일하고 인스톨 할 수  있
 다.

  다음 사이트에서  제공되는 최신버전을  이용하거나  이 문서를  작성하며 확인된 
 5.0.9-베타버전을 구해서 사용하면 된다.
  
  배포 사이트 :<url url=" ftp://ftp.isc.org/isc/dhcp/DHCPD-BETA-5.16.tar.gz" name="ftp.isc.org/isc/dhcp/DHCPD-BETA-5.16.tar.gz" >
  5.0.9-베타를 구할 수 있는곳 : <url url="http://www.isc.org/dhcp/dhcp-beta.html" name="www.isc.org/dhcp/dhcp-beta.html" >
  
  <url url="ftp://ftp.vix.com" name="ftp.vix.com" >에서는 더이상 DHCPD 패키지를 구할 수 없을 것이다.(오래된 하우투 문
 서를  보고  아직도   이 사이트를   찾아오는  사람이   있는지도 모르겠다.   :-) 
 ftp.isc.org에서 패키지를 찾아 사용하기 바란다.
 * 컴파일 하고 사용하기전에 반드시 README 화일을 숙지하기 바란다. 리눅스의  경
 우에 컴파일하는 방법에 대해 나와있을 것이다.
</p>  

<sect> 커널 설정하기
<p>커널에서의 MULTICAST, Socket Filtering 옵션을 활성화 시켜주어야 한다. 물론 TCP/IP 네트워크 설정
 을 해주어야 하는 것은 당연한 일이다. ^.^
</p>  

<sect>설정하기
<p>[<url url="mailto: artsilly@ee artsilly" name="artsilly@ee artsilly" >]# ifconfig -a
  위 명령행을 통해서 다음과 비슷한 내용을 볼 수 있을 것이다.
<verb>
  eth0      Link encap:10Mbps Ethernet  HWaddr 00:C0:4F:D3:C4:62
            inet addr:183.217.19.43  Bcast:183.217.19.255  Mask:255.255.255.0
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:2875542 errors:0 dropped:0 overruns:0
            TX packets:218647 errors:0 dropped:0 overruns:0
            Interrupt:11 Base address:0x210
  </verb>
  만일 3번째 라인에 있는 MULTICAST라는 단어가 보이지 않는다면 3절에서 언급한 커
 널 설정을 해주어야 한다. MULTICAST가  되고 있는 커널이라면 다음의 명령을  통해 
 아래와 비슷한 내용이 나와야 한다.
  
  [<url url="mailto: artsilly@ee artsilly" name="artsilly@ee artsilly" >]# netstat -rn 
<verb>
  Kernel routing table
  Destination     Gateway         Genmask         Flags Metric Ref Use    Iface
  255.255.255.255 0.0.0.0         255.255.255.255 UH    0      0      101 eth0
</verb>
  이 내용은 멀티캐스트 라우팅을 설정해 놓아야한다.
</p>  

<sect>멀티캐스트의 설정 및 그 문제점
<p>
  다음의 명령행
  [<url url="mailto: artsilly@ee artsilly"name="artsilly@ee artsilly">]# route add -host 255.255.255.255
  으로 4절에서 말한 멀티캐스트을 세팅할 수 있다. 만약 이경우 &quot;Unknown host&quot;라는 
 에러가 나온다면   &quot;route add  -host hostname  eth0&quot; 같은  명령보단 이  주소를 
 /etc/hosts 화일에 첨가하기를 바란다. 정상적으로 동작하지 않는다면 커널을  최신
 버전으로 교체하던가 새로운 네트워크 유틸리티를 구하여야 할 것이다.
</p>  

<sect> DHCPD 설정
<p>
  배포되는 패키지에 포함된 문서를 꼼꼼히  읽기 바란다. 설정에 대한 내용은  지금 
 다루기에는 너무 복잡하다.
</p>  

<sect> 두개이상의 이더넷 카드에서 DHCPD를 사용하기
<p>
  DHCPD 메일링 리스트에  의하면 최신  안정 커널인  2.0.31과 DHCPD의  최신버전인 
 5.0.15를 이용하여 2개이상의 물리적 인터페이스를 사용할 수 있다고 한다.  2.0.31
 의 커널에서 쓰는 SO_BINDTODEVICE 코드를 이용하여 하위레벨의 물리적인  인터페이
 스를 구분하여 사용할 수 있다한다. 결국 최신버전의 DHCPD에서는 이것을  이용하여 
 두개의 인터페이스를 사용할 수 있는 것이다. 그러나 이 방법은 아직도  베타버전임
 을 기억해야 한다. 나역시도 확인해  보지 못했지만 다음버전의 HOWTO 문서엔  좀더 
 정리된 정보를 줄 수 있을 것이다.
</p>  

<sect> 동적 도메인 네임 서비스(Dynamic DNS)
<p>
  DNS와 DHCP 서버를 함께 사용함으로서 도메인 네임을 동적으로 할당하는 것은 매우 
 고무적이며 권장할 만한  방법이다. RFC  2136이나 2137을  참고하도록 한다.  몇몇 
 DHCP서버와 DNS 서버는 DNS 정보를 효과적으로 갱신할 수 있는 효율적인 메카니즘을 
 제공한다. 

  ISC에서 개발되고 있는 BIND v.8에서는 BIND내부에서 동적 갱신(Dynamic Update)를 
 할 수 있는 방법을 제공하고 있다. 조만간 DHCPD 와 BIND가 효과적으로 결합되기를 
 기대한다. BIND는 다음의 주소에서 구할 수 있다.
  
  BIND v.8 URL: <url url="http://www.isc.org/bind.html" name="www.isc.org/bind.html">
  
  약간 개인적인 이야기를 하자면 현재 DHCP와 DNS 테이블에 호스트 네임을 자동으로 
 추가하는 Python 프로그램을 작성하고 있다. RFC에서 권장하는 사항은 아니지만  아
 주 지저분하고 귀찮은 일을 해준다. 정보가 필요한 사람은 위의 주소로 메일을 보내
 주기 바란다.
</p>  

<sect> 여러 프로그램을 구할 수 있는 곳
<p> <url url=" http://www.isc.org/dhcp.html" name="www.isc.org/dhcp.html"> 

  - ISC DHCP 홈페이지. DHCPD에 대한 많은 것을 얻을 수 있다. 개인적으로 좋아하는 
 사이트이다.
  <url url="http://www.isc.org/bind.html" name="www.isc.org/bind.html" >

  - BIND v.8 의 정보를 얻을 수 있다.
  <url url="http://www-leland.stanford.edu/%7Ellurch/win95netbugs/faq-c.html" name="www-leland.stanford.edu/%7Ellurch/win95netbugs/faq-c.html" >

  - 윈도우즈 95 시스템의 네트워크 세팅에 대한 정보들
  <url url="http://www.bucknell.edu/~droms/dhcp/index.html" name="www.bucknell.edu/~droms/dhcp/index.html" >

  - Ralph Droms가 제공하는 훌륭한 DHCP에 대한 FAQ와 링크들
  <url url="http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html" name="web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html">

  - John Wobus가 제공하는 DHCP 일반적인 FAQ와 정보들

  메일링 리스트
  <url url="mailto: dhcp-server@fugue.com" name="dhcp-server@fugue.com" > - ISC/Vixie DHCPD 에 대한 메일링 리스트
  <url url="mailto: dhcp-v4@bucknell.edu" name="dhcp-v4@bucknell.edu">- bucknell DHCPD 에 대한 메일링 리스트
  </p>
</article>