DHCP服务
全称(Dynamic Host Configuration Protocol),即:动态主机配置协议。为局域网中的主机分配IP地址,管理局域网中主机IP。并且可以配置其他TCP/IP信息,如:网关、DNS等。
作用与优点:管理IP,合理、有效的分配IP,避免IP冲突;减小工作量、减少输入错误。
使用范围:局域网。
局域网:使用同一个交换机连接起来,并且处于同一个网络的主机称为一个局域网。
局域网通行方式:广播、组播、单播
交换机转发广播、路由器隔离广播。
DHCP服务常见的应用:Modem中的HDCP,家庭路由器DHCP功能、PXE无人值守安装服务器、企业内部专门DHCP服务器等。
DHCP原理:采用C/S结构,分为服务器端和客户端。linux服务器使用 “ 67 ”号端口。
DHCP服务工作过程分为四大步:
(1)客户及以 广播 的方式向所有主机发起IP请求,称为:DHCP discover;
(2)所有收到请求包的DHCP服务器,以 单播的方式向请求客户机发送提供的相应数据包,称为:DHCP offer;
(3)DHCP客户端选择某台(默认为第一个Offer包服务器)提供DHCP服务器提供的IP,以 广播的形式回应数据包,称为:DHCP request;
(4)服务器确认租约,以 单播的方式回应给客户端,称为:DHCP ack。
DHCP服务器的配置
(1)安装软件包:
[root@station228 ~]# yum install dhcp -y |
(2)相关配置文件
/etc/dhcpd.conf 主配置文件
/etc/sysconfig/dhcpd 指定开放dhcp服务的端口
/var/lib/dhcpd/dhcpd.lease 服务器租约文件
主配置说明,默认为空,需要拷贝 /usr/share/doc/dhcp*/dhcpd.conf.sample模版文件
主要文件/etc/dhcpd.conf选项说明:
======================================
ddns-update-style interim; 全局配置,定义所支持的DNS动态更新类型,默认临时
ignore client-updates; 全局配置,是否忽略客户端DNS更新,使用默认
subnet 192.168.0.0 netmask 255.255.255.0 { 定义一个可提供IP的网端,该网段必须存在于本机的某块网卡上。
option routers 192.168.0.1; 分配给客户端的默认路由,即网关。
option subnet-mask 255.255.255.0; 网关掩码
option nis-domain "domain.org"; NIS域信息,一般不使用
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;
range dynamic-bootp 192.168.0.128 192.168.0.254; 定义可分配给客户的IP范围
default-lease-time 21600; 默认租约时间
max-lease-time 43200; 最大租约时间
# we want the nameserver to appear at a fixed address
host ns { 保留地址的主机,该主机对应指定Ip
next-server marvin.redhat.com; 用于指定tftp服务器,网络引导时才需使用
hardware ethernet 12:34:56:78:AB:CD; 指定主机的mac地址
fixed-address 207.175.42.254; 指定分配的IP地址
}
}
=========================================================
配置示例:
[root@station228 ~]# cat /etc/dhcpd.conf ddns-update-style interim; ignore client-updates; subnet 10.1.1.0 netmask 255.255.255.0 { option routers 10.1.1.18; option subnet-mask 255.255.255.0; option domain-name "sxke.com"; option domain-name-servers 10.1.1.1; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; range dynamic-bootp 10.1.1.128 10.1.1.148; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address host ns { next-server marvin.redhat.com; hardware ethernet 12:34:56:78:AB:CD; fixed-address 207.175.42.254; } } |
=========================================================
网络接口配置文件说明:/etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=
默认为空,代表所有的接口,如果需要指定,可指定eth0,eth1等。
===========================================================
租约日期文件:/var/lib/dhcpd/dhcpd.leases
lease 10.1.1.148 {
starts 5 2012/11/30 17:33:32;
ends 5 2012/11/30 23:33:32;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:8b:7c:7f;
}
向mac地址为 “00:0c:29:8b:7c:7f ”提供了一个10.1.1.148的IP。并记录了分配时间和到期时间。
DHCP客户端的使用:
配置网卡配置文件为DHCP获取IP方式:”BOOTPROTO=DHCP“即可
#cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep BOOTPROTO BOOTPROTO=dhcp |
重启客户端网络网络服务:
#service network restart
或
#/etc/init.d/network restart
客户端记录的DHCP服务器分配信息:
cat /var/lib/dhclient/dhclient-eth0.leases
lease {
interface "eth0"; 接口
fixed-address 10.1.1.148; 获取的IP
filename "/tftpboot/pxelinux.0";
option subnet-mask 255.255.255.0; 子网掩码
option time-offset 8000;
option routers 10.1.1.1;
option dhcp-lease-time 21600;
option dhcp-message-type 5;
option domain-name-servers 10.1.1.1;
option dhcp-server-identifier 10.1.1.228; 提供服务的DHCP服务器
option ntp-servers 10.1.1.1;
option domain-name "cluster.com";
renew 5 2012/11/30 20:06:32;
rebind 5 2012/11/30 22:51:49;
expire 5 2012/11/30 23:36:49;
}
dhclint——客户端端手工获取DHCP服务器IP命令
dhclient -r eth0 释放获取的IP
dhclinet eth0 重新获取IP