# 版權(quán)宣告: Copyright OLS3 2001 All rights reserved.
# 作者: OLS3 (臥龍小三)
# 本講義僅供教育單位參考.
# 本講義主要供臺南縣各中小學(xué)校網(wǎng)管人員參考備查.
# 作者保有一切形式的著作權(quán).
# 欲作其它用途者, 需經(jīng)作者授權(quán)同意.
# 未經(jīng)作者授權(quán)同意之前, 請勿轉(zhuǎn)載刊登.
架設(shè) DHCP Server
前言:
DHCP 是 Dynamic Host Configuration PRotocol 的簡稱, 主要用來簡化網(wǎng)管在: 工作站/主機(jī)網(wǎng)路組態(tài)設(shè)定方面的 "煩覆" 問題, 俗稱: "動態(tài)分配 ip".
相對於動態(tài)分配的機(jī)制, 而使用人工手動的方式, 一臺一臺去設(shè)定, 則稱為靜態(tài)設(shè)置.
靜態(tài)設(shè)置是相當(dāng)沒有效率的.
試想: 如果一個網(wǎng)段中, 有幾百部工作站, 用人工手動方式靜態(tài)設(shè)置, 不累死才怪, 況且, 將來, 若欲更動網(wǎng)路組態(tài), 也極不方便!
因此之故, 通常在網(wǎng)管工作中, DHCP Server 是一項(xiàng)十分重要的架設(shè)服務(wù).
以往, 學(xué)校的 DHCP Server 大多架在 NT/W2K 上, 但效能及穩(wěn)定性不是很好,
因此, 以下介紹 DHCP Server 在 RedHat linux 上的架設(shè).
本文不講太多理論, 以容易架起為原則.
所需套件:
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)
請根據(jù)您的 Linux 版本來挑選 dhcp Server 的套件吧.
架設(shè):
在 RedHat Linux 上, 架設(shè) DHCP Server 是非常簡單的!
1. 安裝:
(a) rpm -ivh dhcp-2.0-5.i386.rpm
(b) 之後, 查看一下, 到底這個套件在主機(jī)中安置了那些檔案?
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
觀察運(yùn)作狀況: /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 的設(shè)定檔本, 等一下我們要將它 copy 到 /etc 下, 并且命名為 dhcpd.conf.
(c) cp /usr/doc/dhcp-2.0/dhcpd.conf.sample /etc/dhcpd.conf
2. 設(shè)定:
接著, 便可開始針對 dhcp server 的設(shè)定檔 /etc/dhcpd.conf 來做設(shè)定的工作.
以下是該檔的原始內(nèi)容:
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;
# 網(wǎng)路遮罩
option subnet-mask 255.255.255.128;
# Domain
option domain-name "jmjh.tnc.edu.tw";
# 指定要分派那幾臺 DNS Server 來提供服務(wù)?
option domain-name-servers 163.26.167.1, 163.26.200.1, 168.95.1.1;
option time-offset -5; # Eastern Standard Time
# 動態(tài)分配 IP 圍
range dynamic-bootp 163.26.167.50 163.26.167.100;
# IP 租約時間
default-lease-time 21600;
max-lease-time 43200;
# 將貴校的 DNS 主機(jī)設(shè)定在固定 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;
}
}
上面的設(shè)定中, 請您依貴校組態(tài), 自行修改之.
要注意的是:
(a) host ns {
next-server dns.jmjh.tnc.edu.tw;
hardware ethernet 12:34:56:78:AB:CD; ---> 這個是 DNS 主機(jī)網(wǎng)路卡的編號(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 設(shè)定中即可.
特別注意: 貴校的網(wǎng)卡編號(每張卡全球唯一)一定不會和此本一樣, 請勿照抄此處的設(shè)定值喲!
(b) 這臺 dhcp server 可以和原有的 NT/W2K 上的 dhcp server 共存, 但請注意, IP 分配段最好要錯開.
那麼, 到底工作站會向那一臺 dhcp server 取得動態(tài)分配呢?
很簡單, 當(dāng)工作站發(fā)出要求(request)的訊息時, 誰先搶到, 就由誰先提供.
3. 執(zhí)行:
/etc/rc.d/init.d/dhcpd start
第一次執(zhí)行時, 不會成功,
若是 dhcp-2.0-5 版本, 它會出現(xiàn) failed 失敗的紅色字串, 并警告您:
/var/state/dhcp/dhcpd.leases 這個檔案不存, 因此, 您必須手動開啟一個新檔:
touch /var/state/dhcp/dhcpd.leases
這個檔案的用途是: 記錄各工作站租賃 IP 的情形.
若是 DHCP-2.0-12 以後的版本, 則不會出現(xiàn)任何訊息, 您會發(fā)現(xiàn)它并沒有運(yùn)作起來.
這是因?yàn)? 此版一旦發(fā)現(xiàn)您沒有開設(shè)此檔, 便會直接跳出而不執(zhí)行.
而且此檔的位置稍有不同:
它位於 /var/lib/dhcp/dhcpd.leases
OK, 手動開一下吧?!
touch /var/lib/dhcp/dhcpd.leases
現(xiàn)在可以啟動了, 并把它設(shè)成一開機(jī)就自動執(zhí)行(linuxconf 或 ntsysv 皆可設(shè)定之)
/etc/rc.d/init.d/dhcpd start
恭喜您! 貴校已擁有一個非常穩(wěn)定的 DHCP Server 了!
注意事項(xiàng):
若您有架設(shè) Linux 防火墻, 想將 DHCP Server 由某一張網(wǎng)卡分配出去(一張網(wǎng)卡代表一個網(wǎng)段圍),
例如: 想由第二張網(wǎng)路卡 eth1 介面分配出去, 只要修改 /etc/rc.d/init.d/dhcpd 即可.
如下所示:
將 start daemons 的地方
由:
daemon /usr/sbin/dhcpd
改成:
daemon /usr/sbin/dhcpd eth1
結(jié)言:
DHCP Server 是網(wǎng)管工作中, 非常重要的利器, 架設(shè)二臺以上備援, 也是明智的作法.
而且, 從此, 您可以不必再倚靠 NT/W2K 這種效能差又不穩(wěn)定(本益比實(shí)在太低了)的系統(tǒng)了.
(不必受限於某一家封閉型的公司, 又不必花大錢, 才是中小學(xué)校網(wǎng)路建置, 最佳的本益比選擇!)
OLS3 寫重感冒中... 04/28/2001
:
我這一生中, 只有在生病和喝醉酒時, 才會比較好命一點(diǎn), 可以早早睡, 且睡到自然醒. ;-)