当前位置:首页 » 云服务器 » kalidhcp服务器搭建

kalidhcp服务器搭建

发布时间: 2023-10-12 07:07:40

‘壹’ 如何在linux下搭建dhcp服务器最关键的配置文件有哪几个分别有什么用一般在linux下搭

dhcp服务器,就一个配置文件,就是/etc/dhcpd.conf。它是有模板的,你可以i根据模板进行修改就可以了。

搭建dhcp服务器过程很简单,安装软件、配置主配置文件,重启服务,验证是否生效。

配置文件的配置主要有全局配置、网段声明,还有主机声明(为某一台主机配置保留地址),主机声明是可选的

#dhcpd


建议你去网上去找更详细的配置文件详解~~懂得每个参数配置的含义




祝你好运~~

‘贰’ Linux下如何安装DHCP服务和使用

DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端供给自动分配IP地址的服务。
当然高等的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息
安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功效的客户机称为DHCP客户端,DHCP服务器是以地址租约的方法为DHCP客户端供给服务的,它有以下两种方法:
限定租期 和 永久租用
学DHCP服务器,就一定要知道DHCP服务器的工作原理:
DHCPDISCOVER(DHCP发明)
DHCPOFFER(DHCP供给)
DHCPREQUEST(DHCP请求)
DHCPACK(DHCP确认)
这个4个步骤,是client获取IP地址必经的步骤
DHCP供给的时候,服务器已经给client分配了IP地址,第二部分分给client的IP地址是临时的,client得到这个IP地址后,会发出DHCP请求,请求租用这个地址,服务器收到请求后,就会正式把这个地址分配给client,继而向client发送DHCP确认。
这个四步主要是应对同一网络多个DHCP服务器
后台过程:dhcpd
脚本:/etc/rc.d/init.d/dhcpd
使用端口:67
所需RPM包:dhcp
相关RPM包:
dhcp-devel-3.0.5-7.el5.i386.rpm
dhcpv6-0.10-33.el5.i386.rpm
dhcpv6_client-0.10-33.el5.i386.rpm
配置文件:/etc/dhcpd.conf
日志:/var/log/xferlog
再提示一点吧,网络启动方法也叫bootpc,这样获取的IP地址是不会受服务器的租期111ttt.com的,它永远有效
好了,我们先安装DHCP服务器
一、下载或从光盘上找到DHCP服务安装包。
二、安装(dhcp*代表其安装包名称):
# rpm -ivh dhcp*
三、配置DHCP文件:
复制/usr/share/doc/dhcp*/dhcpd.conf.sample 到/etc目录下,更名为:dhcpd.conf
# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
当然,也可以先vi /etc/dhcpd.conf,然后在末行模式运行以下命令:
r /usr/share/doc/dhcp*/dhcpd.conf.sample
这样这个dhcpd.conf.sample文件的内容就导进来了。
打开dhcpd.conf,要修改的几个地方:
subnet 后面接的是你所定义的网段,要与本机的IP地址同网段,
每一语句以分号“;”结尾,不要忘记。
例如:我的IP是“192.168.2.11”,下面是我的配置文件:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.2.1;
option time-offset -18000;
range dynamic-bootp 192.168.2.100 192.168.2.254
default-lease-time 21600;
max-lease-time 43200;
filename "/pxelinux.0";
next-server 192.168.2.11;
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
四、详细注解:
ddns-update-style interim; #定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,
#interim和none都是关闭的意思
allow/ignore client-updates; #允许/疏忽客户机更新DNS记载
allow/deny unknown-clients; #是否动态分配IP给未知的使用者
allow/deny bootp; #是否响应激活查询
allow/deny booting; #是否响应使用者查询
subnet 192.168.2.0 netmask 255.255.255.0 { #设置子网声明
# --- default gateway
option routers 192.168.2.1; #设置缺省网关为192.168.2.1
option subnet-mask 255.255.255.0; #设置客户端的子网掩码
option nis-domain "domain.org"; #为客户设置NIS域
option domain-name "domain.org"; #为客户设置域名
option domain-name-servers 192.168.2.1; #为客户设置域名服务器
option time-offset -18000; # Eastern Standard Time #为客户端指定格林威治时间偏移时间,单位秒,
# 该选项可以在全局配置、局部配置均可使用
# option ntp-servers 192.168.2.1; #NTP是时间服务器
# option netbios-name-servers 192.168.2.1; 设置wins服务器
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2; #设置netbios节点类型 我不清楚这个netbios节点是什么东西
range dynamic-bootp 192.168.2.28 192.168.2.254; #设置动态的地址池
default-lease-time 21600; #设置缺省的地址租期
max-lease-time 43200; #设置客户端最长的地址租期
# we want the nameserver to appear at a fixed address
filename "/pxelinux.0"; #开始启动文件的名称,应用于无盘安装,可以是tftp的相对或绝对路径
next-server 192.168.2.11; #This is the name of the server they should get it from
#tftp服务器,可以和dhcp服务器不在同一机器上,一般是PXE网络使用此参数
#设置主机声明
host ns {
next-server marvin.redhat.com; #设置由于定义服务器从引导文件中装入的主机名,用于无盘站
hardware ethernet 12:34:56:78:AB:CD; #指定dhcp客户的mac地址
fixed-address 207.175.42.254; #给指定的mac地址分配ip
}
}
五、配置好dhcpd.conf文件后就可以启动dhcp服务了:
# service dhcpd restart
这时可以用“netstat -nlutp”命令查看dhcp服务是否有启动。
六、其它相关文件:
1、这个文件/var/lib/dhcpd/dhcpd.leases,可以看到被租出去的IP地址和相关信息。
2、这个文件/etc/sysconfig/dhcpd是指定DHCP服务器111ttt.com的网卡,如果只有一个网卡,一般不用设置
DHCPDARGS=eth0 或者是eth1 ,如果全部111ttt.com就不用管。
3、这个文件/etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开瞧一下吧。
interfaces 就是来自这个端口的dhcpdiscover(请求)都会转发到后面的DHCPSERVERS服务器。
设置了DHCP中继,需要启动中继服务:service dhcrelay start
七、在linux客户机下面,你可以手动配置你的dhcp:
观察你的网络配置文件,如果你没有设置为自动启动联网,则要修改你的网络配置文件。
# vi /etc/sysconfig/network
添加“NETWORKING=yes”(让引导的时候启动联网)
或者使用
# @echo “NETWORKING=yes”> /etc/sysconfig/network
然后再修改你的网卡配置文件
/etc/sysconfig/network-scriptes/ifcfg-eth0 文件应该包括这几行:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

‘叁’ 怎么在linux安装dhcp

一.首先了解DHCP的概念
DHCP是实现主机IP地址DNS等动态配置的网络协议.
DNCP可以在多种操作系统中实现,包括最常用的LINUX系统和WINDOWS系统
DHCP网络服务的结构中具有服务器和客户机两个角色
DHCP服务器用于为网络中所有的DHCP客户机提供网络配置信息,在同一网络中,
DHCP服务器通常是唯一存在在.
网络中的任何主机都可以配置成为DHCP客户机,向DHCP服务器发出配置请求并按照服务器返回的信息进行网络配置
二.DHCP服务器能够提供的网络配置信息
1.网络接口的IP地址和子网掩码.
2.网络接口的IP地址对应的网络地址和广播地址
3.默认网关地址
4.DNS服务器地址
三.DHCP服务器的配置
1.安装DHCP服务器软件(在RHEL4系统的安装光盘中包括RPM格式的DHCP服务器软件包,包文件的名称是dhcp-3.0.1-12_EL.i386.rpm),在RHEL4的第4安装光盘中,在同一张安装盘中还包括与DHCP相关的其它软件包
# cd /media/cdrom/rehat/rpms/
#ks -l dhcp*
dhcp-3.0.1-12_EL.i386,rpm在REL4中没有被默认安装,需要手动安装
#rpm -qa | grep dhcp
#rpm -ivh dhcp-3.0.1-12_EL.i386.rpm
2.其中/usr/sbin/dhcpd 是DHCP服务器的执行文件,/etc/rc.d/init.d/dhcpd是DHCP服务器的启动脚本,虽然文件名都是DHCPD,但是文件位于不同的目录,功能也不一样.
DHCPD.CONF配置文件以及建立配置文件和配置文件的格式
#ls /etc/dhcp*
#vi /etc/dhcpd.conf
如:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
3.全局设置
全局设置是DHCPD.CONF配置文件中不包括在任何声明中的配置项(参数或选项),
作用于整个配置文件.当声明中没有相应的配置项时将使用全局配置项的设置,当声明
中有相应的设置项时将使用本声明中设置,而不采用全局设置项的值.
DHCP.CONF配置文件中常用的全局设置如下:
1) ddns-update-style参数用来设置DHCP服务器与DNS服务器的动态信息更新模式.
2) 默认租约时间使用default-lease-time参数设置,参数值的单位是秒.
3) 最大租约时间使用max-lease-time参数设置,参数值的单位是秒.
4) 主机所在域的名称使用domain-name先项进行设置,设置的域名将与主机名称一起组成
主机全名
5)DNS服务器地址使用domain-name-servers选项进行设置,设置的值为DHCP客户端需要使用的DNS服务器的IP地址.
6)使用subnet声明设置子网属性
subnet 是DHCP.CONF文件中最常用的声明,用于在子网中设置动态分配的地址的网络属性,subnet声明中可包括其他的参数.就不再说了.
4.DHCP服务器的启动与停止及重起\和DHCP服务的状态
#service dhcpd start
#service dhcpd stop
#service dhcpd restart
#service dhcpd status
三.DHCP配置实例

默认租约时间为21600S
最大租约时间为43200S
局域网内所有主机动的域名为abc.com
客户机使用的DNS服务器的IP地址是192.168.1.1
声明在子网192.168.1.0/24中用于动态分配的IP地址范围是192.168.1.100~~~192.168.1.200所分配的子网掩码是255.255.255.0默认网关是192.168.1.1
在子网192.168.1.0/24中有名为server01的服务器主机,需要的固定分配IP地址是192.168.1.1,
#vi /etc/dhcpd.conf
ddns-update-style interim;
default-lease-time 21600;
max-lease-time 43200;
option domaion-name "abc.com;
option domain-name-servers 192.168.1.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
host server01 {
hardware ethernet bo:co:c3:22:46:81;
fixed-address 192.168.1.11;
}
}

‘肆’ 如何在Linux下安装配置DHCP服务器

DHCP服务在linux下算是最简单的服务了。
DHCP服务的配置。
DHCP简介:
DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。
DHCP的工作原理:
DHCP工作过程分为四个步骤:
第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,
第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。
第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。
第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。
DHCP的基本配置:
第一步:安装软件:

[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm

第二步:编辑配置文件:
[root@localhost ~]# vi /etc/dhcpd.conf
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
当进入到配置文件里面时,这里是空的,有如上一行的提示,说可以参考这个文件来编写配置文件,那就复制一份再编辑。

[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@localhost ~]# vi /etc/dhcpd.conf

ddns-update-style interim; //配置DHCP和DNS为互动更新模式,
ignore client-updates; //忽略客户端的更新。

subnet 192.168.100.0 netmask 255.255.255.0 { //定义作用域

option routers 192.168.100.1; //默认路由
option subnet-mask 255.255.255.0; //子网掩码

option nis-domain "rhel.com"; //NIS域名
option domain-name "rhel.com"; //DNS域名
option domain-name-servers 192.168.100.10; //DNS服务器地址

option time-offset -18000; # Eastern Standard Time //为客户端设置与格林威治的时间偏移
option ntp-servers 192.168.1.1; //网络时间服务器地址
option netbios-name-servers 192.168.1.1; //指定WINS服务器地址

range dynamic-bootp 192.168.100.128 192.168.100.254; //动态分配的地址范围
default-lease-time 21600; //默认租约时间
max-lease-time 43200; //最大租约时间

host abc { //指定特定主机
hardware ethernet 00:0C:29:FD:44:C8; //硬件地址
fixed-address 192.168.100.30; //IP地址
}
}

如有多个要绑定的主机时可以把所有主机信息用group{ }包括起来,这样更方便管理。格式如下 :
group {
……这里不可以添加一些佤全局选项,这样就不用在每个里面写了。
host abc {
……
……
}
host xyz {
……
……
}
}
[root@localhost ~]# service dhcpd restart

测试:

在linux下:
首先让地址从DHCP获取:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp

[root@localhost ~]# service network restart //重启一下网络服务,这里不能使用ifdown和ifup,因为要配置路由信息。
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8
inet addr:192.168.100.30 Bcast:192.168.100.255 Mask:255.255.255.0

这就是绑定的IP地址。
[root@localhost ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search rhel.com
nameserver 192.168.100.10
这里的DNS服务器地址也获取到了。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth0
默认路由也获取到了。查看一下端口:
[root@localhost ~]# netstat -tlunp | grep 68
udp 0 0 0.0.0.0:68 0.0.0.0 16150/dhclient

查看客户端的租约文件:
lease {
interface "eth0";
fixed-address 192.168.100.30; //固定地址
option subnet-mask 255.255.255.0; //子网掩码
option time-offset -18000; //时间偏移
option routers 192.168.100.1; //默认路由
option dhcp-lease-time 21600; //租约时间
option dhcp-message-type 5;
option domain-name-servers 192.168.100.10;
option dhcp-server-identifier 192.168.100.20;
option nis-domain "rhel.com";
option domain-name "rhel.com";
renew 5 2010/4/9 09:01:40;
rebind 5 2010/4/9 11:34:53;
expire 5 2010/4/9 12:19:53;
}

windows下:

把IP地址设成自动获取。
C:\Documents and Settings\Administrator>ipconfig /all
Connection-specific DNS Suffix . : rhel.com
Physical Address. . . . . . . . . : 00-0C-29-D3-C6-B3
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.100.253
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.100.1
DHCP Server . . . . . . . . . . . : 192.168.100.20
DNS Servers . . . . . . . . . . . : 192.168.100.10
Lease Obtained. . . . . . . . . . : 2010年4月9日 14:44:12
Lease Expires . . . . . . . . . . : 2010年4月9日 20:44:12

基本配置完成。

‘伍’ linux安装dhcp服务器步骤

安装DHCP包
[root@miner-k ~]# yum -y install dhcp
[root@miner-k ~]# rpm -ql dhcp.x86_64
/etc/dhcp
/etc/dhcp/dhcpd.conf # DHCP的配置文件
/etc/dhcp/dhcpd6.conf
.......
/usr/sbin/dhcpd # DHCP的服务器端的主进程
/usr/sbin/dhcrelay # DHCP的中继服务器的进程
/var/lib/dhcpd/dhcpd.leases #DHCP的租约记录
修改配置文件
option domain-name "isc.org"; # 指定/etc/resolv.conf 中search后的参数
option domain-name-servers 114.114.115.115, 114.114.114.114; # DNS服务器的地址
subnet 10.254.239.0 netmask 255.255.255.224 {
option routers 204.254.239.1; #指定网关
range 10.254.239.10 10.254.239.20; # 指定DHCP的地址池,Linux分配IP地址是由大到小的分配,windows中分配是由小到大分配
option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}
# 通过MAC地址指定IP对应的主机
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; #网卡的mac地址
fixed-address 10.254.239.30; # 指定不在Range范围内的地址
DHCP 对应端口
服务器端 UDP 67
客户端 UDP 68
实例部署DHCP服务器
修改配置文件
[root@miner-k ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.200 192.168.100.210;
option domain-name-servers 114.114.114.114,114.114.115.115;
option domain-name "miner.example.org";
option routers 192.168.100.1;
default-lease-time 600;
max-lease-time 7200;
}
启动DHCP服务器
[root@miner-k ~]# service dhcpd restart
Starting dhcpd: [ OK ]
检查DHCP的监听端口
[root@miner-k ~]# netstat -anlp | grep 67
udp 0 0 0.0.0.0:67 0.0.0.0:* 4841/dhcpd

‘陆’ Kali Linux常用服务配置教程获取IP地址

下面以Kali Linux为例,演示获取IP地址的方法

(1)设置网络接口为自动获取IP地址。在Kali Linux的收藏夹中单击图标,将显示所有的程序,如图1.8所示。

(2)单击“设置”图标,将打开“设置”窗口,如图1.9所示。

(3)选择“网络”选项,单击有线连接中的齿轮按钮,将显示“有线”对话框,如图1.10所示。

(4)勾选“自动连接”复选框。然后,单击IPv4标签,将显示IPv4选项卡,如图1.11所示。

(5)在该界面选择“自动(DHCP)”选项。然后,单击“应用”按钮。接下来,就可以请求获取IP地址了。执行命令如下所示:

root@daxueba:~# dhclient eth0 –d

Internet Systems Consortium DHCP Client 4.3.5

Copyright 2004-2016 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:29:25:89:95

Sending on LPF/eth0/00:0c:29:25:89:95

Sending on Socket/fallback

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4

DHCPREQUEST of 192.168.0.12 on eth0 to 255.255.255.255 port 67

DHCPOFFER of 192.168.0.12 from 192.168.0.10

DHCPACK of 192.168.0.12 from 192.168.0.100

bound to 192.168.0.12 -- renewal in 277 seconds.

从输出的信息中,可以看到成功获取到IP地址192.168.0.12。由此可以说明,搭建的DHCP服务测试成功。此时,用户查看地址租约文件dhcpd.leases,也可以看到分配的IP地址。如下所示:

root@daxueba:~# cat /var/lib/dhcp/dhcpd.leases

# The format of this file is documented in the dhcpd.leases(5) manual page.

# This lease file was written by isc-dhcp-4.3.5

# authoring-byte-order entry is generated, DO NOT DELETE

authoring-byte-order little-endian;

lease 192.168.0.10 {

 starts 1 2018/07/02 10:15:00;

 ends 1 2018/07/02 10:25:00;

 cltt 1 2018/07/02 10:15:00;

 binding state active;

 next binding state free;

 rewind binding state free;

 hardware ethernet 00:0c:29:5c:ae:aa;

 client-hostname "daxueba";

}

lease 192.168.0.11 {

 starts 1 2018/07/02 10:18:17;

 ends 1 2018/07/02 10:28:17;

 cltt 1 2018/07/02 10:18:17;

 binding state active;

 next binding state free;

 rewind binding state free;

 hardware ethernet 00:0c:29:99:92:4f;

 uid "\001\000\014)\231\222O";

 set vendor-class-identifier = "MSFT 5.0";

 client-hostname "Test";

}

lease 192.168.0.12 {

 starts 1 2018/07/02 10:34:56;

 ends 1 2018/07/02 10:44:56;

 cltt 1 2018/07/02 10:34:56;

 binding state active;

 next binding state free;

 rewind binding state free;

 hardware ethernet 00:0c:29:25:89:95;

 client-hostname "daxueba";

}

从输出的信息中,可以看到DHCP服务分配出去的IP地址及对应租约信息。

‘柒’ 如何配置dhcp服务器

1、首先打开电脑网络的本地连接状态窗口页面,找到“属性”按钮。

‘捌’ 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

热点内容
学java有发展吗 发布:2025-01-31 21:44:45 浏览:566
HBX编程 发布:2025-01-31 21:39:26 浏览:158
数据库精品课 发布:2025-01-31 21:38:14 浏览:418
sqlsever语句 发布:2025-01-31 21:34:57 浏览:142
文泰里配置文件列表如何改 发布:2025-01-31 21:34:45 浏览:440
python的jieba分词 发布:2025-01-31 21:33:23 浏览:672
外企配置怎么说 发布:2025-01-31 21:31:11 浏览:270
搜索算法bd 发布:2025-01-31 21:29:34 浏览:538
安卓系统怎么安装文件 发布:2025-01-31 21:21:32 浏览:866
分布式缓存架构图 发布:2025-01-31 21:19:54 浏览:661