工作原理:
1、客户机寻找服务器:广播发送discover包,寻找dhcp服务器
2、服务器响应请求:单播发送offer包,对客户机做出响应。提供客户端网络相关的租约以供选择
其中服务器在收到客户端的请求后,会针对客户端的mac地址与本身的设定数据进行一下工作:
a、到服务器的登录文件中寻找该用户之前曾经使用过的ip,若有且该ip目前没有人使用,这提供此ip为客户机
b、若配置文件中有针对该mac提供额外的固定ip,且该ip没有被使用,则提供此ip给客户机
c、如果没有符合以上两个条件,则随机取用目前没有被使用的ip参数给客户机并记录到leases文件中。
3、客户机发送ip请求:广播request包,选择一个服务器提供的网络参数租约回报服务器。
此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己已经接受服务器的租约。
4、服务器确认租约:单播Ack包,服务器与客户机确认租约关系并记录到服务器的leases文件中 。
客户端打开68号端口,服务器打开67号端口。
五个步骤
1.固定IP
2.权限用户
3.软件包确认
4.修改配置文件
5.启动服务器测试
具体操作如下:
1.使用rpm –qa|grep dhcpd查看是否安装了dhcp服务,如图所示:由图可知,系统还未安装dhcp服务器。
2.挂载和安装dhcp软件包,如下图所示:
3.
DHCP的配置文件——/etc/dhcpd.conf
RHEL5安装后的默认情况下,此文件是一个空白文件。
该文件的模板是:/usr/share/doc/dhcp-3.0.5/dhcpd.conf .sample
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cat /etc/dhcpd.conf 如下图所示。
ddns-update-style interim; //定义所支持的DNS动态更新类型, (必选),一般设置成关闭,interim和none都是关闭的意思(interim或ad-hoc或none )
ignore client-updates; //忽略客户端更新,不允许动态更新dns
subnet 172.16.210.0 netmask 255.255.255.0 { //声明一个网段
# --- default gateway
option routers 172.16.210.254; //分配给客户机的网关地址或路由IP地址
option subnet-mask 255.255.255.0; //分配给客户机的子网掩码
option nis-domain “domain.org”; //设置NIS域名
option domain-name “domain.org”; //设置DNS域名,要与DNS的域名一致
option domain-name-servers 172.16.210.1; //DNS服务器的IP地址
option time-offset -18000; //为客户端设定和格林威治时间的偏移时间
# option ntp-servers 172.16.210.1; //为客户端设定网络时间服务器IP地址
# option netbios-name-servers 172.16.210.1; //设置默认的WINS服务器
# ---Selects point-to-point node (default is hybrid). Don't change this nless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 172.16.210.210 172.16.210.240; //可分配的IP范围
default-lease-time 21600; //默认的租约时间 6小时
max-lease-time 43200; //最大的租约时间 12小时
# we want the nameserver to appear at a fixed address
host ns { //对主机名为ns的主机做host声明设定对特定网卡的IP分配
next-server marvin.redhat.com; #设置由于定义服务器从引导文件中装入的主机名,用于无盘站。
hardware ethernet 12:34:56:78:AB:CD; //主机的MAC地址
fixed-address 172.16.210.222; //该地址始终分配给该主机
}
}
3.启动DHCP服务器
启动
# service dhcpd start
重新启动
service dhcpd restart
查询服务的启动状态
service dhcpd status
停止服务
service dhcpd stop
4.测试DHCP服务器
启动DHCP服务
在物理机将IP地址设置为自动获得
打开“运行”→输入“cmd”
释放IP地址:ipconfig /release
重新申请IP地址:ipconfig /renew
执行:ipconfig /all
此时若能看到所分配到的IP地址、默认网关和DNS服务器地址,则说明DHCP服务器工作正常,配置成功
服务器配置完了linux客户机怎么获得ip地址呢。其实很简单。这里我叫大家两个命令,其效果是一样的。命令为:dhclint 或者 down 一下接口再up一下接口就可以了。
查看 ip和client对应列表
/usr/lib/dhcpd/目录下的文件
查询端口号
netstat -natup|grep dhcpd
来源:https://www.cnblogs.com/lovefendi/p/3731645.html