dhcp配置文件详解(DHCP服务器如何搭建、如何设置)

2025-04-21 23:00:33 0

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的设备文件。1. # cd /dev 2. # sh MAKEDEV bpf0 bpf1 bpf2 bpf3  从Packages Collecion中安装DHCP软件,这将DHCP软件中的dhcpd,dhclient和dhcprelay 安装到/usr/local/sbin目录下。1. $ ls /usr/local/sbin/dhc* 2. /usr/local/sbin/dhclient 3. /usr/local/sbin/dhcpd 4. /usr/local/sbin/dhcrelay 设置服务器为了设置DHCP服务器dhcpd,首先就要设置其配置文件/etc/dhcpd.conf。这个配置文件 语法简单,比较容易理解。1. server-identifier 192.168.3.1; 2. 3. subnet 192.168.3.0 netmask 255.255.255.0 { 4. range 192.168.3.10 192.168.3.20; 5. default-lease-time 600; 6. max-lease-time 7200; 7. option subnet-mask 255.255.255.0; 8. option broadcast-address 192.168.3.255; 9. option routers 192.168.3.1; 10. option domain-name-servers 192.168.3.1; 11. option domain-name “exampleorg.org.cn“; 12. } 13. 14. host a1 { 15. hardware ethernet 00:90:27:4e:92:09; 16. fixed-address 192.168.3.32; 17. option subnet-mask 255.255.255.0; 18. option broadcast-address 192.168.3.255; 19. option routers 192.168.3.1; 20. option domain-name-servers 192.168.3.1; 21. option domain-name “exampleorg.org.cn“; 22. }  基本的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请求。1. # /usr/local/sbin/dhcpd fxp0  在调试阶段,可以使用-d参数,这样dhcpd就不会进入后台运行,而一直保留在前台,并显示各个与客户计算机通信的过程。当一切都调试完毕之后,就能去除-d参数,并将执行命令放入rc.local启动脚本中,以便系统能够自动执行。此后,dhcpd正常运行的时候,会将每一次客户请求及其回应的IP地址分配的记录,都记录在/var/run/dhcpd.leases 文件中。为了使dhcpd能正常进行日志记录,应该在启动dhcpd之前使用touch 命令,生成一个新的日志文件。以后就可以查看这个日志文件的内容,以得到当前DHCP服务器的状态和客户机IP地址分 配的情况。以下是一个日志文件的部分内容。1. lease 192.168.3.11 { 2. starts 3 1998/11/26 05:46:28; 3. ends 4 1998/11/27 05:46:28; 4. hardware ethernet 0:80:c2:12:fd:d; 5. uid 1:0:80:c2:12:fd:d; 6. }   touch命令的优点是在存在相关的文件时,不删除或更改文件内容,只更新其访问时间设置,只有在文 件不存在时才生成新文件。然后就能设置网络中的客户计算机使用DHCP协议,获取合法的IP地址了。通常Windows计算机的TCP/IP设置 中能直接设置支持DHCP协议,如果为Unix(包括FreeBSD)设置DHCP客户软件,就需要dhclient的支持。设置客户软件ISC-DHCP中同样也提供了一个客户程序dhclient,用于FreeBSD系统从DHCP服务器上动态获取一个IP地 址。这个程序同样也要求内核支持bpfilter伪设备。dhclient使用的配置文件为/etc/dhclient.conf,然而最一般的情况下可以不使用它,软件本身的缺省配置就满足一般情况下请求IP地址的需要了。缺省设置下dhclient在获得了IP地址之后,会自动执行/etc/dhclient-script 这个脚本程序,以针对刚获取的动态IP地址进行必要的设置。很多依赖于IP地址的网络服务,就可以在这个脚 本中启动,或者针对重新分配的动态IP地址对已有的网络服务进行修正。虽然使用者也许不希望使用这个脚本 设置网络,但如果不存在这个脚本程序,或者这个程序不可执行,那么dhclient就不能正常执行。因此对于最一般的客户机,一般只连接到一个网络上,仅具备一个网络界面,可以使用一个空的dhclient.conf 和空的declient-script文件,就能完成设置IP地址和其他TCP/IP参数的任务了。1. # touch /etc/dhclient.conf 2. # touch /etc/dhclient-script 3. # chmod +x /etc/dhclient-script 4. # /usr/local/sbin/dhclient fxp0 5. 6. Listening on BPF/fxp0/00:90:27:4e:92:09/unattached 7. Sending on BPF/fxp0/00:90:27:4e:92:09/unattached 8. Sending on Socket/fallback/fallback-net 9. DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 22 10. DHCPOFFER from 192.168.3.1 11. DHCPREQUEST on fxp0 to 255.255.255.255 port 67 12. DHCPACK from 192.168.3.1 13. bound to 192.168.3.32 -- renewal in 3600 seconds. 在更复杂的情况下,就要指定更多的内容,例如当系统有多个网卡时,要指定dhclient应该从哪个子网中获 得IP地址设置,就需要使用设置文件dhclient.conf。一般除非有多个局域网网络界面,都应该使用空设置文件, 避免产生配置错误。以下为一个简单的dhclient.conf的例子,可以用于多网络界面的情况:1. # Defaults 2. timeout 60; 3. reboot 10; 4. retry 60; 5. select-timeout 5; 6. initial-interval 2; 7. script “/etc/dhclient-script“; 8. interface “fxp0“ { 9. request subnet-mask, broadcast-address, routers, domain-name-servers, 10. domain-name, host-name; 11. require domain-name-servers; 12. }    这个设置文件主要用于重新定义一些参数,比较容易理解,更改也比较容易。成功的手工执行dhclient之后,就可以考虑将其和系统启动文件相结合了。因为很多网络服务是依赖于网络 配置的,应该在启动这些网络服务之前使用DHCP配置好TCP/IP。使用dhclient-script启动服务的想法虽然也能解决问题,然而这就不能使用系统的启动rc文件中的相关设置启动网络服务,而在这个dhclient-script 中重新启动,因此比较麻烦。更简便的做法是仅仅在dhclient-script中设置hostname, 而让系统启动文件完成其他网络服务的启动。这样就要求将dhclient与系统rc文件结合起来。1. #hostname=“my.domain.name“ 2. network_interfaces=“fxp0 lo0“ 3. # List of network interfaces (lo0 is loopback). 4. ifconfig_lo0=“inet 127.0.0.1“ 5. # default loopback device configuration. 6. #ifconfig_fxp0=“inet 192.168.3.12 netmask 255.255.255.0“ 7. defaultrouter=“NO“ 8. # Set to default gateway (or NO). 这样就需要更改rc.conf文件,更改一些设置语句。首先要注释hostname设置,而在dhclient.script中进行设置,也不必设置defaultrouter,它通过DHCP协议自动设置。同时要保证netwo

DHCP的原理和配置分别是什么

DHCP的原理:

(1)发现阶段:在DHCP服务配置完成后,DHCP Client启动时,由于没有IP地址,会自动发送以discover的广文,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。

(2)DHCP Server offer响应阶段:DHCP Server收到discover报文后,通过解析报文,查询dhcpd.conf配置文件,如果在地址池中能找到合适的IP地址,DHCP Server会给DHCP Client发送offer报文,告诉DHCP Client,该DHCP Server拥有资源,可以提供DHCP服务。

(3)DHCP Client请求使用阶段:当DHCP Client收到offer报文时,知道在本网段中有可用的DHCP Server可以提供DHCP服务,因此,它会发送一个request请求报文,向该DHCP Server请求IP地址、掩码、网关、DNS等信息,以便登陆网络。

(4)DHCP Server确认使用阶段(获得IP地址):当DHCP Server收到DHCP Client发送的DHCP Request后,确认要为该DHCP Client提供的IP地址后,便向该DHCP Client响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client可以使用该IP地址了。然后DHCP Client即可以将该IP地址与网卡绑定。另外其他DHCP Server都将收回自己之前为DHCP Client提供的IP地址。

(5)DHCP Client重新登录网络阶段:当DHCP Client重新登录后,发送一个以前的DHCP Server分配的IP地址信息的DHCP Request报文,当DHCP Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答一个ACK报文。如果该IP地址无法再次分配给该DHCP Client后,DHCP回复一个NAK报文,当DHCP Client收到该NAK报文后,会重新发送DHCP Discovery报文来重新获取IP地址。

(6)DHCP Client续约阶段:DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新器租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。

dhcp配置文件详解(DHCP服务器如何搭建、如何设置)

本文编辑:admin

更多文章:


aggravate的意思(exacerbate和aggravate的区别)

aggravate的意思(exacerbate和aggravate的区别)

本文目录exacerbate和aggravate的区别aggravated什么意思deteriorate aggravate有啥区别deteriorate 和 aggravate意思用法区别在哪deteriorate 和 aggravate

2025年4月6日 10:40

ate是什么意思(ate是什么意思)

ate是什么意思(ate是什么意思)

本文目录ate是什么意思ate后缀的含义是什么ATE什么意思ate chicken是什么意思ate后缀是什么意思ate词缀是什么意思renovate和 innovate的区别请问英文名Nate的含义是什么_ate是什么意思ATE是Autom

2025年4月5日 11:30

mq是什么意思?mq是哪个国家的缩写

mq是什么意思?mq是哪个国家的缩写

本文目录mq是什么意思mq是哪个国家的缩写mq通道和队列的关系老司机mq是什么意思想问一下mq是什么商mq是什么牌子什么是Mq+tt通知网络语mq是什么意思mqtt各种broker如何选择mq是什么意思消息队列(MQ),是一种应用程序对应用

2025年4月1日 02:00

debug怎么读(bug和debug是什么意思)

debug怎么读(bug和debug是什么意思)

本文目录bug和debug是什么意思请问怎样用debug读bios密码什么是debug计算机术语中的debug是什么意思bug和debug是什么意思bug英  n. 臭虫;窃听器;漏洞 v. 窃听;打扰;失去(镇定)名词: bugger 过

2025年4月19日 06:00

svn的使用方法(eclipse svn怎么使用)

svn的使用方法(eclipse svn怎么使用)

本文目录eclipse svn怎么使用svn怎样使用eclipse svn怎么使用一.在Eclipse里下载Subclipse插件方法一:从Eclipse Marketplace里面下载具体操作:打开Eclipse --》 Help --》

2025年4月17日 18:50

elegant是什么牌子(Elegant 是什么牌子的衣服)

elegant是什么牌子(Elegant 是什么牌子的衣服)

本文目录Elegant 是什么牌子的衣服elegant是什么牌子fashionelegantzss是什么牌子手表Elegant 是什么牌子的衣服你是指ELEGANT.PROSPER(雅莹)吧。EP雅莹服饰是浙江雅莹服装有限公司旗下女装品牌,

2025年3月1日 12:00

memorize是什么意思(一道英语问题1.memorize的名词是什么)

memorize是什么意思(一道英语问题1.memorize的名词是什么)

本文目录一道英语问题1.memorize的名词是什么remember和memorize区别memorize的名词是memory还是memorizationremember, recite,memorize的区别memorize和rememb

2025年4月13日 14:10

fopen打开二进制文件(若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则打开方式是)

fopen打开二进制文件(若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则打开方式是)

本文目录若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则打开方式是若要用 fopen 函数打开一个心得二进制文件,该文件要即能读也能写,则文件的打开方式字符串应该是若要用fopen函数打开一个新的二进制c语言中fop

2025年2月22日 06:40

电脑浏览器怎么返回到前一页?oppor15手机怎么返回上一页

电脑浏览器怎么返回到前一页?oppor15手机怎么返回上一页

本文目录电脑浏览器怎么返回到前一页oppor15手机怎么返回上一页电脑浏览器怎么返回到前一页1、打开电脑的浏览器,举例如在百度的搜索框中输入新华网。2、如再次在搜索栏中输入中国网点击搜索按钮,可以看到搜索的中国网界面。3、此时如果需要回到之

2025年4月10日 14:20

gets函数头文件(C语言的get是怎样使用的呢)

gets函数头文件(C语言的get是怎样使用的呢)

本文目录C语言的get是怎样使用的呢gets 的头文件是什么c语言,gets函数的详细用法关于gets 函数gets函数的功能c语言的gets函数编译不成功阿,很短的程序gets函数怎么使用c语言gets是什么意思C语言的get是怎样使用的

2025年2月28日 22:40

pdb格式用什么打开(sme pdb等格式的文件怎样打开编辑)

pdb格式用什么打开(sme pdb等格式的文件怎样打开编辑)

本文目录sme pdb等格式的文件怎样打开编辑win10系统如何打开.pdb格式文件请问大家: 使用什么软件可打开PDB文件谢谢大家帮助!PBD文件用什么程序打开pdb文件用什么打开PDB扩展名的文件如何打开,要详细介绍使用工具和教程sme

2025年2月20日 13:30

一套完整的vi设计包括些什么?视觉传达设计专业和vi设计的区别有哪些

一套完整的vi设计包括些什么?视觉传达设计专业和vi设计的区别有哪些

本文目录一套完整的vi设计包括些什么视觉传达设计专业和vi设计的区别有哪些一套完整的vi设计包括些什么VI设计包括三个大的部分:LOGO设计、VI基础规范、VI应用规范。完整的VI不仅仅是一个LOGO、LOGO元素、LOGO释义,还应该有常

2025年3月30日 08:30

java单例模式详解(java单例设计模式)

java单例模式详解(java单例设计模式)

本文目录java单例设计模式java 单例模式详解java 单例模式 介绍简述java的单例模式,顺便来个例子java单例设计模式这个类只有一个public权限的getinstance,因为是static方法,所以可以直接调用该方法,同时静

2025年3月12日 09:00

describes怎么读(describe怎么读)

describes怎么读(describe怎么读)

本文目录describe怎么读describe怎么读请读出来describe用英语怎么说什么意思describes什么意思啊小偷英文怎么读describe怎么读describe 英 第三人称单数:describes 现在分词:d

2025年3月26日 21:40

斯坦福大学?斯坦福大学世界排名第几

斯坦福大学?斯坦福大学世界排名第几

本文目录斯坦福大学斯坦福大学世界排名第几斯坦福大学斯坦福大学(Stanford University),全名小利兰·斯坦福大学,或译作史丹佛大学,通常直接称作斯坦福大学,坐落于美国加利福尼亚州斯坦福市,是一所享誉世界顶尖的私立研究型大学。该

2025年3月12日 14:10

hmmm怎么读(hmmm或者mmm 除了“嗯”还有什么意思)

hmmm怎么读(hmmm或者mmm 除了“嗯”还有什么意思)

本文目录hmmm或者mmm 除了“嗯”还有什么意思Hmm英文怎么念hmmm是什么意思 外国人说hmmm是什么意思hmmm或者mmm 除了“嗯”还有什么意思1、表示“嗯.........”的意思,是一种象声词,表示这么在思考或者犹豫2、hmm

2025年4月5日 13:10

liquidated(什么是英文合同中的Liquidated damages)

liquidated(什么是英文合同中的Liquidated damages)

本文目录什么是英文合同中的Liquidated damagesliquidate是什么意思什么是英文合同中的Liquidated damages您好,liquidated damages 预定违约金; 协定违约金; 毁约偿金。英国法管辖下

2025年4月13日 17:40

visibility和display的区别(关于HTML的style.display和style.visibility的区别)

visibility和display的区别(关于HTML的style.display和style.visibility的区别)

本文目录关于HTML的style.display和style.visibility的区别CSS中visibility和display的区别JAVASCRIPT style 中visibility和display之间的区别div的displa

2025年3月26日 11:00

物理学中的张量是什么意思?张量是什么意思

物理学中的张量是什么意思?张量是什么意思

本文目录物理学中的张量是什么意思张量是什么意思什么是张量有没有通俗的讲解,它与矢量的关系张量的介绍怎么理解“张量”这个概念怎么通俗的理解张量张量积的定义物理学中的张量是什么意思简单的说:张量概念是矢量概念和矩阵概念的推广,标量是零阶张量,矢

2025年2月18日 18:00

phonegap手机版下载(Phonegap怎么用来做安卓APP)

phonegap手机版下载(Phonegap怎么用来做安卓APP)

本文目录Phonegap怎么用来做安卓APPphonegap html5 稳定吗PhoneGap应用开发对策:如何通过苹果审核如何利用PhoneGap制作地图APPphonegap 能将网站打包为APP吗phonegap和android s

2025年2月16日 04:00

近期文章

代码是什么?代码是啥
2025-04-21 21:38:12
本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:20
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:9
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
winrar下载官网(WinRAR哪儿下载\)
2025-04-19 09:30:01 浏览:5
标签列表

热门搜索