分享
 
 
 

FreeBSD设置和使用DHCP

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

在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。pseudo-device

bpfilter

4

定制内核之后,还要保证/dev/目录下具有对应bpfilter的设备文件。# cd /dev# sh MAKEDEV bpf0 bpf1 bpf2 bpf3

从Packages Collecion中安装DHCP软件,这将DHCP软件中的dhcpd,dhclient和dhcprelay 安装到/usr/local/sbin目录下。$ ls /usr/local/sbin/dhc*/usr/local/sbin/dhclient

/usr/local/sbin/dhcpd/usr/local/sbin/dhcrelay

设置服务器

为了设置DHCP服务器dhcpd,首先就要设置其配置文件/etc/dhcpd.conf。这个配置文件语法简单,比较容易理解。server-identifier 192.168.3.1;subnet 192.168.3.0 netmask 255.255.255.0 {

range 192.168.3.10 192.168.3.20;

default-lease-time 600;

max-lease-time 7200;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.3.255;

option routers 192.168.3.1;

option domain-name-servers 192.168.3.1;

option domain-name "exampleorg.org.cn";}host a1 {

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

fixed-address 192.168.3.32;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.3.255;

option routers 192.168.3.1;

option domain-name-servers 192.168.3.1;

option domain-name "exampleorg.org.cn";}

基本的dhcpd.conf首先使用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.conf中还能有更多的组,包括对非本网段的子网上的客户机指定的组。

当设置了dhcpd.conf之后,就能启动dhcpd守护进程了,由于计算机会有多个网络界面,需要指定dhcpd 服务器的网络界面,以便回应相应界面上的DHCP请求。# /usr/local/sbin/dhcpd fxp0

在调试阶段,可以使用-d参数,这样dhcpd就不会进入后台运行,而一直保留在前台,并显示各个与客户计算机通信的过程。当一切都调试完毕之后,就能去除-d参数,并将执行命令放入rc.local启动脚本中,以便系统能够自动执行。

此后,dhcpd正常运行的时候,会将每一次客户请求及其回应的IP地址分配的记录,都记录在/var/run/dhcpd.leases 文件中。为了使dhcpd能正常进行日志记录,应该在启动dhcpd之前使用touch 命令,生成一个新的日志文件。以后就可以查看这个日志文件的内容,以得到当前DHCP服务器的状态和客户机IP地址分配的情况。以下是一个日志文件的部分内容。lease 192.168.3.11 {

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

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

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

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

}

touch命令的优点是在存在相关的文件时,不删除或更改文件内容,只更新其访问时间设置,只有在文件不存在时才生成新文件。

然后就能设置网络中的客户计算机使用DHCP协议,获取合法的IP地址了。通常Windows计算机的TCP/IP设置中能直接设置支持DHCP协议,如果为Unix(包括FreeBSD)设置DHCP客户软件,就需要dhclient的支持。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有