请教Linux系统下DHCP问题..

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教Linux系统下DHCP问题..相关的知识,希望对你有一定的参考价值。

我用的是redhat/fedora5的linux
我想要做个DHCP服务,地址范围是10.99.0.0/16
有高手写下吗?

Redhat使用dhcpd进程提供DHCP服务,启动时dhcpd自动读它的配置文件/etc/dhcpd.conf。dhcpd将客户的租用信息保存在/var/lib/dhcp/dhcpd.leases文件中,该文件不断被更新,从这里面可以查到IP地址分配的情况。

dhcpd为了向一个子网提供服务,需要知道子网的网络地址和网络掩码,并且还要知道地址分配的范围,下面给出一个简单的dhcpd.conf文件:

subnet 192.168.100.0 netmask 255.255.255.0

range 192.168.100.10 192.168.100.253;



此例中,dhcpd将给192.168.100.0网络分配192.168.100.10到192.168.100.253的IP地址。

租期时间可以从0秒到无限长,可以根据需要来定。缺省的租期时间为一天,即86400秒。可以为主机定义两个租期长度:

default-lease-time 默认租期时间;

max-lease-time 用户可以获得的最长租期时间。

下面的配置将缺省的租期时间设置为10分钟,最长租用时间为1小时:

subnet 192.168.100.0 netmask 255.255.255.0

range 192.168.100.10 192.168.100.253;

default-lease-time 600;

max-lease-time 3600;



DHCP还可以向客户提供更多的参数,这些参数可以用option来指定,例如:

subnet 192.168.100.0 netmask 255.255.255.0

range 192.168.100.10 192.168.100.253;

default-lease-time 600;

max-lease-time 3600;

option subnet-mask 255.255.255.0;

option routers 192.168.100.254; 默认路由

option domain-name-servers 202.102.134.68; DNS服务器


现在大家对DHCP配置应该有个了解了,其实过程就是这么简单,中间就隔了一层窗户纸。

实际演练

接下来给大家一个示例,把我的redhat9.0配置成一台DHCP服务器。

vi /etc/dhcpd.conf

配置后,我的机器的该文件内容如下(注释的部分都已经删除掉了,至于原文,大家可以对照/usr/share/doc/

dhcp-3.0pl1/dhcpd.conf.sample文件):

[root@rh9 test]# more /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0

option routers 192.168.0.1;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.0.255;

option domain-name-servers

202.96.199.133, 202.96.133.134;

range dynamic-bootp 192.168.0.1 192.168.0.255;

default-lease-time 21600;

max-lease-time 43200;


这儿我解释一下配置部分,首先subnet定义了网络的地址,然后option routers定义了网关地址;subnet-mask定义子网掩码;broadcast-address定义广播地址;domain-name-servers定义DNS NAMESERVER的地址;dynamic-bootp是给客户端分配的地址,定义的是192.168.0.1-- 192.168.0.255整个网段地址;最后2行是讲分配出的地址的缺省租期时间设置为10分钟,最长租用时间为1小时。这样,一个DHCP服务器就配置好了。

我们可以测试一下结果:在另外一个redhat linux7.2上,把IP设置成DHCP主机的IP地址,通过netconfig命令配置。

检查配置:

[root@rh72 root]# more /etc/sysconfig/ network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp

[root@rh72 root]#

确定网卡已经是DHCP的了。

[root@rh72 root]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:A3:C6:71

inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0

查看地址,发现ETH0已经分配了一个254的地址,说明DHCP服务器配置成功。

小结

至此,我们已经完成了一台Linux DHCP服务器的安装和配置工作。在实际的使用过程中,上述操作步骤应该可以满足一般应用的需求,但是我们还需要经常研究具体的命令参数,让DHCP服务器能更好地为我们服务。
参考技术A vi /etc/dhcpd.conf
ddns-update-style interim;
default-lease-time 21600;
max-lease-time 43200
option domain "域名abc.com" ;
option domain-name-servers DNS地址;
subnet 10.99.0.0 netmask 255.255.0.0
range 地址范围开始,结束
option subnet-mask 255.255.0.0;烟码
option routers 10.99.0.1;网关

大公告成

我对了一遍 如果我没打错字母的话 应该可以使用了
如果你想帮定IP的话 可以使用host声明
希望能帮到你
http://hi.baidu.com/naruto6006/blog/item/23f42acf6e97373fb600c80f.html
这里有比较详细的步骤,有不明白的可以问我!
参考技术B 给你推荐我的blog!
http://hi.baidu.com/naruto6006/blog/item/23f42acf6e97373fb600c80f.html
参考技术C 在 http://www.linuxpk.com的论坛中有很详细的配置
可以看一下
参考技术D vi /etc/dhcpd.conf
ddns-update-style interim;
default-lease-time 21600;
max-lease-time 43200
option domain "域名abc.com" ;
option domain-name-servers DNS地址;
subnet 10.99.0.0 netmask 255.255.0.0
range 地址范围开始,结束
option subnet-mask 255.255.0.0;烟码
option routers 10.99.0.1;网关

大公告成
第5个回答  2008-12-24 qq313816898
详解

关于Linux系统下DHCP服务器给不同网段动态分配IP地址的问题。。。

实验拓扑图:
DHCP服务器的配置:
default-lease-time 21600;
max-lease-time 432000;
option subnet-mask 255.255.255.0;
option time-offset -18000;
#
shared-network superscopes
subnet 192.168.2.0 netmask 255.255.255.0
option routers 192.168.2.2;
option domain-name "example.com";
option domain-name-servers 192.168.0.254;
range dynamic-bootp 192.168.2.10 192.168.2.20;

subnet 192.168.3.0 netmask 255.255.255.0
option routers 192.168.3.2;
option domain-name "example.com";
option domain-name-servers 192.168.0.254;
range dynamic-bootp 192.168.3.10 192.168.3.20;


中继代理:
cat /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.2.3"
并且已经开起了路由转发的功能。
问题:
两台测试机能够正常的获取到DHCP服务器提供的IP地址,但是获取的都是同网段的IP地址,现在想让两台测试机获取到不同网段的IP地址,即一台获取到192.168.2.0/24这个网段的,另一台获取到192.168.3.0/24这个网段的,该怎么实现啊?????

同一个网络只能有一台dhcp服务器
同一个dhcp服务器只能提供一个网段
你把dhcp服务器再加一个网卡试试看吧
你这么个画法只能是得到同一个网段的地址
除非你的dhcp服务器是两张网卡追问

这个根本不在同一个网络内啊,dhcp服务器在192.168.2.0这个网段内的,现在是想让dhcp服务器通过中继代理让linux测试机获得192.168.3.0这个网段的IP的。

追答

这个不可能实现的。。。。
你的设想就是错误的
我说了,一台dhcp服务器只能提供一个网段的地址分配服务

参考技术A dhcp服务器用2张网卡,或者用路由器来实现不同网段的互通追问

我用中继代理,那么dhcp服务器根本就不需要两张网卡的啊

以上是关于请教Linux系统下DHCP问题..的主要内容,如果未能解决你的问题,请参考以下文章

关于Linux系统下DHCP服务器给不同网段动态分配IP地址的问题。。。

Linux系统服务之dhcp

windows能上网,而linux上不了网

请教:qt下如何调用linux下编译的驱动程序

PXE自动安装Linux系统

linux怎么配置dhcp服务器的failover名称为test