# 作者: 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; <BR