您的位置:首页 > 理论基础 > 计算机网络

DHCP网络服务器的实现

2010-07-23 08:43 232 查看
DHCP是进行动态主机配置的网络协议,他的结构中具有服务器和客户机两种角色。
说一下DHCP的工作原理:
当DHCP客户端第一次登录网络,他会想网络发出一个DHCP DISCOVER包,包的来源地址为:0.0.0.0 目的地址为255.255.255.255,当DHCP服务器监听到此广播包后,他会在自己的地址池中选择最前面的空置IP,连同其他TCP/IP设定以DHCP offer封包的形式发送给客户,包中包含一个组约期限的信息,客户端接收到此广播包,并发出一个DHCP request广播包,用来相应服务器端发出的DHCP offer包,DHCP服务器端接收到此广播包,会向客户端发出一个DHCPACK 响应,以确认 IP 租约的正式生效,也就结束了一个完整的 DHCP 工作过程。
地址分配
Manual Allocation
网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期
Automatic Allocation
自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。
Dynamic Allocation
动态分配,当 DHCP 第一次从 DHCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。
理论知识我们简单的介绍到这儿,下面我们介绍安装步骤:
网络环境:








我们使用把redhat光盘放入光驱,然后执行如下步骤:


就此,DHCP Server算安装完毕。我们假如想看看RPM给我们安装了什么东西我们可以用rpm -ql dhcp 查看一下
修改hostname
hostname dhcp.staid.edu
vi /etc/sysconfig/network 修改hostname
vi /etc/hosts
[root@redhat10 ~]# 处的主机名是读取的/etc/sysconfig/network里面的hostname
临时ip的设置:[root@redhat10 ~]# ifconfig eth0 192.168.0.10 netmask 255.255.255.0
/etc/rc.d/init.d/dhcpd 服务器主程序
/etc/rc.d/init.d/dhcrelay 中继代理主程序
以下两个文件是dhcpd主程序和dhcrelay主程序的配置文件
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcrelay
/var/lib/dhcp/dhcpd.leases是租约主机信息数据库
首先我们拷贝一个配置文件:
[root@redhat10 log]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
我们看一下dhcpd.conf文件的内容
[root@redhat10 log]# cat /etc/dhcpd.conf
ddns-update-style interim; dhcp和dns的服务器可以协作 * 就是说当客户端
被分配完ip后,此客户端上的域名与ip地址的对应立马更新到dns服务器中,此句必须保留才能使得dhcpd正常启动
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
#声明用来描述dhcpd服务器中对网络布局的划分,是网络设置的逻辑范围
# --- default gateway
option routers 192.168.0.1;#网关
option subnet-mask 255.255.255.0; #子网掩码
# option nis-domain "domain.org";
# option domain-name "domain.org";
# option domain-name-servers 192.168.1.1; #DNS服务器地址
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1; #网络时间校正服务器地址
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.128 192.168.0.254; #地址池范围
default-lease-time 21600; #默认的租约时间
max-lease-time 43200; #最长租约时间
# we want the nameserver to appear at a fixed address 这个是单独对一个主机进行ip地址绑定
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
#此ip地址不能出现在地址池中
}
}
[root@redhat10 log]#
主机有多个网络接口时需要在文件中指定提供dhcp服务的网络接口
在/etc/sysconfig/dhcpd文件中设置
DHCPDARGS=eth0 表示eth0 是提供dhcp服务的网络接口名称
我们cat /var/lib/dhcp/dhcpd.leases 来查看哪儿个ip租给哪儿个mac地址。
下面我们设置DHCRELAY的网络环境及本身配置
首先设置linux路由器:
linux路由器的基础设置:两块网卡分别设置为不同的网段,同时把文件/proc/sys/ipv4/ip_forward 设置为1
netconfig -d eth0/1 设置ip地址,不用网关和dns
然后我们设置 dhcprelay
,在中继服务器上我们安装dhcp
, rpm -ivh dhcp-3.0.5-21-el5.i386.rpm
然后我们修改一个文件:
/etc/sysconfig/dhcrelay这个文件
interfaces="eth0"
设置eth0为中继服务器的网卡接口
DHCPSERVERS="192.168.0.2"
这个是dhcp的服务器ip地址
service dhcrelay restart
然后我们修改dhcp服务器的/etc/dhcpd.conf文件增加中继服务器所在的网段
copy
subnet 到最后那段,粘贴到最下方,然后参照上面的设置来修改成中继服务器所在的网段的数值,特别注意独立ip的那段的hostname要不同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息