架设 DHCP Server (1)
#版权宣告:CopyrightOLS32001Allrightsreserved.
#作者:OLS3(卧龙小三)
#本讲义仅供教育单位参考.
#本讲义主要供台南县各中小学校网管人员参考备查.
#作者保有一切形式的着作权.
#欲作其它用途者,需经作者授权同意.
#未经作者授权同意之前,请勿转载刊登.
架设DHCPServer
前言:
DHCP是DynamicHostConfigurationProtocol的简称,主要用来简化网管在:工作站/主机网路组态设定方面的"烦覆"问题,俗称:"动态分配IP".
相对於动态分配的机制,而使用人工手动的方式,一台一台去设定,则称为静态设置.
静态设置是相当没有效率的.
试想:假如一个网段中,有几百部工作站,用人工手动方式静态设置,不累死才怪,况且,将来,若欲更动网路组态,也极不方便!
因此之故,通常在网管工作中,DHCPServer是一项十分重要的架设服务.
以往,学校的DHCPServer大多架在NT/W2K上,但效能及稳定性不是很好,
因此,以下介绍DHCPServer在RedHatLinux上的架设.
本文不讲太多理论,以轻易架起为原则.
所需套件:
dhcp-2.0-5.i386.rpm(RedHat6.2)
dhcp-2.0-12.i186.rpm(RedHat7.0)
dhcp-2.0-12.i386.rpm(CLE1.0)
dhcp-2.0p15-4.i386.rpm(RedHat7.1)
请根据您的Linux版本来挑选dhcpServer的套件吧.
架设:
在RedHatLinux上,架设DHCPServer是非常简单的!
1.安装:
(a)rpm-ivhdhcp-2.0-5.i386.rpm
(b)之後,查看一下,到底这个套件在主机中安置了那些档案?
rpm-qldhcp|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,它可用来控制dhcpserver的行为,如:
启动:/etc/rc.d/init.d/dhcpdstart
停止:/etc/rc.d/init.d/dhcpdstop
重新启动:/etc/rc.d/init.d/dhcpdrestart
观察运作状况:/etc/rc.d/init.d/dhcpdstatus
另外一个是,/usr/doc/dhcp-2.0/dhcpd.conf.sample
(RedHat7.0在/usr/share/doc/dhcp-2.0中)
顾名思义,这是一个dhcpserver的设定档本,等一下我们要将它copy到/etc下,并且命名为dhcpd.conf.
(c)cp/usr/doc/dhcp-2.0/dhcpd.conf.sample/etc/dhcpd.conf
2.设定:
接着,便可开始针对dhcpserver的设定档/etc/dhcpd.conf来做设定的工作.
以下是该档的原始内容:
subnet192.168.0.0netmask255.255.255.0{
#---defaultgateway
optionrouters 192.168.0.1;
optionsubnet-mask 255.255.255.0;
optionnis-domain "domain.org";
optiondomain-name "domain.org";
optiondomain-name-servers 192.168.1.1;
optiontime-offset -5; #EasternStandardTime
# optionntp-servers 192.168.1.1;
# optionnetbios-name-servers 192.168.1.1;
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless
#--youunderstandNetbiosverywell
# optionnetbios-node-type2;
rangedynamic-bootp192.168.0.128192.168.0.255;
default-lease-time21600;
max-lease-time43200;
#wewantthenameservertoappearatafixedaddress
hostns{
next-servermarvin.redhat.com;
hardwareethernet12:34:56:78:AB:CD;
fixed-address207.175.42.254;
}
}
请将它修改成:(以昭明国中为例,该校为1/2C前半)
subnet163.26.167.0netmask255.255.255.128{
#---defaultgateway
#路由器IP
optionrouters 163.26.197.126;
#网路遮罩
optionsubnet-mask 255.255.255.128;
#Domain
optiondomain-name "jmjh.tnc.edu.tw";
#指定要分派那几台DNSServer来提供服务?
optiondomain-name-servers 163.26.167.1,163.26.200.1,168.95.1.1;
optiontime-offset -5; #EasternStandardTime
#动态分配IP围
rangedynamic-bootp163.26.167.50163.26.167.100;
#IP租约时间
default-lease-time21600;
max-lease-time43200;
#将贵校的DNS主机设定在固定IP
#wewantthenameservertoappearatafixedaddress
hostns{
next-serverdns.jmjh.tnc.edu.tw;
hardwareethernet12:34:56:78:AB:CD;
fixed-address163.26.167.1;
}
}
上面的设定中,请您依贵校组态,自行修改之.
要注重的是:
(a)hostns{
next-serverdns.jmjh.tnc.edu.tw;
hardwareethernet12:34:56:78:AB:CD;---%26gt;这个是DNS主机网路卡的编号(6bytes),请用ifconfig来查询,如下所示:
fixed-address163.26.167.1;
}
ifconfig得:
eth0Linkencap:EthernetHWaddr48:54:E8:26:CC:C9
inetaddr:163.26.167.1Bcast:163.26.167.127Mask:255.255.255.128
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:762193errors:0dropped:0overruns:0frame:0
TXpackets:555401errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:100
Interrupt:11Baseaddress:0x8000
取HWaddr48:54:E8:26:CC:C9的48:54:E8:26:CC:C9
填入上面的hardwareethernet设定中即可.
非凡注重:贵校的网卡编号(每张卡全球唯一)一定不会和此本一样,请勿照抄此处的设定值哟!
(b)这台dhcpserver可以和原有的NT/W2K上的dhcpserver共存,但请注重,IP分配段最好要错开.
那麽,到底工作站会向那一台dhcpserver取得动态分配呢?
很简单,当工作站发出要求(request)的讯息时,谁先抢到,就由谁先提供.
3.执行:
/etc/rc.d/init.d/dhcpdstart
第一次执行时,不会成功,
若是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/dhcpdstart
恭喜您!贵校已拥有一个非常稳定的DHCPServer了!
注重事项:
若您有架设Linux防火墙,想将DHCPServer由某一张网卡分配出去(一张网卡代表一个网段围),
例如:想由第二张网路卡eth1介面分配出去,只要修改/etc/rc.d/init.d/dhcpd即可.
如下所示:
将startdaemons的地方
由:
daemon/usr/sbin/dhcpd
改成:
daemon/usr/sbin/dhcpdeth1
结言
DHCPServer是网管工作中,非常重要的利器,架设二台以上备援,也是明智的作法.
而且,从此,您可以不必再倚靠NT/W2K这种效能差又不稳定(本益比实在太低了)的系统了.
(不必受限於某一家封闭型的公司,又不必花大钱,才是中小学校网路建置,最佳的本益比选择!)
OLS3写重感冒中...04/28/2001
:
我这一生中,只有在生病和喝醉酒时,才会比较好命一点,可以早早睡,且睡到自然醒.;-)
#作者:OLS3(卧龙小三)
#本讲义仅供教育单位参考.
#本讲义主要供台南县各中小学校网管人员参考备查.
#作者保有一切形式的着作权.
#欲作其它用途者,需经作者授权同意.
#未经作者授权同意之前,请勿转载刊登.
架设DHCPServer
前言:
DHCP是DynamicHostConfigurationProtocol的简称,主要用来简化网管在:工作站/主机网路组态设定方面的"烦覆"问题,俗称:"动态分配IP".
相对於动态分配的机制,而使用人工手动的方式,一台一台去设定,则称为静态设置.
静态设置是相当没有效率的.
试想:假如一个网段中,有几百部工作站,用人工手动方式静态设置,不累死才怪,况且,将来,若欲更动网路组态,也极不方便!
因此之故,通常在网管工作中,DHCPServer是一项十分重要的架设服务.
以往,学校的DHCPServer大多架在NT/W2K上,但效能及稳定性不是很好,
因此,以下介绍DHCPServer在RedHatLinux上的架设.
本文不讲太多理论,以轻易架起为原则.
所需套件:
dhcp-2.0-5.i386.rpm(RedHat6.2)
dhcp-2.0-12.i186.rpm(RedHat7.0)
dhcp-2.0-12.i386.rpm(CLE1.0)
dhcp-2.0p15-4.i386.rpm(RedHat7.1)
请根据您的Linux版本来挑选dhcpServer的套件吧.
架设:
在RedHatLinux上,架设DHCPServer是非常简单的!
1.安装:
(a)rpm-ivhdhcp-2.0-5.i386.rpm
(b)之後,查看一下,到底这个套件在主机中安置了那些档案?
rpm-qldhcp|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,它可用来控制dhcpserver的行为,如:
启动:/etc/rc.d/init.d/dhcpdstart
停止:/etc/rc.d/init.d/dhcpdstop
重新启动:/etc/rc.d/init.d/dhcpdrestart
观察运作状况:/etc/rc.d/init.d/dhcpdstatus
另外一个是,/usr/doc/dhcp-2.0/dhcpd.conf.sample
(RedHat7.0在/usr/share/doc/dhcp-2.0中)
顾名思义,这是一个dhcpserver的设定档本,等一下我们要将它copy到/etc下,并且命名为dhcpd.conf.
(c)cp/usr/doc/dhcp-2.0/dhcpd.conf.sample/etc/dhcpd.conf
2.设定:
接着,便可开始针对dhcpserver的设定档/etc/dhcpd.conf来做设定的工作.
以下是该档的原始内容:
subnet192.168.0.0netmask255.255.255.0{
#---defaultgateway
optionrouters 192.168.0.1;
optionsubnet-mask 255.255.255.0;
optionnis-domain "domain.org";
optiondomain-name "domain.org";
optiondomain-name-servers 192.168.1.1;
optiontime-offset -5; #EasternStandardTime
# optionntp-servers 192.168.1.1;
# optionnetbios-name-servers 192.168.1.1;
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless
#--youunderstandNetbiosverywell
# optionnetbios-node-type2;
rangedynamic-bootp192.168.0.128192.168.0.255;
default-lease-time21600;
max-lease-time43200;
#wewantthenameservertoappearatafixedaddress
hostns{
next-servermarvin.redhat.com;
hardwareethernet12:34:56:78:AB:CD;
fixed-address207.175.42.254;
}
}
请将它修改成:(以昭明国中为例,该校为1/2C前半)
subnet163.26.167.0netmask255.255.255.128{
#---defaultgateway
#路由器IP
optionrouters 163.26.197.126;
#网路遮罩
optionsubnet-mask 255.255.255.128;
#Domain
optiondomain-name "jmjh.tnc.edu.tw";
#指定要分派那几台DNSServer来提供服务?
optiondomain-name-servers 163.26.167.1,163.26.200.1,168.95.1.1;
optiontime-offset -5; #EasternStandardTime
#动态分配IP围
rangedynamic-bootp163.26.167.50163.26.167.100;
#IP租约时间
default-lease-time21600;
max-lease-time43200;
#将贵校的DNS主机设定在固定IP
#wewantthenameservertoappearatafixedaddress
hostns{
next-serverdns.jmjh.tnc.edu.tw;
hardwareethernet12:34:56:78:AB:CD;
fixed-address163.26.167.1;
}
}
上面的设定中,请您依贵校组态,自行修改之.
要注重的是:
(a)hostns{
next-serverdns.jmjh.tnc.edu.tw;
hardwareethernet12:34:56:78:AB:CD;---%26gt;这个是DNS主机网路卡的编号(6bytes),请用ifconfig来查询,如下所示:
fixed-address163.26.167.1;
}
ifconfig得:
eth0Linkencap:EthernetHWaddr48:54:E8:26:CC:C9
inetaddr:163.26.167.1Bcast:163.26.167.127Mask:255.255.255.128
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:762193errors:0dropped:0overruns:0frame:0
TXpackets:555401errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:100
Interrupt:11Baseaddress:0x8000
取HWaddr48:54:E8:26:CC:C9的48:54:E8:26:CC:C9
填入上面的hardwareethernet设定中即可.
非凡注重:贵校的网卡编号(每张卡全球唯一)一定不会和此本一样,请勿照抄此处的设定值哟!
(b)这台dhcpserver可以和原有的NT/W2K上的dhcpserver共存,但请注重,IP分配段最好要错开.
那麽,到底工作站会向那一台dhcpserver取得动态分配呢?
很简单,当工作站发出要求(request)的讯息时,谁先抢到,就由谁先提供.
3.执行:
/etc/rc.d/init.d/dhcpdstart
第一次执行时,不会成功,
若是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/dhcpdstart
恭喜您!贵校已拥有一个非常稳定的DHCPServer了!
注重事项:
若您有架设Linux防火墙,想将DHCPServer由某一张网卡分配出去(一张网卡代表一个网段围),
例如:想由第二张网路卡eth1介面分配出去,只要修改/etc/rc.d/init.d/dhcpd即可.
如下所示:
将startdaemons的地方
由:
daemon/usr/sbin/dhcpd
改成:
daemon/usr/sbin/dhcpdeth1
结言
DHCPServer是网管工作中,非常重要的利器,架设二台以上备援,也是明智的作法.
而且,从此,您可以不必再倚靠NT/W2K这种效能差又不稳定(本益比实在太低了)的系统了.
(不必受限於某一家封闭型的公司,又不必花大钱,才是中小学校网路建置,最佳的本益比选择!)
OLS3写重感冒中...04/28/2001
:
我这一生中,只有在生病和喝醉酒时,才会比较好命一点,可以早早睡,且睡到自然醒.;-)





