17.1 DHCP服务
DHCP也叫做动态主机服务,它的作用主要是为网络中的主机主机提供IP地址服务的。Dhcp采用client/server模式,客户机请求,服务端响应。
17.1.1 dhcp工作原理
1.客户端向网络上广播dhcpdiscover包,内包含客户机的mac地址。
2.dhcp服务器收到客户机的dhcpdiscover包后,发送一个dhcpoffer广播包,内包含IP地址,dhcp服务器IP等内容。
3.客户机收到{dy}个dhcp服务器发送的dhcpdiscover包后,再以广播的形式发送一个dhcprequest包发给所有的dhcp服务器,内有一个DHCP服务器IP,说我以已经找到了一个DHCP了。
4.被选中的服务器再发一个dhcppak广播包确认此IP的发放。
这个IP地址可以使用一半租期的时间,超过一半时间应续租,如果过了一半时间后找不到DHCP服务器的话,可以再使用四分之一时间,然后就过期了。用户就不能通过此IP地址进行通信了。
17.1.2 dhcp服务安装
首先应确认dhcp服务的安装
rpm -q dhcp
package dhcp is not installed
没有安装,下面是dhcp的安装。
rpm -ivh dhcp-3.0pl1-23.i386.rpm dhcp的安装
warning: dhcp-3.0pl1-23.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [{bfb}]
1:dhcp ########################################### [{bfb}]
17.2 DHCP服务的配置
Dhcp服务的配置文件默认是没有的,需要在/etc手工创建dhcpd.conf文件。但是幸运的是,在安装dhcp服务时会为我们提供一个示例文件
/usr/share/doc/dhcp-3.0.1/dhcp.conf.sample
cp dhcp.conf.sample dhcpd.conf
将其复制为/etc/dhcpd.conf 并在其基础上进行修改配置。
17.2.1 dhcp单网配置文件
编辑dhcp配置文件为以下内容。具体的实际的环境的配置可以在以下配置文件的基础上进行修改,使其满足具体环境中的应用。
vi /etc/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;
}
}
17.2.2 dhcp超网配置文件
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; /*网关地址*/
}
}
17.2.3 dhcp中继代理
只要是安装了DHCP服务,也就自动安装了dhcp中继代理dhcrelay。
中继代理服务默认监听所有接口上的dhcp请求,也可以只是监听某一个网卡上的请求。
dhcp中继代理配置文件:
/etc/sysconfig/dhcrelay
vi /etc/sysconfig/dhcrelay
# Command line options here
INTERFACES="eth1 eth2"
DHCPSERVERS="192.168.1.1"
也可以通过以下命令方式来实现:
dhcrelay -i eth1 -i eth2 192.168.1.1
配置完成后,重新启动dhcp服务。
17.2.4 dhcp服务管理
dhcp服务安装好后没有开启,验证如下。
chkconfig --list |grep dhcpd
dhcpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
chkconfig --level 345 dhcpd on 设为开机自动运行
/etc/init.d/dhcpd restart 或service dhcpd restart 重启服务
17.3 DHCP客户端配置
17.3.1 windows客户端
略,设为自动获取IP即可。
17.3.2 linux客户端
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 开机时xx网卡
17.3.3 dhcp服务验证
1.服务器端验证
查看dhcp租约文件。
cat /var/lib/dhcp/dhcpd.leases
# This lease file was written by isc-dhcp-V3.0pl1
lease 192.168.1.100 {
starts 3 2009/01/21 12:26:31;
ends 4 2009/01/22 12:26:31;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:3b:20:d5;
}
查看系统日志文件
cat /var/log/messages
....
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: Listening on
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: Sending on
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: Sending on
Jan 21 20:25:23 linux 1月 21 20:25:23 dhcpd: dhcpd 启动 succeeded
Jan 21 20:26:30 linux dhcpd: DHCPDISCOVER from 00:0c:29:3b:20:d5 via eth0
Jan 21 20:26:31 linux dhcpd: DHCPOFFER on 192.168.1.100 to 00:0c:29:3b:20:d5 via eth0
Jan 21 20:26:31 linux dhcpd: DHCPREQUEST for 192.168.1.100 (192.168.1.8) from 00:0c:29:3b:20:d5 via eth0
Jan 21 20: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