在系统上实现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 读取模板文件
做以下配置:
service dhcpd restart 重新启动dhcpd
netstat –tupln |grep dhcp 查看端口
用windows客户机动态获得的域名和地址
vim /var/lib/dhcpd/dhcpd.leases 打开日志查看客户端获得地址及时间
ipconfig /release 释放地址
ipconfig /renew 重新获得地址
可以编辑绑定的地址
ipconfig /release 释放地址
ipconfig /renew 重新获得地址
用linux客户机动态获得地址
总结:
超级作用域
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