DHCP服务器的设置和使用(免费下载)

DHCP服务器的设置和使用(免费下载)


2024年5月19日发(作者:sketchup教程)

DHCP服务器的设置和使用

DHCP是我们常用的网络协议。在交换机和路由器中,我们也能常遇到相关的设置。

下面我们来介绍一下DHCP服务器的设置和使用。希望能够对大家有所帮助。

设置和使用DHCP

在FreeBSD的Packages Collection中,有两个不同的DHCP客户机和服务器软件,

一 个为ISC-DHCP,另一个为WIDE-DHCP,两个软件都包括了DHCP客户软件和服务

器软件,其中ISC-DHCP 更为常用一些,这里就以ISC-DHCP为例介绍在FreeBSD上安

装和设置DHCP。

为了支持DHCP,首先要确认系统内核支持伪设备bpfilter,如果没有,就需要重新

编译内核。伪设备bpfilter 是一个允许应用程序接收网络的原始数据包的界面,这样应用

程序就能接收目的地址非本机IP地址的数据包 了。DHCP使用bpfilter的原因是在DHCP

设置好计算机的TCP/IP之前,由于计算机本身没有定义IP地 址,而TCP/IP堆栈本身不

会接收不具备本机IP地址的数据包。要接收DHCP服务器发送回客户的数据包,就需要

绕 过TCP/IP堆栈,而必须使用伪设备bpfilter。

1. pseudo-device bpfilter 4

定制内核之后,还要保证/dev/目录下具有对应bpfilter的设备文件。

2. # cd /dev

3. # sh MAKEDEV bpf0 bpf1 bpf2 bpf3

从Packages Collecion中安装DHCP软件,这将DHCP软件中的dhcpd,dhclient

和dhcprelay 安装到/usr/local/sbin目录下。

4. $ ls /usr/local/sbin/dhc*

5. /usr/local/sbin/dhclient

6. /usr/local/sbin/dhcpd

7. /usr/local/sbin/dhcrelay

设置服务器

为了设置DHCP服务器dhcpd,首先就要设置其配置文件/etc/。这个配

置文件 语法简单,比较容易理解。

8. server-identifier 192.168.3.1;

9. subnet 192.168.3.0 netmask 255.255.255.0 {

10. range 192.168.3.10 192.168.3.20;

11. default-lease-time 600;

12. max-lease-time 7200;

13. option subnet-mask 255.255.255.0;

14. option broadcast-address 192.168.3.255;

15. option routers 192.168.3.1;

16. option domain-name-servers 192.168.3.1;

17. option domain-name "";

18. }

19. host a1 {

20. hardware ethernet 00:90:27:4e:92:09;

21. fixed-address 192.168.3.32;

22. option subnet-mask 255.255.255.0;

23. option broadcast-address 192.168.3.255;

24. option routers 192.168.3.1;

25. option domain-name-servers 192.168.3.1;

26. option domain-name "";

27. }

基本的首先使用server-identifier定义了本服务器的IP地址,这对于有

多个IP地址的服务器系统十分重要,一般不必设置这个参数,dhcpd能自动侦测。然后

定义要分配IP地址的客户机组 ,每组拥有一个可用的IP地址范围。有两种客户机组的划

分方式,一种为指定子网段来区分,一种为指定主机来区分。

这个例子中的第一组定义了一个子网192.168.3.0/24,这个子网段内,可供DHCP服

务器分配的I P地址范围为192.168.3.10到192.168.3.20,这个地址范围也可以不是连续

的,不连续的地址可以 使用多个range设置参数来设置。此外,还设置了这一组内分配

的IP地址的租期限制default-lease-time 和max-lease-time,可以使用缺省值,而不必

改动。后面的option参数设置DHCP的附加功能 ,例如设置DHCP客户的网络掩码、

广播地址、DNS服务器、域名等等。事实上这些option设置选项也可以被用作 全局选项

设置,即放置在server-identifier之后,对所有的客户机组起作用。

例子的第二组是针对某个特定主机a1进行的设置,这个主机被限定为以太网地址为

hardware ethernet 参数值的计算机,将给这个计算机分配一个固定地址。这种分配方式

实际等价于固定地址分配方式,唯一的好处就是能 够对IP地址进行集中管理,不必每个

计算机分别设置了。这里同样也可以使用option参数,设置TCP/IP的参数 。

中还能有更多的组,包括对非本网段的子网上的客户机指定的组。

当设置了之后,就能启动dhcpd守护进程了,由于计算机会有多个网络

界面,需要指定dhcpd 服务器的网络界面,以便回应相应界面上的DHCP请求。

28. # /usr/local/sbin/dhcpd fxp0

在调试阶段,可以使用-d参数,这样dhcpd就不会进入后台运行,而一直保留在前

台,并显示各个与客户计算 机通信的过程。当一切都调试完毕之后,就能去除-d参数,

并将执行命令放入启动脚本中,以便系统能够 自动执行。

此后,dhcpd正常运行的时候,会将每一次客户请求及其回应的IP地址分配的记录,

都记录在/var/run/ 文件中。为了使dhcpd能正常进行日志记录,应该在启

动dhcpd之前使用touch 命令,生成一个新的日志文件。以后就可以查看这个日志文件

的内容,以得到当前DHCP服务器的状态和客户机IP地址分 配的情况。以下是一个日志

文件的部分内容。

29. lease 192.168.3.11 {

30. starts 3 1998/11/26 05:46:28;

31. ends 4 1998/11/27 05:46:28;

32. hardware ethernet 0:80:c2:12:fd:d;

33. uid 1:0:80:c2:12:fd:d;

34. }

touch命令的优点是在存在相关的文件时,不删除或更改文件内容,只更新其访问时

间设置,只有在文 件不存在时才生成新文件。

然后就能设置网络中的客户计算机使用DHCP协议,获取合法的IP地址了。通常

Windows计算机的TCP/IP设置 中能直接设置支持DHCP协议,如果为Unix(包括

FreeBSD)设置DHCP客户软件,就需要dhclient的支持。

设置客户软件

ISC-DHCP中同样也提供了一个客户程序dhclient,用于FreeBSD系统从DHCP服

务器上动态获取一个IP地 址。这个程序同样也要求内核支持bpfilter伪设备。

dhclient使用的配置文件为/etc/,然而最一般的情况下可以不使用它,

软件本身的缺省 配置就满足一般情况下请求IP地址的需要了。缺省设置下dhclient在获

得了IP地址之后,会自动执行/etc/dhclient-script 这个脚本程序,以针对刚获取的动态

IP地址进行必要的设置。很多依赖于IP地址的网络服务,就可以在这个脚 本中启动,或

者针对重新分配的动态IP地址对已有的网络服务进行修正。虽然使用者也许不希望使用这

个脚本 设置网络,但如果不存在这个脚本程序,或者这个程序不可执行,那么dhclient

就不能正常执行。

因此对于最一般的客户机,一般只连接到一个网络上,仅具备一个网络界面,可以使

用一个空的 和空的declient-script文件,就能完成设置IP地址和其他

TCP/IP参数的任务了。

1. # touch /etc/

2. # touch /etc/dhclient-script

3. # chmod +x /etc/dhclient-script

4. # /usr/local/sbin/dhclient fxp0

5. Listening on BPF/fxp0/00:90:27:4e:92:09/unattached

6. Sending on BPF/fxp0/00:90:27:4e:92:09/unattached

7. Sending on Socket/fallback/fallback-net

8. DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 22

9. DHCPOFFER from 192.168.3.1

10. DHCPREQUEST on fxp0 to 255.255.255.255 port 67

11. DHCPACK from 192.168.3.1

12. bound to 192.168.3.32 -- renewal in 3600 seconds.

在更复杂的情况下,就要指定更多的内容,例如当系统有多个网卡时,要指定dhclient

应该从哪个子网中获 得IP地址设置,就需要使用设置文件。一般除非有多

个局域网网络界面,都应该使用空设置文件, 避免产生配置错误。以下为一个简单的

的例子,可以用于多网络界面的情况:

13. # Defaults

14. timeout 60;

15. reboot 10;

16. retry 60;

17. select-timeout 5;

18. initial-interval 2;

19. script "/etc/dhclient-script";

20. interface "fxp0" {

21.

rvers,

request subnet-mask, broadcast-address, routers, domain-name-se

22. domain-name, host-name;

23. require domain-name-servers;

24. }

这个设置文件主要用于重新定义一些参数,比较容易理解,更改也比较容易。

成功的手工执行dhclient之后,就可以考虑将其和系统启动文件相结合了。因为很多

网络服务是依赖于网络 配置的,应该在启动这些网络服务之前使用DHCP配置好TCP/IP。

使用dhclient-script启动服务的 想法虽然也能解决问题,然而这就不能使用系统的启动

rc文件中的相关设置启动网络服务,而在这个dhclient-script 中重新启动,因此比较麻

烦。更简便的做法是仅仅在dhclient-script中设置hostname, 而让系统启动文件完成

其他网络服务的启动。这样就要求将dhclient与系统rc文件结合起来。

25. #hostname=""

26. network_interfaces="fxp0 lo0"

27. # List of network interfaces (lo0 is loopback).

28. ifconfig_lo0="inet 127.0.0.1"

29. # default loopback device configuration.

30. #ifconfig_fxp0="inet 192.168.3.12 netmask 255.255.255.0"

31. defaultrouter="NO"

32. # Set to default gateway (or NO).

这样就需要更改文件,更改一些设置语句。首先要注释hostname设置,而

在中进行设置,也不必设置defaultrouter,它通过DHCP协议自动设置。

同时要保证netwo


发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1716083586a2717224.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信