DHCP配置

  sre

DHCP术语
DHCP 服务器:配置DHCP 服务的计算机
DHCP 客户端:启用DHCP 设置的计算机
作用域:一个完整连续的可用IP 地址范围,DHCP 服务主要就是通过作用域来管理网络分
布、IP 地址分配及其他相关配置参数。
超级作用域:管理级的作用域集合,用于支持同一物理网络上的多个逻辑IP 子网。超级作
用域包含子作用域的列表,对子作用域进行统一管理。
排除范围:排除范围是作用域内从DHCP 服务中排除的有限IP 地址序列。排除范围确保在
这些范围中的任何地址都不是由网络上的服务器提供给DHCP 客户机的。
地址池:在定义DHCP 作用域并应用排除范围之后,剩余的地址在作用域内形成可用地址
池,也就是作用域中包含的可用IP 地址范围哈,地址池中的地址可以由DHCP 服务器动态
分配给DHCP 客户机。
租约:客户计算机可以使用动态分配的IP 地址的时间,这个时间可以由DHCP 服务器设定
哈。当向一台客户机发出租约后,此租约就被看作是活动的,在租约终止前,客户机可以向
DHCP 服务器更新其租约。当租约到期或被服务器删除后,它就变成不活动的了,租约持续
时间决定了租约什么时候终止及客户机隔多久向DHCP 服务器更新其租约。
预约:创建从DHCP 服务器到客户机的永久地址租约指定,预约可以保证子网上的特定硬
件设备总是使用相同的IP 地址,这对于远程访问网关、DNS 服务器等必须要配置IP 地址的
计算机非常有用。
选项类型:DHCP 服务器向DHCP 客户机提供租约服务时可以指定的其他客户机配置参数。
典型地这些选项类型由各个作用域启用和配置。虽然大多数选项都是在RFC2132 中预定义
了,但若需要的话,我们还是可以使用DHCP 管理器定义并添加自定义选项类型。
选项类别:DHCP 服务用于进一步提供给客户机的选项类型的方法。选项类别可以在用户的
DHCP 服务器上配置以提供特定的客户机支持。当一个选项类别添加到服务器后,就可以为
该类别的客户机配置提供特定类别的选项类型。

DHCP工作原理
(1)当DHCP 客户机第一次登录网络时,如果客户机上没有任何IP 信息设定,它会向网
络发出DHCP DISCVER 数据包,为保证服务器能够接收到请求,数据包源地址设定为
0.0.0.0,而目的地址为255.255.255.255,以广播形式发送DHCP DISCOVER 的信息。
(2)当DHCP 服务器监听到客户端发出的DHCP DISCOVER 广播后,它会从那些还没有租
出的地址范围内选择可用的IP 及其他TCP/IP 设定以DHCP OFFER 数据包的形式发送给客
户机。
(3)如果客户端收到网络上多台DHCP 服务器的响应,客户端会挑选最快的一个DHCP
OFFER 并向网络发送一个DHCP REQUEST 广播封包,告诉所有DHCP 服务器它将使用哪
一台服务器提供的IP 地址。同时,客户端还会向网络发送ARP 广播数据包,查询网络上面
有没有其他机器使用该IP 地址,如果发现该IP 地址已经被占用,客户端则会发送一个DHCP
DECLINE 数据包给DHCP 服务器,拒绝接受其DHCP OFFER,并重新发送DHCP REQUEST
信息。
注:实际上并不是所有DHCP 客户端都会无条件接受DHCP 服务器的响应,客户端可以保留
自己的一些TCP/IP 设定,比如网关、DNS 地址
(4)将地址分配给客户端后,DHCP 服务器会发送一个DHCP ACK 消息,以确认IP 租约
的正式生效,结束完整的DHCP 工作过程。
(5)DHCP 客户端成功地从服务器取得IP 地址之后,一般不需要再发送DHCP DISCOVER
信息了,除非其租约已经到期或者IP 地址重新设定回0.0.0.0。此时客户端会直接使用已经
租用到的IP 地址向为其发此IP 地址的DHCP 服务器发出DHCP REQUEST 信息,DHCP 服
务器会尽量让客户端使用原来的IP 地址,如果没有特殊的情况,会直接响应DHCP ACK,
允许客户端继续使用该IP 地址。如果该地址已经失效或者已经被其他主机使用了,服务器
则会响应一个DHCP NACK 数据包给客户端,要求其重新执行DHCP DISCOVER。
注意:客户端执行DHCP DISCOVER 后,如果没有DHCP 服务器响应客户端的请求,客户
端会随机使用169.254.0.0/16 网段中的一个IP 地址配置本机地址。

安装:
yum -y install dhcp-*

dhcp软件包的主要文件
主配置文件:/etc/dhcp/dhcpd.conf
配置模版文件/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
DHCP中继配置:/etc/sysconfig/dhcrelay

编辑配置文件
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf #如下

ddns-update-style interim;
option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org;
log-facility local7;
default-lease-time 600;
max-lease-time 7200;
ignore client-updates;
#############以上为全局设置,以下为子网设置##################
subnet 192.168.0.0 netmask 255.255.255.0 {
……;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
……;
default-lease-time 21600;
max-lease-time 43200;
……;
}

全局设置:通常把subnet 192.168.0.0 netmask 255.255.255.0(不包括subnet这行内容) 以上的内容成为全局设置,作用于整个配置文件。各行含义如下:

Default-lease-time 21600; 默认租约时间
Max-lease-time 43200; 最大租约时间
Option domain-name “123.com”; 域名服务器的名称
Option domaini-servers 192.168.0.1 默认域名服务的ip地址

Sub 后从“{”开始 到最后一个“}”结束表示子网属性。其主要配置只对大括号里的内容有效。一个配置文件可以有多个子网属性。

subnet声明,配置整个子网段的地址属性
range参数:设置用于分配的IP地址池
option subnet-mask参数:设置客户机的子网掩码
option routers参数:设置客户机的默认网关地址
例如:
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.110 192.168.4.120;
range 192.168.4.128 192.168.4.254;
option subnet-mask 255.255.255.0;
option routers 192.168.4.1;
……;
}

host声明,配置单个主机的地址属性
hardware ethernet参数:指定对应主机的MAC地 址
fixed-address参数:指定为该主机保留的IP地址
例如:
host prtsvr {
hardware ethernet 00:c0:c3:22:46:81;
fixed-address 192.168.4.11; #固定的ip地址
}

/etc/sysconfig/dhcpd
提供额外执行参数,例如可修改 DHCPDARGS项 ,限制dhcp服务器提供服务的网络接口
vim /etc/sysconfig/dhcpd
DHCPDARGS=”eth0 eth1″

service dhcpd start #启动服务
查看客户机的地址租用记录
vim /var/lib/dhclient/dhclient.leases

客户端获取dhcp:
dhclient
或者
ifconfig eth0 down & ifconfig eth0 down
#在/etc/sysconfig/network-script/ifcfg-eth0中需要改为:BOOTPROTO=dhcp

为多个物理网段的客户机动态分配地址:

配置DHCP中继服务:
#开启服务器的路由转发功能
vim /etc/sysctl.conf
改为net.ipv4.ip_forward = 1
sysctl -p

#设置中继接口及DHCP服务器的地址
vim /etc/sysconfig/dhcrelay
INTERFACES=”eth0 eth1 eth2″
DHCPSERVERS=”192.168.1.2″

#启动dhcrelay中继服务程序
root@localhost ~]# service dhcrelay start

需求描述
设置IP地址:192.168.2.10/24
设置默认网关地址:192.168.2.1
设置主机名:dataserver.openlab.com
设置DNS服务器地址:192.168.2.5、202.106.0.20
设置默认搜索域:openlab.com
添加主机名->IP地址映射记录:
prtsvr(192.168.2.3)、filesvr(192.168.2.4)
上述配置均为静态配置,要求重启服务器后仍然有 效

需求描述
在网关主机中构建DHCP、DHCP中继服务器
为以下三个物理网段提供动态地址分配服务:
192.168.1.0/24、192.168.2.0/24
默认租约时间21600秒,最大租约时间43200秒
客户机使用的DNS服务器地址如下:
202.106.0.20、202.106.148.1
用于动态分配的IP地址范围分别为:
192.168.1.20~192.168.1.200
192.168.2.20~192.168.2.200
网关主机各接口的IP地址作为对应网段的默认网 关

dhcp配置文件参数:
1、ddns-update-style 类型 定义所支持的 DNS动态更新类型(必选),一般我们设置成关
闭,interim和 none 都是关闭的意思,
2、subnet 网络号 netmask 子网掩码 这是用来表明作用域的
3、option routers 网关
4、option subnet-mask 子网掩码
5、option nis-domain NIS,如果没有注释掉即可
6、option domain-name 域名
7、option domain-name-servers DNS服务器 IP
8、range dynamic-bootp IP地址的范围
9、default-lease-time 21600; 地址租约时间
10、max-lease-time 43200; 租约最大时间
11、host ns {
next-servermarvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
} 这个是特殊声明,用来做地址和 MAC绑定的,hardware ethernet为硬件类型为以太
网然后写上 MAC地址,fixed-address即是要绑定到上面那个 MAC的 IP地址。
注意:每行参数写完之后一定要有“;”来结束,否则就是配置错误,无法启动服务的,具
体的格式是
shared-network 超级作用域的名称 {
全局的参数,对所有的作用域都生效,可以写
DNS地址,租约的时间等信息,每行写完以“;”结束
(第一个作用域):subnet 网络号 netmask 子网掩码 {
作用域的参数设置,看个人情况进行设置即可,每行写完以“;”结束
}
(第二个作用域):subnet 网络号 netmask 子网掩码 {
作用域的参数设置,看个人情况进行设置即可,每行写完以“;”结束
}
}

关于DHCP租期的几种说法:
租期到期前,电脑会申请继续使用。
电脑没申请,路由器收回IP,如果有其他电脑申请,可能把这个IP分配。
电脑没开,过期后,会先申请原来IP,如果已分配,路由器会分配其他IP

dhcp客户机通过udp 68端口发送dhcpdiscover广播信息来查找dhcp服务器。dhcp sever收到后通过udp 67端口发送dhcpoffer 为客户端提供ip。dhcp客户端收到后广播dhcprequest,告诉dhcp服务器它将接受哪台服务器提供的ip地址(首先收到的那个ip地址),并且拒绝其他服务器的提供。dhcp服务器收到后发送dhcpack信息,已确认ip租约生效。

当租约期过半时,dhcp客户机会像服务器发送一条消息问服务器,我还能用这个ip吗,服务器说可以,它继续用。当过了85%租约期,继续问服务器,还可以用吗,服务器说可以,它就继续用了(并将还可租用8天),不可以继续用的话那重新最上面的过程,租约新的ip,原来的ip就会被释放或者被其它客户端应用!!

One Reply to “DHCP配置”

  • 临时修改网关
    设置单网关:
    route del defalut gw 192.168.1.1 (先删除旧的网关)
    添加新网关,例如小编想把新网关设为192.168.1.2
    route add default gw 192.168.1.2
    然后再看路由表
    reoute

LEAVE A COMMENT

Captcha Code