分类: LINUX
2013-07-05 16:30:32
在Internet域名必须对应一个IP地址,而IP地址不一定有域名。域名与IP地址之间是一对一(或者多对一)关系。域名虽然便于记忆,但机器之间是通过IP地址访问,域名和IP地址之间的转换称为域名解析。域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS是域名系统(Domain Name System)的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存网络中所有主机的域名和对应的IP地址,并具有将域名转换为IP地址功能的服务器。
DHCP是Dynamic Host Configuration Protocol(动态主机配置协议)缩写,前身是BOOTP。DHCP可以说是BOOTP的增强版本,它分为两个部份:一个是服务器端,另一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的 DHCP要求;而客户端则会使用从服务器分配的IP环境数据。
当DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何IP数据设定,它会向网络发出一个DHCP DISCOVER封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为0.0.0.0,而目的地址则为255.255.255.255,然后再附上DHCP DISCOVER信息以及MAC地址等,向网络进行广播。
DHCP服务器监听到客户端发出的DHCP DISCOVER广播后,从还没有租出的IP地址范围内选择最前面的空置IP,响应给客户端一个DHCP OFFER封包。根据服务器端的设置,DHCP OFFER 封包会包含一个租约期限的信息。
如果客户端收到网络上多台DHCP服务器的响应,只会挑选其中一个DHCP OFFER(通常是最先抵达的那个),并且会向网络发送一个DHCP REQUEST广播封包,告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP地址。同时客户端还会向网络发送一个ARP封包,查询网络上面有没有其它机器使用该IP地址;如果发现该IP已经被占用,客户端则会送出一个DHCP DECLIENT封包给DHCP服务器,拒绝接受其DHCP OFFER,并重新发送DHCP DISCOVER信息。
当DHCP服务器接收到客户端的DHCP REQUEST之后,会向客户端发出一个DHCPACK响应,以确认IP租约的正式生效,也就结束了一个完整的DHCP工作过程。
(1)源码安装
从其官方网站()下载dhcp-4.2.0-P1.tar.gz或更高版本。
# tar zxvf dhcp-4.2.0-P1.tar.gz 解压源码
# cd dhcp-4.2.0-P1 进入目录
# mkdir /usr/local/dhcp 创建安装目录
# ./configure --prefxi=/usr/locl/dhcp 配置
# make 编译
# make install 安装
(2)二进制RPM包安装
通过网站()查找最新的DHCPD包dhcp-4.2.0-14.P1.fc14.i686.rpm
# rpm -qpl dhcp-4.2.0-14.P1.fc14.i686.rpm 查询安装目录文件
# rpm -ivh dhcp-4.2.0-14.P1.fc14.i686.rpm 安装
# yum install dhcp 也可以通过yum工具自动下载安装
目录文件 |
说明 |
/usr/sbin/dhcpd |
系统服务程序 |
/etc/dhcpd.conf |
系统配置文件 |
/etc/init.d/dhcpd |
启动脚本 |
/var/lib/dhcpd/dhcpd.lease |
租约文件 |
配置DHCP服务器主要是修改配置文件/etc/dhcpd.conf,配置文件的主要参数:
(1)DHCP配置文件中的参数parameters:表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。
参数 |
说明 |
ddns-update-style |
配置DHCP-DNS互动更新模式 |
default-lease-time |
指定确省租赁时间的长度,单位是秒 |
max-lease-time |
指定最大租赁时间长度,单位是秒 |
hardware |
指定网卡接口类型和MAC地址 |
server-name |
指定DHCP服务器名称 |
get-lease-hostnames flag |
检查客户端使用的IP地址 |
fixed-address ip |
分配给客户端一个固定的地址 |
authritative |
拒绝不正确的IP地址的要求 |
(2)DHCP配置文件中的声明declarations:用来描述网络布局、提供客户的IP地址等。
声明 |
说明 |
shared-network |
用来告知是否一些子网络分享相同网络 |
subnet |
描述一个IP地址是否属于该子网 |
range 起始IP 终止IP |
提供动态分配IP地址的范围 |
host 主机名称 |
参考特别的主机 |
group |
为一组参数提供声明 |
allow unknown-clients;deny unknown-client |
是否动态分配IP给未知的使用者 |
allow bootp;deny bootp |
是否响应激活查询 |
allow booting;deny booting |
是否响应使用者查询 |
filename |
开始启动文件的名称 |
next-server |
设置从服务器, |
(3)DHCP配置文件中的选项option:用来配置DHCP可选参数。
选项 |
说明 |
subnet-mask |
为客户端设定子网掩码 |
domain-name |
为客户端指明DNS名字 |
domain-name-servers |
为客户端指明DNS服务器IP地址 |
host-name |
为客户端指定主机名称 |
routers |
为客户端设定默认网关 |
broadcast-address |
为客户端设定广播地址 |
ntp-server |
为客户端设定网络时间服务器IP地址 |
time-offset |
为客户端设定和格林威治时间的偏移时间 |
# vi /etc/dhcpd.conf 编辑配置文件,以下为文件内容
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.201 192.168.1.222;
option domain-name-servers hongdy.net;
option domain-name "hongdy.net";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 21600;
max-lease-time 43200;
host ns {
hardware ethernet 52:54:AB:34:5B:09;
fixed-address 192.168.1.9;
}
}
配置中动态分配的IP地址范围是:192.168.1.128 – 192.168.1.255
对其中MAC地址为”52:54:AB:34:5B:09”的机器分配固定IP地址。
# /etc/init.d/dhcpd start/restart/stop 启动/重启/停止DHCP服务
客户端PC机可以通过静态方式设置IP地址,也可以通过DHCP方式动态获得IP地址。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑文件,以下为内容
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0F:EA:72:14:12
ONBOOT=yes
# /etc/init.d/network restart 重新启动网络
重启网络或每次开机时系统都通过DHCP动态获得IP地址。