在系统上实现DHCP服务器

原理介绍:DHCP(Dynamic Host Configuration Protocol)dhcp :动态主机配置协议   udp   服务器用的是67端口 客户端用68 端口
作用  :动态分配地址等参数

工作模式

1.手工  manual

server--地址池 (ip---mac) 2222---1.1.1.1

  dhcpclient  ----地址    地址利用率低
2.自动  automatic

  server    地址池 (起始地址 结束地址)

dhcpclient  ----》ip地址   mac----ip  (永久) 2222-1.1.1.1  地址利用率 低

3.动态方式 dynamic

  server  地址池 (起始地址  结束地址)

dhcpclient  ----》ip地址   mac----ip  (租期) 2222-1.1.1.1  地址利用率 高

( 我们通常用的是1+3)

客户端向DHCP服务器索取新的IP地址

(1)DHCPDISCOVER(DHCP发现)
(2)DHCPOFFER(DHCP提供)
(3)DHCPREQUEST(DHCP请求)
(4)DHCPACK(DHCP确认)

更新过程

1.重启启动   dhcprequest 

2.50%     dhcprequest  87.5%    dhcpdiscover (4步骤)

100%  终止使用  169.254.x.y

案例应用1:自动分配地址,ip地址绑定

拓扑图:

 

在liunx上

编辑  vim   /etc/dhcpd.conf 脚本

r /usr/share/doc/dhcp-3.0…../chcpd.conf.sample 读取模板文件

做以下配置

wps_clip_p_w_picpath-1115

service dhcpd restart              重新启动dhcpd

netstat –tupln |grep dhcp       查看端口

用windows客户机动态获得的域名和地址

wps_clip_p_w_picpath-19433

vim /var/lib/dhcpd/dhcpd.leases     打开日志查看客户端获得地址及时间

wps_clip_p_w_picpath-10171

ipconfig  /release   释放地址

ipconfig /renew     重新获得地址

wps_clip_p_w_picpath-2434

可以编辑绑定的地址

wps_clip_p_w_picpath-7781

ipconfig /release 释放地址

ipconfig /renew 重新获得地址

wps_clip_p_w_picpath-9032

用linux客户机动态获得地址

p_w_picpath

总结:

超级作用域
shared-network{
基本作用域1 subnet 范围{…}
基本作用域n subnet 范围{…}
}
 
DHCP中继
安装dhcp-3.0.5
编辑/etc/sysconfig/dhcrelay
interface=”客户接口服务接口”
server=“dhcp服务器地址”
chkconfig dhcrelay on
ser dhcrelay start
ser dhcrelay configtest
打开数据包转发功能
echo “1”>/proc/sys/net/ipv4/ip_forward
编辑 /etc/sysctl.conf
net.ipv4.ip.forward =1
sysctl -p
 
清空租约:
vim var/lib/dhcpd/dhcpd.lrases 清除就行
 
客户的分类
class “名称”{
match if string
}

 

案例应用2:DHCP中继的配置

router 会隔离广播,需做dhcp中继,所以用linux模拟路由器,开启linux的数据包转发功能

拓扑图:

 

在DHCP服务器上做

查看默认路由表

 

编辑配置脚本

vim /etc/dhcpd.conf

 

 

 

 

在DHCP中继上做

mkdir /mnt/cdrom 创建目录

mount /dev/cdrom /mnt/cdrom/ 挂载

cd /mnt/cdrom/Server/ 切换到目录

安装包

rpm -ivh dhcp-3.0.5-23.el5.i386.rpm

编辑配置文件

vim /etc/sysconfig/dhcrelay

 

开启数据包转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward =0 改为“1”

 

sysctl –p

mkt 客户机自动获得的地址,域和租期详细信息

 

tec客户机自动获得的地址,域和租期详细信息

 

 

参考资料:
重点知识:
DHCP (Dynamic Host Configuration Protocol) 可以提供网络参数给客户端计算机,使其自动设定网络的功能;
透过 DHCP 的统一管理,在同一网域当中就比较不容易出现 IP 冲突的情况发生;
DHCP 可以透过 MAC 的比对来提供 Static IP (或称为固定 IP),否则通常提供客户端 dynamic IP (或称为动态 IP);
DHCP 除了 Static IP 与 Dynamic IP 之外,还可以提供租约行为之设定;
在租约期限到期之前,客户端 dhcp 软件即会主动的要求更新 (约 0.5, 0.85 倍租约时间左右);
DHCP 可以提供的 MAC 比对、Dynamic IP 的 IP 范围以及租约期限等等,都在 dhcpd.conf 这个档案当中设定的;
一般的情况之下,使用者需要自行设定 dhcpd.leases 这个档案,不过,真正的租约档案记录是在 /var/lib/dhclient/dhclient-eth0.leases 里面;
如果只是要单纯的 DHCP 服务,建议可以购买类似 IP 分享器的设备即可提供稳定且低耗电的网络服务。
DHCP 服务与 DNS 服务的相关性很高;
若 DHCP 客户端取得 IP 的速度太慢,或许可以找一下有网管 switch 的 STP 设定值
DHCP 主要的两种 IP 分配模式为何?
主要的两种分配模式分别为 Dynamic IP 与 Static IP , Static IP 透过 MAC 的比对,至于 Dynamic IP 则是直接取用网域中尚未被使用到的 IP 来进行 Client 端的分配。
在有 DHCP 主机存在的网域当中,且 client 端亦使用 DHCP 来规划客户端的网络参数,那么请问,在该网域当中,Client 端透过 DHCP 取得 IP 的流程为何?
1. 首先, Client 端会发出一个 DHCP 要求封包;
2. server 端接收到要求后,会主动的响应信息给 Client ;
3. Client 若接受该 DHCP 主机所提供的参数,则主机会记录下租约信息,至于 client 端则开始以主机提供的参数设定其网络
DHCP 是如何发送 Static IP 的?可以使用何种指令取得该信息?
DHCP 主要利用网络卡的硬件地址,亦即俗称的『网络卡卡号』,也就是 MAC 来进行 Client 端的比对的,至于主动取得 Client 端的方式,可以透过 ping 以及 arp 来获得。
在 DHCP 服务器的租约档,亦即 /var/lib/dhcpd/dhcpd.leases 当中,记录了日志信息 。
DHCP 的登录档放置于何处?
就是最重要的 /var/log/messages