
                        DHCP mini-HOWTO (DHCPd/DHCPcd)
                                       
@̡GVladimir Vuksan, vuksan@veus.hr Ķ̡G jA dawei@sinica.edu.tw

   /oGv4.2, 11 June 1999
     _________________________________________________________________
   
   oDnbѵUApA Linux ]w DHCP A DHCP
   ΤݡA@ǰ򥻪DC
     _________________________________________________________________
   
1. 

     * 1.1 Kdn
     * 1.2 poo󪺳̷s
     * 1.3 ^X
     * 1.4 m
     * 1.5 vn
       
2. DHCP qTw

3. ]wΤ

     * 3.1 UΤݪʱ{
     * 3.2 w˦b Slackware W
     * 3.3 w˦b RedHat 5.x M RedHat 6.x W
     * 3.4 b RedHat 4.x P Caldera OpenLinux 1.1 W]w
     * 3.5 w˦b Debian W
     * 3.6 b LinuxPPC P MkLinux W]w
     * 3.7 O]Token Ring^
     * 3.8 ̫AЧHUʧ@
     * 3.9 䥦`Nƶ
     * 3.10 ư
       
4. ]w DHCP A

     * 4.1 UNIX W DHCP A
     * 4.2 ]wպAC
     * 4.3 DHCPd ﶵ]w
     * 4.4 ҰʦA
     _________________________________________________________________
   
1. 

1.1 Kdn

   o󪺤evnDCޥγo󪺷NҤlNHΨL
   e ɡAUnۤvӾ᭷ICѩoO@sXAҥHi|ǿ
   ~HΤ TaA]AMiAtγyM`CMAaӥi
   o͡A OФp߬WAXFƧڤ@tdC
   
   PɡA]ЧAʰObߡAoҴѪe O TCo 
   eA\hO]XӪAݰ_ӦnB@AiHCޥήɡAU
    nۤvӾ᭷IC
   
1.2 poo󪺳̷s

   o󪺳̷s|waiKb comp.os.linux.answers sD׾¤WC
   ]|QmbUxsoTΦW FTP xWAҦpG
   
   [1]ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
   
   ~AAq`iHb Linux pWoAаѦҺ}G
   
   [2]http://metalab.unc.edu/LDP/
   
   o󪺤媩½ĶAаѦҺ}G
   
   [3]http://www.linux.org.tw/CLDP/mini/DHCP.html
   
   ڦb¤½ĶvZOnN½ĶۤvyHCO
   AN ½Ķ쵲}ѵڡC
   
1.3 ^X

   ZOoҧ@^XD`wCSzIXMѻPAoN
   | e{bHeCҥHAбNzĳNNMбH
   vuksan@veus.hrC
   
1.4 m

   o̪Oק Paul Makeev ҼgӨӪC
   
   Lo󦳹LmB͡AC|pUG
     * Heiko Schlittermann
     * Jonathan Smith
     * Dan Khabaza
     * Hal Sadofsky
     * Henrik Stoerner
     * Paul Rossington
       
1.5 vn

   o 1998 }lvݩ Vladimir Vuksan ҦAýЫӥHUWw
   yqG
   
     * Linux HOWTO 󪺥γAiHϥΥ󪫲zιqlCΦӽ
       s PyqAunoӪvnQOdbCCӷ~欰AyqOQ
       \ӥBw 諸FOA󪺬yq欰A@̳ƱQiC
     * Ҧ½ĶNlͪu@NΦX֥ Linux HOWTO 󪺻Eu@A
        oӪvnO@C]NOAAiHq HOWTO lͥX@
       AMo lͤ󪺬yqj[WLCDb@ǯSwp
       UA~|ճoǭ Fp Linux HOWTO դHALa}p
       UG
     * pGAðݡAp Linux HOWTO դH
       
   [4]linux-howto@metalab.unc.edu
   
2. DHCP qTw

   DHCP NOʺAD]ww(Dynamic Host Configuration Protocol)²
   gCDHCP  Dnγ~OGzLAUӱަUӥD]椤Τ
   ^Wiʤ֪ suѼơCDHCP wVۮe BOOTP oӳqTwCi
   @BTаѦ RFC 2131 зǡ] RFC 1531 O¼зǡ^HΨ䥦
   C]аѦҸӤ󥽧AѦҸƨӷ ^CA]iHѾ\G [5]DHCP
   FAQ (http://web.syr.edu/ jmwobus/comfaqs/dhcp.faq.html)C
   
   oN|U컡 DHCP Aݪʱ{(daemon)MΤݪ
   {Ch ƤHbu@W|ݭnΨݪʱ{AHKqݪAW
   o]wTC tκ޲zh|ϥΦAݪʱ{AHKG
   ]wTΤݨӨΡAҥHAi pGAuOӤ@몺ϥΪ̡AAN|
   nΤݪʱ{C
   
3. ]wΤ

3.1 UΤݪʱ{

   ֤ 2.0.x 
   
   קAϥΪO@ Linux o檩AAݤUΤݪʱ{CA
   һݭn U{M٬ dhcpcd AثesO 0.70CAib [6]
   B \ŪoӮM󪺤eC
   (ftp://metalab.unc.edu/pub/Linux/system/network/daemons/dhcpcd-0.70.ls
   m)
   
   ֤ 2.2.x 
   
   ѩb֤ 2.1.x M 2.2.x  ipv4 {M󴿳QקL]ҦpA|
   b\h ]ww]ȡ^dhcpcd Lk`B@CDAϥΪO RedHat 6.x]
   ثeѤF dhcpcd 1.3.x M 2.2.x ֤ߡ^_hANUt@Ӫ
   dhcpcd]Y 1.3.x^ ӨϥΡAoO Sergei Viznyuk sergei@phystech.com F
   קKWzD ק諸CAiHbHUXӦaoG
   
     * [7]ftp://phystech.dyn.ml.org/pub/
     * [8]http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz
       
   UөҰOH򥻪hC
   
3.2 w˦b Slackware W

   AiHq Metalab g(mirror^xΥHUXӦaAU̷s
   DHCPcd {MG
   
     * [9]ftp://ftp.cdrom.com/pub/linux/metalab/system/network/daemons/
     * [10]ftp://metalab.unc.edu/pub/Linux/system/network/daemons
     * [11]ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp ]Dx
       b饻^
       
   U̷s dhcpcd.tar.gz ̷s
   
     * N dhcpcd.tar.gz Ѷ}
       tar -zxvf dhcpcd-0.70.tar.gz
     * ܮMѶ}᪺lؿ̡AýsĶ dhcpcd {
       cd dhcpcd-0.70
       make
     * wˮM (AH root HURO)
       make install
       
   oөRO|إ /etc/dhcpc oӤlؿADHCPcd M| DHCP Txsb
   ӳBA åBN dhcpcd {ɽƻs /usr/sbin oӤlؿ̡C
   
   b}ɡAtγ]wȴAϥ DHCP \AаpU]wG
   
   cd /etc/rc.d
   
   mv rc.inet1 rc.inet1.OLD
   
   Wʧ@|N¦ȳ]wROZ(script^ rc.inet1.OLD
   CUӡA Aإ߷s rc.inet1 ROZCU{X]tFݪ]w
   eG
     _________________________________________________________________
   
#!/bin/sh
#
# rc.inet1      o shell ROZ|b}ɳBz INET tΪ򥻳]wC

HOSTNAME=`cat /etc/HOSTNAME` # oөROγ\OݪAO٬O
                             # NOdFUӡC

# W loopback]¶^^˸mC
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

# YAAӺsuAhϥΤUROӳ]w eth0 ɭC
# YAu loopback  SLIP suAhnboɮ׸̨ϥΤUROC

/usr/sbin/dhcpcd
     _________________________________________________________________
   
   sɮפбNqs}C
   
   AHWʧ@Aи [12]̫᪺BJ
   
3.3 w˦b RedHat 5.x M RedHat 6.x W

   DHCPcd ]wb RedHat 5.0 PHWܮeCAҭn@ƱANO
   Ұ x(Control Panel)AпJ
   
   control-panel
   
     *  Network Configuration Ϲ
     * Hƹ Interfaces 
     * Hƹ Add s
     *  Ethernet 
     * b Edit Ethernet/Bus Interface ܮؤĿ "Activate interface at
       boot time" إHο DHCP  Interface configuration protocol
       ت JC
       
   AHWʧ@Aи [13]̫᪺BJ
   
3.4 b RedHat 4.x P Caldera OpenLinux 1.1 W]w

   DHCPcd bзǪ RedHat OH RPM ]ˤ覡ӵo檺AAiHb
   o檺 CD-ROM W RPMS ؿ쥦AΨU}UG
   
   [14]ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd
   -0.6-2.i386.rpm
   
   Mw˥ApUҥܡG
   
   rpm -i dhcpcd-0.6-2.i386.rpm
   
   Ϊ̡AAiH Slackware `ҴyzkAsĶ@ݩAۤvC
   
   P nothing nothing@cc.gatech.edu ѥHUT
     _________________________________________________________________
   
ڧRA ip }κW١Aqɮ /etc/resolv.conf COAگdUF
search M nameserver ]w]]Yǭ]ڪ dhcpcd A|ɮ
/etc/dhcpc/resol.confAҥHڥϥRA /etc/resolv.conf^C

bɮ /etc/sysconfig/network ̡AڲF HOSTNAME P GATEWAY ]wCOA
ګOdF䥦]w]NETWORKINGNDOMAINNAMENGATEWAYDEV^C

bɮ /etc/sysconfig/network-scripts/ifcfg-eth0 ̡AڲF IPADDRNNETMASKN
NETWORKNM BROADCAST ]wCOAګOdF DEVICE M ONBOOT ]wAñN
BOOTPROTO ]wAק令 BOOTPROTO=dhcpC

̫xsɮסAñNqs}C
     _________________________________________________________________
   
   AHWʧ@Aи [15]̫᪺BJ
   
3.5 w˦b Debian W

   AiHbU}H deb 覡]˪ DHCPcd {MG
   
   [16]ftp://ftp.debian.org/debian/dists/slink/main/binary-i386/net/dhcpc
   d_0.70-4.deb
   
   Ϊ̡AAiH Slackware `ҴyzkӦwˡC
   
   nw˳o deb ]˪{MAпJG
   
   dpkg -i /where/ever/your/debian/packages/are/dhcpd*deb
   
   AXG DHCPcd ]wA]G From: Heiko Schlittermann
   (heiko@os.inf.tu-dresden.de)
   
   o dhcpcd {MpP䥦 debian M@ˡA|NҰʩROZw˦b
   /etc/init.d/<package_name> WAB /etc/init.d/dhcpcdAñN 쵲
   U /etc/rc?.d/ ؿC
   
   b /etc/rc?.d/ ؿҦs񪺦UɮסAO}ɩҰ檺ROZC
   
   pGAbw˫ᤣQs}AAӦҼ{ϥΤHuҰʡʱ{(daemon)
   覡G
   
   /etc/init.d/dhcpcd start
   
   AHWʧ@Aи [17]̫᪺BJ
   
3.6 b LinuxPPC P MkLinux W]w

   Uo`O R. Shapiro gC
   
    Yoichi Hariguchi ҵoi 0.65 M 0.7  dhcpcd {ӥiHb
   ή֤ 2.1.24  LinuxPPC P MkLinux W`AOAA`NHUX
   ӭnIG
   
   * pGAQnλݭnAzLl{Xӫإߥi檺ɮסAЪ`NAppc
   linux W sĶ|N 'char' w 'unsigned char'AOAHariguchi 
   l{XTN 'char' w 'signed char'CҥHAnzLl{XӲ
   ͰɡAAs MakefileA CFLAGS ]t "-fsigned-char" oӿ
   C
   
   * ثe linuxppc [NOҿת linux-pmac] OWíwO 2.1.24A
   n iU}o dhcpcd ץXG [18]2.1 ץX
   (http://www.cro.net/ vuksan/dhcppatch)C mklinux OWҵo檺 DR2.1
   M DR3.0 oӪAĥΪO 2.0 ֤ (2.0.33) AҥHAϥγo
   ץXAOAYϦwˤFoӭץX]Sˮ`CЪ`N Alinuxppc w
   ˥ФW dhcpcd { rpm ]˸̡Aä]to 2.1 ץXA] A
   b linuxppc OWLk`B@AϭˬOAiHb mklinux OW`C
   
   * ڭ̨ϥ linuxppc O 2.1.24 ֤߮ɡAb dhcpcd {ҰʤAA
   |ݨ @²uѾĵiTCAiHC
   
   * Hariguchi  dhcpcd {|@ǮɶAjO 30 Aӧ즸s
   AM ]wѪʧ@Cڭ̨ϥΪO linuxppc O 2.1.24 ֤߮ɡA
   WzĵiTA uObAѤwg]wFC
   
   s linuxppc ֤ߦӨA Hariguchi ҵoi dhcpcd {L
   kϥ GɧA   Sergei Viznyuk ҵoi]ثeo檩
   1.3.9 ^C·ЪO Viznyuk  dhcpcd {OH glibc 2 禡wӵoi
   AM linuxppc 2.1.1xx oϥγoӨ禡wCGAsĶ{ݭnΨ@
   ޥ - Ӹ`лP pC@{sĶnANbs
   ߤW`B@F]b linuxppc  2.1.24  MkLinux W٬O
   ^C
   
   {bڭ̨ӰQ Viznyuk ҵoi dhcpcd {AڤW@ Viznyuk 
   dhcpcd ]v1.3.7^ɡAiHb̪o檺 linuxppc ֤ߡG2.1.102N103
   N115NM 119AW AåBwgաCAӥiHzLl{XӲ
   ͰɡAOAڤD Ӹ`CViznyuk  dhcpcd Lkb 2.1.24
   ֤ߤWB@AMӭ׸ɹL Hariguchi  dhcpcd {oiH`ϥΡCn
   sĶ Hariguchi  dhcpcd {NehFC
   
   KnzpUG
     _________________________________________________________________
   
MkLinuxG  HariguchiG iΡF ViznyukG i
2.1.24G   HariguchiG pGץLAiH`ϥΡ]Ͱɫܮe^F ViznyukG
 i
2.1.102+G HariguchiG iΡF ViznyukG iΡ]Ͱɻݭnޥ^
     _________________________________________________________________
   
   Ъ`NAViznyuk  dhcpcd |ƪg /etc/resolv.conf ̡]gJ
   e| ƥ¦ɮס^A]AAۤvq /etc/dhcpc ƻs쵲
   TCPɤ] `Nq`|ɩ /sbin ؿӤO
   /usr/sbin ̡AҥHROC P Hariguchi |@IPCY
   Aϥ ifup ӱҰ dhcpcd Ah ifup o ROZ]@ǤpץC
   
   YAQno linuxppc ϥΪwsĶn dhcpcd {AбHH
   
   [19]reshapiro@mediaone.netC
   
   ڤ]ѤFGX RPMs ]ɡG
   
   [20]ftp://ftp.linuxppc.org//pub/linuxppc/contrib/linuxppc-R4/RPMS/
   
   ФnϥθӥؿU dhcpcd-1.3.8-2.ppc.rpm ɮסAwg@FC
   ia O dhcpcd-0.70-0.ppc.rpm] linuxppc 2.1.24 ϥΪ^H
   dhcpcd-1.3.8-3.ppc.rpm ] linuxppc 2.1.102 MHWϥΪ^C
   1.3.9  rpm ]ɪ |ѥXӡCPɧ٨̷Ӫ 0.65 M
   0.70] Hariguchi ҵoi^覡睊 1.3.9 ] Viznyuk ҵoi^ 
   F@ǭק]NO [W -c ROCﶵ^C]Ъ`NA Ǫ Viznyuk
   dhcpcd ä]to˪eC^
   
3.7 O]Token Ring^

   YAզbOW dhcpcd {ANLk`B@CHUO
   Henrik Stoerner (henrik_stoerner@olicom.dk) ѵڪѨMסC
   
   DXb dhcpcd u{ѡAӺ] Ethernet^dCYo{졧O
   d Ah|ڵ󪺨ƱAåBiɭOAӺC
   
   ѨM״NOϥΤ@²檺ץXܧ dhcpcd l{XCڤwgN
   ץX b@ӤpWAô RedHat  RPM ]ɩM@ӹwsĶ
   nGɡG [21]http://eolicom.olicom.dk/~storner/dhcp/
   
   oӭץXwgeF dhcpcd @̤WFA]AƱQӵo檺
   dhcpcd ұĥΡC
   
3.8 ̫AЧHUʧ@

   bAs}AAӳ]wɭCпJG
   
   ifconfig
   
   Aӷ|ݨpUe
     _________________________________________________________________
   
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
          RX packets:302 errors:0 dropped:0 overruns:0 frame:0
          TX packets:302 errors:0 dropped:0 overruns:0 carrier:0 coll:0

eth0      Link encap:Ethernet  HWaddr 00:20:AF:EE:05:45
          inet addr:24.128.53.102  Bcast:24.128.53.255  Mask:255.255.254.0
          ^^^^^^^^^^^^^^^^^^^^^^^
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24783 errors:1 dropped:1 overruns:0 frame:1
          TX packets:11598 errors:0 dropped:0 overruns:0 carrier:0 coll:96
          Interrupt:10 Base address:0x300
     _________________________________________________________________
   
   pGAAb inet addr ݨ@ǥ`ƦrAoܧAwg]wnFCpG
   AAݨ O 0.0.0.0 ]nAuO dhcpcd bo IP }eȮɪ
   ]wȡCpGALF XAAMݨ 0.0.0.0 AаѦ [22]ư
   CDHCPcd O@ӡʱ{(daemon)AҥHunA٬ۡAN|
   O ACCTpɷ|P DHCP AAp@A IP }
   C|N TOb syslog ɮפ]b Slackware WA
   /var/adm/syslogFb RedHat/OpenLinux WA /var/log/syslog^C
   
   ̫n@ơCAwW٦ACӤ覡iHoӨBJAAi
   HnD AȨӡAiW٦A IP }AMAN}J
   /etc/resolv.conf ɤ AΪ̡AA]iH DHCPcd q DHCP Ao
   AMb /etc/dhcpc ؿU ɮ resolv.confCڨMwϥ DHCPcd Ӳ
   ɮ resolv.conf eAkpUG
   
   ƥª /etc/resolv.conf ɮ
   
   mv /etc/resolv.conf /etc/resolv.conf.OLD
   
   pGؿ /etc/dhcpc sbAAiHۦ沣ͦؿ
   
   mkdir /etc/dhcpc
   
   MԱN /etc/resolv.conf HŸ쵲 /etc/dhcpc/resolv.conf
   
   ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf
   
   pGoӤ覡Lk`B@AйըϥΤUk ]UoӭץkO
   nothing@cc.gatech.edu ҫĳA䤺eק Henrik Stoerner ҴѪ
   k^
   
   ٥UoӨBJAu]ڪ dhcpcd |ɮ
   /etc/dhcpc/resolv.conf Cڦb /etc/sysconfig/network-scripts/ifup ɮ
   AFHUק]M諸O ܦnAOwgiHڸѨMoӰDF
   ^G
     _________________________________________________________________
   
elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
    echo -n "Using DHCP for ${DEVICE}... "
    /sbin/dhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done ${DEVICE}
    echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

    if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
        ^^^^
        echo "failed."
        exit 1
     _________________________________________________________________
   
   ڧ⥦ק令G
     _________________________________________________________________
   
elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
    echo -n "Using DHCP for ${DEVICE}... "
    /sbin/dhcpcd
    echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

    if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
        ^^^^^^
       echo "failed."
       exit 1
     _________________________________________________________________
   
   `N ! (bang) oӲŸ if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ];
   
   `j\iAiHUӨɨGF :-)C
   
3.9 䥦`Nƶ

   HUBJO沈nAOYǤHӨAiNoWγC
   
   a) pGAAuO~|suݨDAAiHϥΩROC覡ӱҰ
   dhcpcd]noӨBJAA֦ root ^G
   
   /usr/sbin/dhcpcd
   
   AQnAпJ
   
   /usr/sbin/dhcpcd -k
   
3.10 ư

   pGAAӤFWzBJAoMLksAܥiO]G
   
   I. Ad]wTC 
   
   b}L{AAN|AdAåBӷ|ܤUX檺T
   eG
     _________________________________________________________________
   
eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 20 af ee 11 11, IRQ 10.
3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
     _________________________________________________________________
   
   pGAA Linux tΤ|X{WoӰTAoܡAAdiLkQ
   ѡC ϡAAϥΪO@몺AӺd]NE2000 ۮe^AAӷ|@
    DOS uϤAA iHΥӳ]wdCճ]wU IRQs ȡA@
   Linux iHѨAd] IRQ ȳ]wq` 9,10,12^C
   
   II. ҨϥΪ DHCP A䴩 RFC 1541 з/ڪ DHCP AO Windows
   NT
   
   հ dhcpcd AпJ
   
   dhcpcd -r
   
   ϥ ifconfig ˬdݬݡAO_Aɭwg]wnF]̪AҬݨ쪺
   O Inet.addr=0.0.0.0AAoݴX]wɶ^C
   
   pGoӤkiHѨMADAhAӦb}ROZ[W "-r" 
   AĴp N /sbin/dhcpcd ק令 /sbin/dhcpcd -r C
   
   H RedHat ҡAAs /etc/sysconfig/network-scripts/ifup oөRO
   ZA Nק令G
     _________________________________________________________________
   
        IFNAME=$[ {DEVICE} \
        "/sbin/dhcpcd -r -c /etc/"- etc etc.
     _________________________________________________________________
   
   III. b}|Ϳ~T "Using DHCP for eth0 ... failed"AOA
   t oॿ`B@C
   
   AܥiϥΪO RedHat tΡAӥBAAåJӦaӻާ@ :-)CA
   b if ԭz |F ! (bang) oӲŸC [23]B A˵pӭץ
   C
   
   IV. ڪdB@FXAKSFC
   
   iO gated]hDʱ{(gateway daemon)^ Ҧ^TA˶äF
   Linux DѡA~|yo˪DCˬdO_ gated b椤G
   
   ps -auxww | grep gate
   
   pGuOoˡAAiHϥ RedHat  RPM ޲z{NAάOʱN
   q /etc/rc.d/ C
   
   V.b}ɥiHѨڪAӺdAOAbڪTOAM|X{
   "NO DHCPOFFER" TCPɡAoӪp]|oͦbڪ PCMCIA AӺdW
   C
   
   ATwAdϥΪO 10BaseT s]Nqܽuy)CA̦n
   d@UA }ɺd]wA쩳OϥΨӳsCҦpG
     _________________________________________________________________
   
eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 20 af ee 11 11, IRQ 10.
                            ^^^^^^^^^^^^
3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
     _________________________________________________________________
   
   ڴťLϥνWqHAL̨ϥ PCMCIA u]SOO ifport^N
   s] w 10Base2 (ӦPbu(thinnet)^A]|o˪DC
   pGAQs]w dM}CATwAϥΪO 10BaseT su
   C
   
   VI. SA^ DHCP ΤݪsnD] Peter Amstutz ѡ^
   
   bYǨtΤWAAsnD]tADW١CH dhcpcd ҡA
   AiH 'dhcpcd -h foohost'Cγ\AAiHϥΧAbWbW١A
   ӰӥDW١C
   
   VII. ڤwgөҦBJF]wAOAڪMLksuC
   
   luƾھ]cable modem^q`|OAdAӺ}AҥHAY
   Ans sqΧ󴫺dAAHYؤkӡоɡA cable
   modem {osq/ dCq`AiH cable modem Aq}A
   ϥ cable modemAάOHqܽШD ޳N䴩AiAqwg󴫤F
   dC
   
   AWh]ipfwadm Wh^\s 67/68] DHCP ϥΨӴG]
   wT^ yqCХJˬdAWhC
   
   VIII. ڨϥΪO MediaOne Express ҴѪAȡAOڤMLksuC
   
   ]iO MediaOne b DHCP [FӥX{TC@۫HApo
   wA OӰDAOAoLkϥΥAAiH³o譱ˬdCpGA]^
   ϥΪO Windows NTAɡApGAϥΡƥ˵]Event Viewer^A
   AN|ݨpU ĵܰTC
   
   DHCP @ӥ׬ 005  067 ﶵClﶵƦpUҥܡC
   
   0000: 62 61 73 69 63 basic
   
   pGAJo˪DAШ [24]ftp://vanbuer.ddns.org/pub/ Uץ 
   GXΨolXC
   
4. ]w DHCP A

4.1 UNIX W DHCP A

   bU UNIX ۮe@~tΤWA\hӷ~ΧKO DHCP A{iΡC
   䤤A ۦWKOA{O Paul Vixie/ISC  DHCPdCثe̷s
   O 2.0] ĳjaϥΡ^A 3.0 b beta qաCAiHU
   }oG
   
   [25]ftp://ftp.isc.org/isc/dhcp/
   
   b RedHat] 5.2^o Linux M󤤥]tF DHCP AGX RPM
   ]ˡC  RPM ]˪ɦW dhcp-2.0b1pl6-2.platform.rpmCwˮɥunJ
   
   rpm -i dhcp-2.0b1pl6-2.i386.rpm
   
   YAϥΤWBJAhAiHLUw˻C
   
   bAUAANѶ}CMiJѶ}ؿAJG
   
   ./configure
   
   nnw˫e]wu@AinIɶCHJG
   
   make
   
   H
   
   make install
   
4.2 ]wպAC

   wˤAпJ ifconfig -aAANݨpUTG
     _________________________________________________________________
   
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
     _________________________________________________________________
   
   pG MULTICAST TAAӭs]wA֤ߡA[Jh}Ǽ
   ]multicast^䴩CjhƪtΦӨAAXGpC
   
   UӨBJOA[J 255.255.255.255 ѡCHUޭz DHCPd {
   Ūɮס]README^G
   
   F dhcpd TaAȹLD窺 DHCP Τݡ]ҦpAWindows 95^
   Adhcpd eʥ] 255.255.255.255  IP }WCOALinux
   |N 255.255.255.255 als}]B 192.5.5.223^Co
   NH DHCP qTwAMӳ\h DHCP ΤݨävTAǡ]ҦpAҦ
   Microsoft DHCP Τݡ^o|CD ΤݡAN|ݤӦۦA
    DHCPOFFER TC
   
   JG
   
   route add -host 255.255.255.255 dev eth0
   
   pGAݨpUT
   
   "255.255.255.255: Unknown host"
   
   AӱNUT[J /etc/hosts ɮפG /etc/hosts file:
   
   255.255.255.255 all-ones
   
   MAJG
   
   route add -host all-ones dev eth0
   
   
   
   route add 255.255.255.0 dev eth0
   
   eth0 ӬOAثeϥκd˸mW١CpGOAAotXڱpT
   קC
   
4.3 DHCPd ﶵ]w

   {bAA]w DHCPdCAAͩνs /etc/dhcpd.confC
   
   q`AҭnOAHa IP }CAAӤU覡ӳ]w
   G
     _________________________________________________________________
   
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.10 192.168.1.100;
   range 192.168.1.150 192.168.1.200;
}
     _________________________________________________________________
   
   ]wGADHCP A|ѥΤݡAϥνd
   192.168.1.10-192.168.1.100  192.168.1.150-192.168.1.200  IP }C
   pGAΤݨSSOw IP } ɶAhXɶww 600 A
   nMA̤j]\^Xɶ 7200 CP A]|qΤ
   AnDϥ 255.255.255.0 lBnA192.168.1.255 s}
   A192.168.1.254 /hDAåH 192.168.1.2  DNS AC
   
   A]iH̾ڥΤݪAӺ}AӫSw IP }ΤݡAҦp
     _________________________________________________________________
   
host haagen {
   hardware ethernet 08:00:2b:4c:59:23;
   fixed-address 192.168.1.222;
}
     _________________________________________________________________
   
   oӳ]wN| IP } 192.168.1.222 AӺ}
   08:00:2b:4c:59:23  ΤݡC
   
   W IP }wAiHĲVXyAĴpAAiHYǹq֦R
   A IP }]ҦpAA^A䥦ΤݨoʺAIP }]
   ҦpAϥν WqAʪϥΪ̡^C٦䥦ﶵAĴpA wins 
   A}NɶA ApGAݭni@BAѪܡAiHаѾ\
   dhcpd.conf C
   
4.4 ҰʦA

   bҰʦAeAun@ƱNFCq` DHCP w˹L{ä|
   ɮ dhcp.leasesCA DHCPd |ϥγoɮרxsثeθTC
   ɮױĥΤ@ r榡xsơAҥHb DHCPd ާ@AiH˵
   eC{bڭ Ӳɮ dhcp.leasesAЦbROCWJG
   
   touch /etc/dhcp.leases
   
   oӰʧ@N|ͤ@Ӫťժɮס]ɮתjp = 0^CAݭnɮװ
   󪺭ק ҥHӬOťժCYAݨ@ӿ~Tɮ׬OťժAA
   iHz|åB ~HUBJC
   
   {bAAiHҥ DHCP AFCunJ]αNUԭz[}]w
   ^
   
   /usr/sbin/dhcpd
   
   pGAAQnTwB@O_@`AAӥ}ҰҦAçA
   e ]foreground^ӰCAAiHJ
   
   /usr/sbin/dhcpd -d -f
   
   MA}ҧA@ӥΤݾAùݦAݡާ@x]console^
   ùA AN|ݨ@ǰTQܥXӡC

References

   1. ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
   2. http://metalab.unc.edu/LDP/
   3. http://www.linux.org.tw/CLDP/mini/DHCP.html
   4. mailto:linux-howto@metalab.unc.edu
   5. http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html
   6. ftp://metalab.unc.edu/pub/Linux/system/network/daemons/dhcpcd-0.70.lsm
   7. ftp://phystech.dyn.ml.org/pub/
   8. http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz
   9. ftp://ftp.cdrom.com/pub/linux/metalab/system/network/daemons/
  10. ftp://metalab.unc.edu/pub/Linux/system/network/daemons
  11. ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp
  12. file://localhost/tmp/zh-sgmltools.21168/DHCP.txt.html#nameserver
  13. file://localhost/tmp/zh-sgmltools.21168/DHCP.txt.html#nameserver
  14. ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm
  15. file://localhost/tmp/zh-sgmltools.21168/DHCP.txt.html#nameserver
  16. ftp://ftp.debian.org/debian/dists/slink/main/binary-i386/net/dhcpcd_0.70-4.deb
  17. file://localhost/tmp/zh-sgmltools.21168/DHCP.txt.html#nameserver
  18. http://www.cro.net/~vuksan/dhcppatch
  19. mailto:reshapiro@mediaone.net
  20. ftp://ftp.linuxppc.org//pub/linuxppc/contrib/linuxppc-R4/RPMS/
  21. http://eolicom.olicom.dk/~storner/dhcp/
  22. file://localhost/tmp/zh-sgmltools.21168/DHCP.txt.html#troubleshooting
  23. file://localhost/tmp/zh-sgmltools.21168/DHCP.txt.html#error3
  24. ftp://vanbuer.ddns.org/pub/
  25. ftp://ftp.isc.org/isc/dhcp/
