linux DHCP

linux DHCP


1 DHCP服务

DHCP是Dynamic Host Configuration Protocol的缩写,中文译为动态主机分配协议,它是一个简化主机IP地址分配管理的TCP/IP标准协议,是基于C/S模式。本地网络DHCP客户机DHCP服务器IP地址数据库。

1.1 dhcp工作原理

【1】 客户端[UDP 68端口]向网络上广播dhcpdiscover包,内包含客户机的mac地址。
【2】 dhcp服务器收到客户机的dhcpdiscover包后,发送一个dhcpoffer广播包[UDP 67],内包含IP地址,dhcp服务器IP等内容。
【3】 客户机收到第一个dhcp服务器发送的dhcpdiscover包后,再以广播的形式发送一个dhcprequest包发给所有的dhcp服务器,内有一个DHCP服务器IP,说我以已经找到了一个DHCP了。
【4】 被选中的服务器再发一个dhcppak广播包确认此IP的发放。
这个IP地址可以使用一半租期的时间,超过一半时间应续租,如果过了一半时间后找不到DHCP服务器的话,可以再使用四分之一时间,然后就过期了。用户就不能通过此IP地址进行通信了。


dhcp


1.2 dhcp服务安装

首先应确认dhcp服务的安装

1
2
[root@zhinan~] rpm -qa|grep dhcp
package dhcp is not installed

没有安装,下面是dhcp的安装。

1
[root@zhinan~] yum intall dhcp

2 DHCP服务的配置

Dhcp服务的配置文件默认是没有的,需要在/etc手工创建dhcpd.conf文件。但是幸运的是,在安装dhcp服务时会为我们提供一个示例文件

1
2
3
4
5
[root@zhinan ~] ll /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
-rw-r--r--. 1 root root 3262 Aug 132002/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
 
[root@zhinan ~]cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf   
\\将其复制为/etc/dhcp/dhcpd.conf 并在其基础上进行修改配置。

2.1 dhcp单网配置文件

编辑dhcp配置文件为以下内容。具体的实际的环境的配置可以在以下配置文件的基础上进行修改,使其满足具体环境中的应用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
vi/etc/dhcp/dhcpd.conf
 
ddns-update-style interim;                 /*dhcp支持的dns动态更新方式*/
ignore client-updates;                     /*忽略客户端DNS动态更新*/
 
subnet 192.168.1.0 netmask 255.255.255.0 {/*作用域网段*/
 range 192.168.1.11 192.168.1.100;            /*ip地址段范围*/
 option routers 192.168.1.1;                  /*网关地址*/
 option subnet-mask 255.255.255.0;            /*子网掩码*/
 option domain-name "koumm.com";              /*域名*/
 option domain-name-servers 192.168.1.1,202.103.24.68; /*dns IP*/
 option broadcast-address 192.168.16.255;   /*广播地址*/
 default-lease-time 86400;                  /*租期1天,秒数*/
 max-lease-time 172800;                     /*最长租期2天*//*绑定pc1主机ip地址配置*/
host pc1 {              
  hardware ethernet 00:a0:cc:cf:9C:14; /*绑定机MAC地址*/
  fixed-address 192.168.1.20;         /*最长租期2天*/}
 host pc2 {
  hardware ethernet 04:20:c1:f8:37:11;
  fixed-address 192.168.1.30;
 }}

2.2 dhcp超网配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
vi/etc/dhcp.conf
 
ddns-update-style interim;      /*dhcp支持的dns动态更新方式*/
ignore client-updates;          /*忽略客户端DNS动态更新*/
 
shared-network mynet {/*超网作用域选项,共同部分*/
 option subnet-mask 255.255.255.0;            /*子网掩码*/
 option domain-name "koumm.net";              /*域名*/
 option domain-name-servers 192.168.1.2;      /*dns IP*/
 option broadcast-address 192.168.1.255;      /*广播地址*/
 default-lease-time 86400;                    /*租期1天,秒数*/
 max-lease-time 172800;                       /*最长租期2天*/
 
 subnet 192.168.1.0 netmask 255.255.255.0 {/*1.0子网段*/
  range 192.168.1.11 192.168.1.100;        /*ip地址段范围*/
  option routers 192.168.1.1;               /*网关地址*//*绑定pc1主机ip地址配置*/
host pc1 {
   hardware ethernet 00:a0:cc:cf:9C:14;
   fixed-address 192.168.1.20;
  }/*绑定pc2主机ip地址配置*/
  host pc2 {
   hardware ethernet 04:20:c1:f8:37:11;
   fixed-address 192.168.1.30;
  }}
 
 subnet 192.168.2.0 netmask 255.255.255.0 {/*2.0子网段*/
  range 192.168.2.10 192.168.2.100;         /*ip地址段范围*/
  option routers 192.168.2.1;                /*网关地址*/}
 
 subnet 192.168.3.0 netmask 255.255.255.0 {/*3.0子网段*/
  range 192.168.3.10 192.168.3.100;         /*ip地址段范围*/
  option routers 192.168.3.1;                /*网关地址*/}}

2.3 dhcp中继代理

只要是安装了DHCP服务,也就自动安装了dhcp中继代理dhcrelay。
中继代理服务默认监听所有接口上的dhcp请求,也可以只是监听某一个网卡上的请求。
dhcp中继代理配置文件:
/etc/sysconfig/dhcrelay

1
2
3
4
vi/etc/sysconfig/dhcrelay 
# Command line options hereINTERFACES="eth1 eth2"DHCPSERVERS="192.168.1.1"

也可以通过以下命令方式来实现:

1
dhcrelay -i eth1 -i eth2 192.168.1.1

配置完成后,重新启动dhcp服务。

1
service dhcpd restart

2.4 dhcp服务管理

dhcp服务安装好后没有开启,验证如下。

1
2
3
4
5
chkconfig --list|grep dhcpd
dhcpd     0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
 
chkconfig --level345 dhcpd on   设为开机自动运行
/etc/init.d/dhcpd restart 或service dhcpd restart   重启服务

3 DHCP客户端配置

3.1 windows客户端

略,设为自动获取IP即可。

3.2 linux客户端

1
2
3
4
5
6
7
8
9
10
vi/etc/sysconfig/network-scripts/ifcfg-eth0
 
DEVICE = eth0                网卡设备
BOOTPROTO = dhcp             动态ip设置就为DHCP        
BROADCAST = 192.168.1.255    广播地址
HWADDR = 00:0C:29:49:D0:59   MAC地址
IPADDR = 192.168.1.10        本机IP地址 
NETMAST = 255.255.255.0      子网掩码
NETWORK = 192.168.1.0        网络号
ONBOOT = yes                 开机时激活网卡

3.3 dhcp服务验证

1.服务器端验证
查看dhcp租约文件。

1
2
3
4
5
6
7
8
9
10
11
cat/var/lib/dhcp/dhcpd.leases
 
# This lease file was written by isc-dhcp-V3.0pl1
 
lease 192.168.1.100 {
  starts 32009/01/2112:26:31;
  ends 42009/01/2212:26:31;
  binding state active;
  next binding state free;
  hardware ethernet 00:0c:29:3b:20:d5;
}

查看系统日志文件

1
2
3
4
5
6
7
8
9
10
cat/var/log/messages
....
Jan 2120:25:23 linux  1月 2120:25:23 dhcpd: Listening on 
Jan 2120:25:23 linux  1月 2120:25:23 dhcpd: Sending on   
Jan 2120:25:23 linux  1月 2120:25:23 dhcpd: Sending on   
Jan 2120:25:23 linux  1月 2120:25:23 dhcpd: dhcpd 启动 succeeded
Jan 2120:26:30 linux dhcpd: DHCPDISCOVER from 00:0c:29:3b:20:d5 via eth0
Jan 2120:26:31 linux dhcpd: DHCPOFFER on 192.168.1.100 to 00:0c:29:3b:20:d5 via eth0
Jan 2120:26:31 linux dhcpd: DHCPREQUEST for 192.168.1.100 (192.168.1.8) from 00:0c:29:3b:20:d5 via eth0
Jan 2120:26:31 linux dhcpd: DHCPACK on 192.168.1.100 to 00:0c:29:3b:20:d5 via eth0

2.客户端验证
ip地址验证:ifconfig
网关:/etc/sysconfig/network
dns: /etc/resolv.conf



本文固定链接: http://www.fengzhinan.com/linux-dhcp.html | 志南・Blog


你可能感兴趣的:(linux,DHCP)