DHCP网络服务原理与配置
DHCP服务概述
1、dhcp (Dynamic Host Configuration Protocol) 动态主机配置协议
2、端口号:默认67端口
3、主配置文件 /etc/dhcp/dhcpd
执行脚本 /etc/init.d/dhcpd /etc/init.d/dhcrelay
执行参数配置 /etc/sysonfig/dhcp
DHCP中继配置 /etc/sysconfig/dhcrelay
4、使用dhcp 可以减少管理员的工作量,避免ip地址冲突,提高ip利用率
5、可以分配的地址信息包括:
网卡ip地址、子网掩码、对应的网络地址、广播地址、默认网关、DNS服务器地址
6、分配方式:
(1)自动分配,分配以后永久使用
(2)手动分配,由dhcp服务器管理员专门指定ip地址
(3)动态分配,使用完释放ip地址
Dhcp的租约过程
1、客户机从dhcp服务器获取ip地址的过程称为dhcp的租约过程
2、租约过程分为以下四步:
A 客户端在网路中搜索服务器
B 服务器向客户端响应服务
C 客户端向目标服务发出服务请求
D 服务器向客户端提供服务
1>客户机请求ip(客户端发送DHCP Discover广播包)
当客户启动时候没有ip地址,所以需要通过DHCP服务器获取一个合法的ip地址,此时客户机以广播的方式DHCP Discover 广播信息寻找DHCP服务器,广播信息包括客户
机自己MAC地址和计算机名, 以便DHCP服务器确认是哪个客户机发送的请求
2>服务器响应(服务器发送DHCP Offer 包)
当服务器收到来自客户机发送的请求的时候,它就在自己的ip地址池中查找是否有合法的ip地址提供给客户机,如果有dhcp服务器就会将此ip做上标记,加入DHCP Offer中
,然后就广播一条包含:客户机的MAC地址,DHCP提供的合法ip地址,子网掩码,默认网关,租约期限,dhcp服务器的ip地址
3>客户机选择IP地址(客户机发送DHCP Request广播包)
当客户机从第一个dhcp服务器接收到DHCP Offer 消息并提取IP地址以后,客户机将DHCP Request 消息广播到所有的DHCP服务器上,表示它接收提供的内容,DHCP
Request 信息包括为客户机提供ip地址的服务标识符(服务器IP地址) ,DHCP服务器通过标识符确认ip是否被接受 如果被拒绝,则DHCP取消并保留IP,以提供给下一个IP地
址租约请求
4>服务器确认租约(服务器发送DHCP ACK 广播包)
服务器接收DHCP Request 信息后,以DHCP ACK 消息的形式向客户机广播确认成功,消息包括:IP地址的有效租约,及其他可配置信息,当客户机收到DHCP ACK 消息时,它就配置IP地址,完成了TCP/IP 的初始化。
(3)重新登录
客户机发送上一次分配的IP地址的DHCP Request 请求信息,当DCHP服务收到请求后会尝试让客户机继续使用原来的ip地址,并回答一个DHCP ACK确认信息,如果此地址无法在分配给它被别人使用了,DHCP服务器会回复一个DHCP Nack 的否认信息,当客户机收到DHCP Nack 信息后,它必须重新发送DHCPDiscover 发现信息来请求ip
(4)更新租约
当DCHP服务器向客户机出租的ip地址租期达到50% 时候,就需要更新现有的租期,若此时服务器无法正常回复客户机的请求,客户机的此ip地址可以继续使用到最大租约时间的87.5%
DHCP中继原理
在大型的网络中,可能会存在多个子网。DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址。 但广播消息是不能跨越子网的。因此,如果DHCP客户机和服务器在不同的子网内,客户机还能不能向服务器申请 IP地址呢?这就要用到DHCP中继代理。DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为 DHCP中继代理服务器,它承担不同子网间的DHCP客户机和服务器的通信任务。
Dhcp服务器搭建
[[email protected] ~]# yum -y install dhcp [[email protected]~]#cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample|grep -v "^#" >>/etc/dhcp/dhcpd.conf [[email protected]~]#vi /etc/dhcp/dhcpd.conf option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org;//dns服务器的ip default-lease-time 600; 默认租约6个小时 max-lease-time 7200; 最长租约12小时 log-facility local7; //日志记录 subnet 192.168.2.0 netmask 255.255.255.0 { //必须要有一个网卡设备在该网段才能启动 range 192.168.2.1 192.168.2.100; 该网段的ip地址范围 option routers 192.168.2.1; 网关地址 }
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; 某主机的网卡MAC地址
fixed-address fantasia.fugue.com; 制定分配的ip地址
}
dhcp中继服务器
一、 配置DHCP中继代理前,先配置DHCP服务器,添加多个作用域。
1.配置网卡,给DHCP服务器分配一个静态的IP。一定要配置网关,IP为中继代理相连的网络接口的IP。
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
2.重启network服务。
[[email protected] ~]# service network restart
3.更改DHCP的配置文件
[[email protected] ~]#vi /etc/dhcp/dhcpd.conf
4、启动柜dhcp服务
[[email protected] ~]#/etc/init.d/dhcpd start
[[email protected] ~]#chkconfig dhcpd on
二、 在DHCP服务器上配置完成后,开始配置dhcp中继代理服务器。
1.配置前,先添加两块网卡,配置不同网段的IP
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.2.10 NETMASK=255.255.255.0 GATEWAY=192.168.2.1
2.配置完成后重启一下network服务
[[email protected] ~]# service networkrestart
3.编辑配置文件/etc/sysctl.conf启用路由功能
[[email protected] ~]# vi /etc/sysctl.conf
将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1
5 .配置后执行sysctl –p
[[email protected] ~]# sysctl -p
-p 从指定的文件加载系统参数,如果不指定即从/etc/sysctl.conf中加载
6. 添加作为中继代理的客户端,以及中继需要使用的网络接口。
[[email protected] ~]# vi /etc/sysconfig/dhcrelay
INTERFACES“eth1 ”添加网络接口,可添加多个,中间空格。
DHCPSERVERS“192.168.1.1”DHCP服务器的IP
7.做完以上操作,中继代理基本已配置完毕,然后启动dhcrelay服务,为使下次开机时默认启动,可以设置一下默认启动状态,
在图形化和命令行级别时都默认启动。
[[email protected] ~]# service dhcrelay start
[[email protected] ~]#chkconfig --level 35 dhcrelay
8、启动中继代理功能
[[email protected] ~]# dhcrelay 192.168.1.1
原文地址:http://blog.51cto.com/13589170/2086783