萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 架設 DHCP Server

架設 DHCP Server

class="22220"> #;版權宣告:;Copyright;OLS3;2001;All;rights;reserved.
#;作者:;OLS3;(臥龍小三)
#;本講義僅供教育單位參考.
#;本講義主要供台南縣各中小學校網管人員參考備查.
#;作者保有一切形式的著作權.
#;欲作其它用途者,;需經作者授權同意.
#;未經作者授權同意之前,;請勿轉載刊登.

架設;DHCP;Server;

前言:

DHCP;是;Dynamic;Host;Configuration;Protocol;的簡稱,;主要用來簡化網管在:;工作站/主機網路組態設定方面的;"煩覆";問題,;俗稱:;"動態分配;IP".

相對於動態分配的機制,;而使用人工手動的方式,;一台一台去設定,;則稱為靜態設置.

靜態設置是相當沒有效率的.;

試想:;如果一個網段中,;有幾百部工作站,;用人工手動方式靜態設置,;不累死才怪,;況且,;將來,;若欲更動網路組態,;也極不方便!

因此之故,;通常在網管工作中,;DHCP;Server;是一項十分重要的架設服務.;

以往,;學校的;DHCP;Server;大多架在;NT/W2K;上,;但效能及穩定性不是很好,

因此,;以下介紹;DHCP;Server;在;RedHat;Linux;上的架設.;

本文不講太多理論,;以容易架起為原則.


所需套件:;

dhcp-2.0-5.i386.rpm;(RedHat;6.2)

dhcp-2.0-12.i186.rpm;(RedHat;7.0)

dhcp-2.0-12.i386.rpm;(CLE;1.0)

dhcp-2.0p15-4.i386.rpm(RedHat;7.1)

請根據您的;Linux;版本來挑選;dhcp;Server;的套件吧.


架設:

在;RedHat;Linux;上,;架設;DHCP;Server;是非常簡單的!

1.;安裝:

(a);rpm;-ivh;dhcp-2.0-5.i386.rpm

(b);之後,;查看一下,;到底這個套件在主機中安置了那些檔案?

rpm;-ql;dhcp;|;more

會得到以下列表:

/etc/rc.d/init.d/dhcpd
/usr/doc/dhcp-2.0
/usr/doc/dhcp-2.0/CHANGES
/usr/doc/dhcp-2.0/README
/usr/doc/dhcp-2.0/RELNOTES
/usr/doc/dhcp-2.0/dhcpd.conf.sample
/usr/man/man5/dhcp-options.5.gz
/usr/man/man5/dhcpd.conf.5.gz
/usr/man/man5/dhcpd.leases.5.gz
/usr/man/man8/dhcpd.8.gz
/usr/man/man8/dhcrelay.8.gz
/usr/sbin/dhcpd
/usr/sbin/dhcrelay
/var/state/dhcp;

其中,;比較重要的有二個:;

其一是,;/etc/rc.d/init.d/dhcpd;,;它可用來控制;dhcp;server;的行為,;如:

啟動:;/etc/rc.d/init.d/dhcpd;start
停止:;/etc/rc.d/init.d/dhcpd;stop
重新啟動:;/etc/rc.d/init.d/dhcpd;restart
觀察運作狀況:;/etc/rc.d/init.d/dhcpd;status

另外一個是,;/usr/doc/dhcp-2.0/dhcpd.conf.sample
(RedHat;7.0;在;/usr/share/doc/dhcp-2.0;中)

顧名思義,;這是一個;dhcp;server;的設定檔本,;等一下我們要將它;copy;到;/etc;下,;並且命名為;dhcpd.conf.

(c);cp;/usr/doc/dhcp-2.0/dhcpd.conf.sample;/etc/dhcpd.conf

2.;設定:

接著,;便可開始針對;dhcp;server;的設定檔;/etc/dhcpd.conf;來做設定的工作.

以下是該檔的原始內容:



subnet;192.168.0.0;netmask;255.255.255.0;{

#;---;default;gateway

option;routers 192.168.0.1;

option;subnet-mask 255.255.255.0;



option;nis-domain "domain.org";

option;domain-name "domain.org";

option;domain-name-servers 192.168.1.1;



option;time-offset -5; #;Eastern;Standard;Time

# option;ntp-servers 192.168.1.1;

# option;netbios-name-servers 192.168.1.1;

#;---;Selects;point-to-point;node;(default;is;hybrid).;Don't;change;this;unless

#;--;you;understand;Netbios;very;well

# option;netbios-node-type;2;



range;dynamic-bootp;192.168.0.128;192.168.0.255;

default-lease-time;21600;

max-lease-time;43200;



#;we;want;the;nameserver;to;appear;at;a;fixed;address

host;ns;{

next-server;marvin.redhat.com;

hardware;ethernet;12:34:56:78:AB:CD;

fixed-address;207.175.42.254;

}

}




請將它修改成:;(以昭明國中為例,;該校為;1/2;C;前半)



subnet;163.26.167.0;netmask;255.255.255.128;{

#;---;default;gateway

#;路由器;IP

option;routers 163.26.197.126;

#;網路遮罩

option;subnet-mask 255.255.255.128;

#;Domain;

option;domain-name "jmjh.tnc.edu.tw";

#;指定要分派那幾台;DNS;Server;來提供服務?

option;domain-name-servers 163.26.167.1,;163.26.200.1,;168.95.1.1;



option;time-offset -5; #;Eastern;Standard;Time



#;動態分配;IP;圍

range;dynamic-bootp;163.26.167.50;163.26.167.100;



#;IP;租約時間

default-lease-time;21600;

max-lease-time;43200;



#;將貴校的;DNS;主機設定在固定;IP

#;we;want;the;nameserver;to;appear;at;a;fixed;address

host;ns;{

next-server;dns.jmjh.tnc.edu.tw;

hardware;ethernet;12:34:56:78:AB:CD;

fixed-address;163.26.167.1;

}

}



上面的設定中,;請您依貴校組態,;自行修改之.;

要注意的是:

(a);host;ns;{;
next-server;dns.jmjh.tnc.edu.tw
hardware;ethernet;12:34:56:78:AB:CD;;--->;這個是;DNS;主機網路卡的編號(6;bytes),;請用;ifconfig;來查詢,;如下所示:
fixed-address;163.26.167.1
}

ifconfig;得:



eth0;;;;;;Link;encap:Ethernet;;HWaddr;48:54:E8:26:CC:C9

inet;addr:163.26.167.1;;Bcast:163.26.167.127;;Mask:255.255.255.128

UP;BROADCAST;RUNNING;MULTICAST;;MTU:1500;;Metric:1

RX;packets:762193;errors:0;dropped:0;overruns:0;frame:0

TX;packets:555401;errors:0;dropped:0;overruns:0;carrier:0

collisions:0;txqueuelen:100

Interrupt:11;Base;address:0x8000




取;HWaddr;48:54:E8:26:CC:C9;的;48:54:E8:26:CC:C9;

填入上面的;hardware;ethernet;設定中即可.;

特別注意:;貴校的網卡編號(每張卡全球唯一)一定不會和此本一樣,;請勿照抄此處的設定值喲!;

(b);這台;dhcp;server;可以和原有的;NT/W2K;上的;dhcp;server;共存,;但請注意,;IP;分配段最好要錯開.

那麽,;到底工作站會向那一台;dhcp;server;取得動態分配呢?;

很簡單,;當工作站發出要求(request)的訊息時,;誰先搶到,;就由誰先提供.

3.;執行:

/etc/rc.d/init.d/dhcpd;start

第一次執行時,;不會成功,;

若是;dhcp-2.0-5;版本,;它會出現;failed;失敗的紅色字串,;並警告您:

/var/state/dhcp/dhcpd.leases;這個檔案不存,;因此,;您必須手動開啟一個新檔:

touch;/var/state/dhcp/dhcpd.leases

這個檔案的用途是:;記錄各工作站租賃;IP;的情形.

若是;DHCP-2.0-12;以後的版本,;則不會出現任何訊息,;您會發現它並沒有運作起來.

這是因為:;此版一旦發現您沒有開設此檔,;便會直接跳出而不執行.;

而且此檔的位置稍有不同:

它位於;/var/lib/dhcp/dhcpd.leases

OK,;手動開一下吧?!

touch;/var/lib/dhcp/dhcpd.leases

現在可以啟動了,;並把它設成一開機就自動執行(linuxconf;或;ntsysv;皆可設定之)

/etc/rc.d/init.d/dhcpd;start

恭喜您!;貴校已擁有一個非常穩定的;DHCP;Server;了!


注意事項:

若您有架設;Linux;防火牆,;想將;DHCP;Server;由某一張網卡分配出去(一張網卡代表一個網段圍),;

例如:;想由第二張網路卡;eth1;介面分配出去,;只要修改;/etc/rc.d/init.d/dhcpd;即可.;

如下所示:

將;start;daemons;的地方

由:

daemon;/usr/sbin/dhcpd;

改成:

daemon;/usr/sbin/dhcpd;eth1;


結言:

DHCP;Server;是網管工作中,;非常重要的利器,;架設二台以上備援,;也是明智的作法.

而且,;從此,;您可以不必再倚靠;NT/W2K;這種效能差又不穩定(本益比實在太低了)的系統了.;

(不必受限於某一家封閉型的公司,;又不必花大錢,;才是中小學校網路建置,;最佳的本益比選擇!);


OLS3;寫重感冒中...;04/28/2001

:;

我這一生中,;只有在生病和喝醉酒時,;才會比較好命一點,;可以早早睡,;且睡到自然醒.;;-)
copyright © 萬盛學電腦網 all rights reserved