Redhat5.4下DHCP的配置
1.思考
思考一下,如果你是一个公司的网络管理员,你管理着几百甚至上千台计算机,而每台计算机都需要联网,但是公司的员工又不会配置IP地址,子网掩码那些无趣的数字,那么你会怎么办,一个一个的去为他们配置吗?那可能要把你累死;集中培训吗?他们可没有必要学习那些东西,并且又无聊,又费时费力.这时DHCP可帮了你的大忙了,它可以让你的电脑简单到插上网线就可以使用,都不用理会IP地址是什么玩意.
2. DHCP简述
DHCP(Dynamic Host Configuration Protocol,动态主机分配协议)于1993年10月成为标准协议,它的前身是BOOTP,DHCP可以说是BOOTP的增强版本.DHCP用于简化IP配置管理的TCP/IP标准为客户端动态分配TCP/IP相关信息.DHCP提供安全,可靠且简单的TCP/IP网络设置,避免了TCP/IP网络中地址的冲突,同时也降低了管理IP地址设置的工作强度.
DHCP作用:
1>减少管理员的工作量
2>减小输入错误的可能
3>避免IP的冲突
4>当网络更改IP地址段时,不需要重新配置每台计算机的IP
5>计算机移动不必重新配置TCP/IP的信息
6>提高了IP地址的利用率
3.DHCP动作原理
1>DHCP的几个名词
DHCP客户:DHCP客户是通过DHCP来获得网络配置参数的Internet主机,通常就是所说的普通用户的工作站
DHCP服务器:DHCP服务器是提供网络设置参数给DHCP客户的Internet主机
DHCP/BOOTP中继代理:在DHCP客户和服务器之间转发DHCP消息的主机或路由器.它使用在如果客户端与服务器之间需要跨越子网时,可以配置一个DHCP/BOOTP中继代理来帮助转发DHCP客户端与DHCP服务器之间的广播包.
2>租约的产生
客户端在启动时会发生租约的产生过程,它的工作原理可以使用下图来概括:
(1)客户端请求IP租约.
在客户端连接上网络时会在网络中广播一个DHCP Discover包,该数据包使用的是UDP的67端口,因为本身还没有IP地址,所以广播时它的IP地址是:0.0.0.0,目的IP地址是255.255.255.255,该包还包含客户端的MAC地址和计算机主机名
(2)服务器响应
当服务器收到客户端发送的请求IP地址的数据包之后,就会在自己的IP数据库中查找是否有可用的IP地址,如果有的话,DHCP服务器就广播一个DHCP Offer包,该数据包使用的是UDP的68端口,源IP地址为DHCP服务器的IP地址,目的IP地址为255.255.255.255,发送出去的Offer包内包含的内容有:DHCP客户端的MAC地址;DHCP服务器提供的合法的IP地址;子网掩码;租约期限;服务器IP地址
(3)客户端选择ip地址
有时一个网段内会有多个DHCP服务器,也就是说,在客户端发送Discover时会有多个DHCP服务器响应,这就需要DHCP客户端选择一个IP地址来使用,系统规定DHCP客户端会从接收到的第一个DHCP Offer包中选择IP地址,并且发送DHCP Request包进行广播,表明它使用ip地址的服务器,该数据包使用UDP的67端口,源IP地址0.0.0.0,目的IP地址:255.255.255.255
(4)服务器确认
DHCP服务器在收到DHCP Request包后,会以ACK包向客户端广播确认成功,该数据包使用UDP的68端口,源IP为DHCP服务器IP地址,目的IP为255.255.255.255,当客户端收到DHCP ACK后,就使用得到的IP地址,这时整个租约产生过程就成功结束.
3>关于租约的更新
当客户端重新启动时客户端会重新提出租约的租用
当租约到达50%时,也需要重新更新租约,这里客户端直接向服务器端发送DHCP Request包,要求更新租约,如果更新不成功的话,则客户端会再次等到租约的87.5%时,会再次进行租约的更新,但这次DHCP客户端是向网络上所有的DHCP服务器进行广播来更新现有的租约.
4>关于DHCP中继代理的使用
DHCP中继代理只是充当一个中继的作用,它是把DHCP客户端和DHCP服务器发送的数据包,通过自身将它们以单播的方法发送到另外的子网中,它本身是不提供租约的作用.
4.DHCP服务器配置
1>DHCP软件的安装
进入光盘,在Server目录中安装文件
软件名称: dhcp-3.0.5-21.el5.i386.rpm
安装命令: rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
[root@localhost Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
warning: dhcp-3.0.5-21.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:dhcp ########################################### [100%]
2>DHCP的配置文件
DHCP的配置文件: /etc/dhcpd.conf
它的内容可以参数文件/usr/share/doc/dhcp*/dhcpd.conf.sample
3>DHCP配置文件/etc/dhcpd.conf参数
default-lease-time 时间:客户端请求的租约时间
max-lease-time 时间:这个是客户端可以使用的最大的租约时间
option domain-name "域名":指定客户端DNS后缀
option domain-name-servers ip1,ip2: ip地址为DNS服务器的IP地址,用它来指定要使用的DNS服务器IP地址.
ddns-update-style 类型 :指定支持DNS动态更新的方式(interim|ad-hoc|none)
option routers 路由器的地址
4>使用域配置
如
subnet 192.168.1.0 netmask 255.255.255.0{
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.100 192.168.1.200;
(可以分配的ip地址范围)
}
5>保留配置
host 主机名{
hardware 网卡类型MAC地址;
hixed-address 地址;
}
6>超级作用域:超级作用域是DHCP服务器的一种管理功能,使用它可以将多个作用域组合成单个管理实体,方便统一管理.
如:
shared-network test{
subnet 192.168.1.0 netmask 255.255.255.0{
}
subnet 192.168.2.0 netmask 255.255.255.0{
}
}
案例1 简单DHCP服务器配置
网络拓朴图
在redhat5.4 dhcp上配置dhcp服务器
1>打开/etc/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.sample
命令这个命令来得到dhcpd.conf.sample中的配置内容
2> 对配置文件进行配置
IP地址范围:192.168.2.150—192.168.2.200
window.xp主机固定IP:192.168.2.180
注:在使用虚拟机时要把虚拟机全局设置里面的DHCP给关闭,否则会影响结果.
在配置时要把服务器IP地址放在这个子网的网段内,否则会失败
如下
ddns-update-style none;
ignore client-updates;
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "test.domain.org";
option domain-name-servers 222.85.85.85,222.88.88.88;
range dynamic-bootp 192.168.2.150 192.168.2.200;
default-lease-time 21600;
max-lease-time 43200;
host window.xp {
hardware ethernet 08:00:27:4A:86:A6;
fixed-address 192.168.2.180;
}
}
3>分别在window.xp中和redhat5.4中进行测试
window.xp
redhat5.4
4>测试成功,windows.xp获得的是固定IP地址,如果重新获取之后,IP地址不变
redhat5.4获得的是随机的,linux搭建的 DHCP服务器,ip地址的分配是从最后一个向前分配的.
案例2. DHCP linux服务器配置超级作用域
如果一个公司中有许多的主机,而一个子网中没有那么多的IP地址,就需要使用增加子网的方法来解决这个问题,但是,如果两个子网的IP地址是不连续的,如192.168.2.210 192.168.2.230和192.168.3.100 192.168.3.120这两个子网的话,我们的解决方法是使用超级作用域,如下
拓朴图
1>在/etc/dhcpd.conf上开始配置DHCP服务器
.
2>配置如下
ddns-update-style none;
ignore client-updates;
shared-network test{
option domain-name "test.domain.org";
option domain-name-servers 222.85.85.85,222.88.88.88;
subnet 192.168.2.0 netmask 255.255.255.0 {
option domain-name "a.domain.org";
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option time-offset -18000;
range dynamic-bootp 192.168.2.210 192.168.2.230;
default-lease-time 21600;
max-lease-time 43200;
}
subnet 192.168.3.0 netmask 255.255.255.0 {
option domain-name "b.domain.org";
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
option time-offset -18000;
range dynamic-bootp 192.168.3.100 192.168.3.120;
default-lease-time 21600;
max-lease-time 43200;
}
3>重新启动dhcp之后,如果在第一个作用域的IP地址使用完之后,就会接着使用第二个作用域的IP地址.从而增加一个子网内的IP地址.