DHCP

来源:互联网 发布:激光脱毛仪 知乎 编辑:程序博客网 时间:2024/05/21 10:38

一.概述

1.DHCP(Dynamic Host Configuration Protocol)可以为客户端计算机提供网络参数,使其自动设置网络的功能;

2.通过DHCP的管理,在同一网络中很少会出现IP冲突的情况;

3.DHCP可以通过MAC的比对来提供Static IP(或称为固定IP),否则通常向客户端分配Dynamic IP(动态IP);

4.DHCP除了Static IP和Dynamic IP之外,还可以提供租约行为的设置;

5.在租约期限到期之前,客户端dhcp软件就会主动要求更新(约0.5,0.85倍租约时间左右);

6.DHCP可以提供的Dynamic IP,Static IP和租约期限等,都是在dhcpd.conf这个文件中设置的;

7.一般情况下,用户需要自行设置dhcpd.leases这个文件,不过,真正的租约文件记录是在:/var/lib/dhclient/dhclient-eth0/leases里面;

8.DHCP服务与DNS服务的相关性很高;

9.若DHCP客户端取得IP的速度太慢,或许可以找一下有网管功能的Switch的STP设定值。


二.DHCP的工作方式

1.客户端(端口为68):利用广播数据包发送搜索DHCP服务器的数据包:

若客户端网络设置使用DHCP协议取得IP,则当客户端开机或是重新启动网卡时,客户端主机会发送出查找DHCP服务器的UDP数据包给所有物理网段内的计算机,此数据包的目标IP是255.255.255.255;


2.服务端(端口为67):提供客户端网络相关的租约以供选择

当服务端收到客户端的请求后,会针对客户端的MAC地址与本身的设置数据来进行下列工作:

1)到服务器的日志文件中查找该用户之前是否曾经租用过某个IP,若有且该IP目前无人使用,则提供此IP给客户端;

2)若配置文件针对该MAC地址提供特定固定的IP,则提供该固定IP给客户端;

3)若不符合上述两个条件,则随机选取当前没有被使用过的IP参数给客户端,并记录下来;


3.客户端:决定选择DHCP服务器提供的网络参数租约并向服务器确认:

由于局域网内可能并非只有一台DHCP服务器,客户端又只能接受一组网络参数,因此客户端需要选择是否要认可该服务器提供的网络参数,当决定好使用此服务器的网络参数后,客户端便使用这组网络参数来配置自己的网络,没有被接受的服务器会回收提供的IP;


4.服务器端:记录该次行为并向客户端发送响应数据包信息以确认客户端的使用:

当服务器收到客户端的确认选择后,服务器会回送确认的响应数据包,并且告知客户端这个网络参数租约的期限,开始计时,直到租约到期,到期有以下几种情况:客户端脱机,客户端租约到期。


三.DHCP给客户端分配网络参数:Dynamic IP和Static IP

1.固定IP(Static IP):只要客户端的MAC地址不变,DHCP可以根据MAC地址给予固定的IP参数,这种情况比较适合这台客户端计算机需要用来作为网络内的一些服务器主机的情况(IP需要固定);


2.动态IP(Dynamic IP):DHCP服务器从地址池中随机选取IP参数并提供给客户端;


3.租约期限:避免IP被客户端一直占用,但客户端却是限制的状态。目前的DHCP客户端程序大多都会主动依据租约时间去重新申请IP,所以并不用担心是否需要在固定时间之后手动去申请IP;


四.架设DHCP服务器

1.需要架设DHCP的情况

1)具有相当多的移动设备的场合;

2)局域网内计算机相当多的时候;


2.不需要架设DHCP的情况

1)在网络中的很多计算机,都是作为主机的用途,很少有用户需求;

2)网络中计算机很少;

3)不支持DHCP协议时;

4)用户的计算机水平都很高。


五.DHCP服务器配置

1.主要配置文件

/etc/dhcp/dhcpd.conf:DHCP的主配置文件,不一定存在,可能需要手动创建;

/var/lib/dhcp/dhcpd.leases:DHCP服务器与客户端租约建立的起始与到期时间都是记录在这个文件中;


2.主配置文件/etc/dhcp/dhcpd.conf的语法

1)#为注释符号

2)除了)后面之外,其他的每一行配置最后都要以“;”(分号)作为结尾;

3)配置项的语法形式主要是<参数代号> <配置内容>,如default-release-time 259200; ;

4)某些配置项必须以option来定义,基本形式为option <参数代码> <配置内容>,如option domain-name "domain_name"; ;


3.配置文件主要分为两块,一个是服务器运行的全局设置(Global),一个是IP分配设置(动态或固定):

1)全局配置:

default-rease-time 时间:默认的租约时间,单位为秒;

max-lease-time 时间:最大租约时间,用户要求的租约时间若超过此设置值,以此值为准;

option domain-name "域名":为客户端指定DNS名字;

option domain-name-servers IP1、IP2:为客户端指定DNS的IP;

ddns-update-style 类型:通过ddns来更新主机名与IP的对应关系;

option routers 路由器的地址:指定默认网关;

option subnet-mask 子网掩码:为客户端设定子网掩码;


2)IP分配设置

subnet NETWORK_IP netmask NETMASK_IP {...}

range IP1 IP2:指定能提供的IP地址的范围;

host 主机名 {...}:指定固定IP对应到固定MAC的设置值,{}内为MAC与固定的IP:

hardware Ethernet 硬件地址:利用MAC地址来固定IP;

fixed-address IP地址:给予一个固定的IP;


六.例

vim /etc/dhcp/dhcpd.conf

#全局设置

ddns-update-style none;=========>不要更新DDNS的设置;

ignore client-updates; =========>忽略客户端的DNS更新功能;

default-lease-time 259200;=========>设置默认租约时间为3天;

max-lease-time 518400;=========>设置最大租约时间为6天;

option routers 192.268.100.254;==========>设置网关为192.168.100.254;

option domain-name "centos.vbird"==========>设置域名;

option domain-name-servers 168.95.1.1, 139.175.10.20 ==========>DNS的IP设置,该设定值会修改/etc/resolv.conf文件内容;


#关于动态分配IP

subnet 192.268.100.0 netmask 255.255.255.0 { ==========>DHCP待分配地址的区域;

rang 192.168.100.101 192.168.100.200; ==========>分配的IP地址范围;

#关于固定的IP

host win7 { ===========>指定客户端主机名

hardware ethernet 11:11:11:11:11:11;   ==========>客户端主机的MAC地址;

fixed-address 192.168.100.30; ==========>固定的IP地址;

}

}


七.DHCP服务的启停

/etc/init.d/dhcpd start/stop

chkconfig dhcpd on


八.Linux系统的客户端的配置

在网卡配置文件下:BOOTPROTO=dhcp

/etc/init.d/network restart



参考:《鸟哥的Linux私房菜--服务器架设篇》(第三版)

1 0
原创粉丝点击