dhcp的工作过程:
1.客户机请求ip
客户机广播一个dhcp discover包,UDP的67端口,源ip0.0.0.0 目的ip255.255.255.255(有限广播)。还包括客户机的MAC和主机名
2.服务器响应
服务器受到请求,检查ip地址池,如果有ip,广播一个dhcp offer包,UDP的68端口,源ip为服务器的ip,目的ip为255.255.255.255 ,还包括如下信息:客户端的MAC,服务器提供的ip,子网掩码,租约,服务器的ip
3.客户机选择
使用收到的第一个dhcp offer包,并发送dhcp request包广播,使用UDP的67端口,源ip0.0.0.0目的ip 255.255.255.255
4.服务器确认
dhcp服务器受到dhcp request包后,会以dhcp ACK包向客户端广播,确认成功。使用UDP的68端口,源ip为服务器的ip,目的ip为255.255.255.255,客户端收到dhcp ACK包后,即可使用ip地址。
DHCP服务器的安装包文件,dhcp开头的文件,安装盘上有。
相关配置文件:
/etc/dhcpd.conf 主配置文件,默认没有,需要手动建立
/etc/sysconfig/dhcpd DHCP服务使用的网络接口
/etc/sysconfig/dhcrelay 多网段下的dhcp中继代理配置,
/var/lib/dhcpd/dhcpd.leases dhcp服务的租约文件
/etc/rc.d/init.d/dhcpd dhcp的启动脚本
/etc/rc.d/init.d/dhcrelay dhcp中继代理的启动脚本
/usr/sbin/dhcpd dhcp服务的执行文件
/usr/sbin/dhcrelay dhcp中继代理服务的执行文件
/usr/share/doc/dhcp-3.0.4/dhcpd.conf.sample dhcp的配置模板文件(一般情况下,可以复制此文件作为主配置文件)
以下为主配置文件模板的说明:
ddns-update-style interim; //dhcp与dns的动态更新方式。
ignore client-updates; //客户端的更新方式。
subnet 192.168.0.0 netmask 255.255.255.0 { //网段的声明,以下大括号中的都是本网段的配置信息。
# --- default gateway
option routers 192.168.0.1; //分配给主机的默认网关
option subnet-mask 255.255.255.0; //分配给主机的子网掩码
option nis-domain "domain.org"; //linux的nis域名,(可以没有)
option domain-name "domain.org"; //域名,
option domain-name-servers 192.168.1.1; //域名服务器的地址,(dns)
option time-offset -18000; # Eastern Standard Time //国际标准时间差
# option ntp-servers 192.168.1.1; //ntp网络时间服务器地址
# option netbios-name-servers 192.168.1.1; //netBIOS名称服务器地址(wins服务器)
# --- Selects point-to-point node (default is hybrid). Don't change this unless //选择点到点模式,一般不要修改,除非你非常懂NetBIOS
# -- you understand Netbios very well
# option netbios-node-type 2; //NetBIOS的模式为2 ,(不明白,反正现在用不着)
range dynamic-bootp 192.168.0.128 192.168.0.254; //可以分配的ip地址段
default-lease-time 21600; //默认租约时间, 6小时,企业应用应改为43200秒
max-lease-time 43200; //最长租约时间,12小时。
# we want the nameserver to appear at a fixed address //保留的ip地址
host ns { //主机声明。
next-server marvin.redhat.com; //主机名称(可以没有)
hardware ethernet 12:34:56:78:AB:CD; //主机的网卡地址(注意和Windows的表示方法不同)
fixed-address 207.175.42.254; //主机使用的ip地址
}
}
配置实例:
一般情况下,如果有多个网段,但dns可能只有一台或两台服务器,而且每个网段的配置都想同,所有加入全局配置即可
租约时间,默认是6小时,但我们工作的上班时间为8小时多,期间还要换ip地址,所以改为12小时比较合理
多个网段,在三层交换上配置DHCP中继代理。
如果Linux服务器有多个网卡,需在/etc/sysconfig/dhcpd 文件中指定提供DHCP服务的网卡接口
在/etc目录下建立dhcpd.conf 内容如下
ddns-update-style interim;
ignore client-updates;
option domain-name-servers 192.168.1.1,202.106.0.20;
default-lease-time 43200;
max-lease-time 50000;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name "domain1.org";
option time-offset -18000;
range dynamic-bootp 192.168.1.10 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "domain2.org";
option time-offset -18000;
range dynamic-bootp 192.168.2.10 192.168.2.254;
}
重启服务 service dhcpd restart
此文档由 秘飞虎 (qq:815889476 mail:[email protected]) 整理,如果转载,请保留作者,及联系方式。