文章转载出处:http://wnqcmq.blog.51cto.com/5200614/1167670
一、 DHCP简介
DHCP 是 Dynamic Host Configuration Protocol(动态主机配置协议,主要是针对于主机ip配置的)缩写,之所以会产生它的原因是传统的手工配置IP的方法效率低、工作量巨大和不够灵活,dhcp的产生很好的解决了上述问题,它能实现IP地址的灵活分配和管理,并且不需要人工的干预,其工作模式是C/S
二、 DHCP的工作原理
1. DHCP DISCOVER: 这个很好理解的啦,就是作为客户端的主机目前想跟别人通信,可是自己没IP地址啊,管理员(DHCP SERVER)没给分,它就自己先叫管理员呗,当然声音要大才行啊,就用广播啦(255.255.255.255(udp))
2. DHCP OFFER:管理员(DHCP SERVER)听到有主机地址啦,当然这里接到请求的管理员可能有多个,于是就试着先给一个IP(管理员们很好,如果主机觉得这个IP可以要就拿着),给IP的这个消息包含主机的MAC地址、服务器提供的IP地址、子网掩码、租期以及提供IP的DHCP服务器的IP
3. DHCP REQUEST:客户主机在收到一个IP提供时,它必须告诉所有其他的DHCP服务器它已经有IP啦。因此,客户主机会发送一个DHCPREQUEST消息,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回所有可能已提供给客户主机的租约。然后它们把曾经给客户保留的那个地址重新放回到可用地址池中,以便给别的主机使用
4. DHCP ACK:当DHCP服务器收到来自客户的REQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括发送一个DHCPACK包给客户。这个包包含租期和客户可能请求的其他所有配置信息。
三、 具体的案例实现
A. 也许你在一所学校做机房管理员,每个机房都有一两百台机器需要分配地址,如果每台机器都手工去配IP地址的话估计你会吃不消吧,那么你可以看看我给你的建议,方案规划图如下:
对于DHCP SERVER我使用的是LINUX(也可以使用windows):
Step 1:yum install dhcp (当然也可以使用源码安装);
Step 2:修改/etc/dhcpd.conf
这里我没有分配很多IP地址,dhcp服务器的IP为192.168.111.20
Step 3:重新启动dhcp服务器
Step 4:测试客户机获取IP地址情况
查询服务器分配信息:cat /var/lib/dhcpd/dhcpd.leases
查询详细的分配过程:tail –f /var/log/messages
B. 也许你在做一个网吧的管理员,网吧的机器可是相当的多啊,一个地址段的IP无法满足需求啊,那么你就可以建立一个超级作用域么,同时要求有为两台FTP服务器分配固定的IP,将多个网段的地址合在一个dhcp服务器上,实现方案图和A相同
但是配置上就不同了
Step 1:修改/etc/dhcpd.conf
Step 2:重新启动dhcpd服务器
Step 3:测试
主机一:
服务器详细分配情况
主机二:
服务器分配详细情况:
C. 也许你是一家大公司的网络管理员,公司分多个部门,现要求对于每个部门的IP分配都使用DHCP,并且都集中在一台DHCP服务器上便于管理,对于不同部门分配不同的网段的IP地址和不同的网关,因此上述的两种方案都无法解决,这涉及到跨网段获取IP地址的问题,前面小编我也提到,获取IP地址的第一阶段是用广播“喊话“,如果DHCP服务器在同一网段那就没啥问题,可是现在DHCP服务器并不在同一网段,那如何实现呢,我们可以使用DHCP中继技术来实现,对于此我提供两套方案来解决(软件中继,硬件中继),方案规划图如下:
1) 软路由
Step 1:dhcp服务器的配置,修改/etc/dhcpd.conf
Step 2:修改软路由服务器的/etc/sysctl.conf文件,开启软路由服务器的路由功能
Step 3:修改软路由器的三个网卡地址(作为网关使用),分别修改为
192.168.111.254
192.168.112.254
192.168.113.254
Step 4:软路由配置,修改软路由服务器的/etc/sysconfig/dhcrelay文件
Step 5:开启dhcp中继功能
Step 6: 测试
查看vlan10 主机获取IP地址的情况
查看DHCP服务器日志情况tail –f /var/log/messages
查看vlan20 主机获取IP地址的情况
查看DHCP服务器日志情况tail –f /var/log/messages
2) 硬路由实现(这里我使用的是华为的设备),方案图如下
具体核心配置如下:
路由配置
dis cu
Now create configuration...
Current configuration
!
version 1.74
undo pos-server addr-switch
firewall enable
aaa-enable
aaa accounting-scheme optional
!
dhcp server ip-pool test
!
interface Aux0
async mode flow
link-protocol ppp
!
interface Ethernet0
!
interface Ethernet0.10
vlan-type dot1q vid 10
ip address 192.168.10.1 255.255.255.0
ip relay-address 192.168.30.100
!
interface Ethernet0.20
vlan-type dot1q vid 20
ip address 192.168.20.1 255.255.255.0
ip relay-address 192.168.30.100
!
interface Ethernet0.30
vlan-type dot1q vid 30
ip address 192.168.30.1 255.255.255.0
交换机配置
dis cu
#
sysname Quidway
#
radius scheme system
#
domain system
#
vlan 1
#
vlan 10
#
vlan 20
#
vlan 30
#
interface Aux1/0/0
#
interface Ethernet1/0/1
port access vlan 10
#
interface Ethernet1/0/2
port access vlan 20
#
interface Ethernet1/0/3
port access vlan 30
#
interface Ethernet1/0/24
port link-type trunk
port trunk permit vlan all
Dhcp服务器配置
#
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 1.1.1.1;
range dynamic-bootp 192.168.10.128 192.168.10.254;
default-lease-time 21600;
max-lease-time 43200;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.20.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 2.2.2.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.20.128 192.168.20.254;
default-lease-time 21600;
max-lease-time 43200;
}
subnet 192.168.30.0 netmask 255.255.255.0 {
}
到此所有方案实现完毕。