DHCP是什么:动态主机配置协议(Dynamic Host Configuration Protocol),用tcp/ip协议自动分配信息给DHCP client。每一个DHCP客户端都连接到处于中心位置的DHCP server上,然后DHCP server 返回给client网络配置(ip 地址,网关,dns等)。
DHCP我们为什么要用:第一,DHCPserver可以自动分配给DHCPclient网络配置,这样当你要为公司几百台电脑配置他们的网络信息时,不至于累到死。然DHCP去做吧.第二,需要修改IP,等网络信息时。你不至于笨到一台一台改吧。你只要修改DHCP的配置文件,就可以轻松的完成工作。还有好多优点。
怎么用DHCP:这个是我们今天的重点。安装,配置,启用,实验。
测试环境,RHEL_x86-64 student20.redhat.com 2.6.32-71.el6.x86_64
DHCP安装:
##看来我已经装好了。
[root@studnet20 ~]# rpm -qa | grep dhcp*
dhcp-4.1.1-12.P1.el6.x86_64
DHCP配置:
DHCP-server配置:
安装好之后,DHCP会创建好配置文件,配置文件会有两份,一个是基于ipv4,一个是基于ipv6我们当然现在看ipv4的/etc/dhcp/dhcpd.conf,但是这个几乎是一个空文件。
################################################
# DHCP for IPv4 Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
# run 'service dhcpd start'
################################################
参看DHCP配置文件发现:我们可以看/usr/share/doc/dhcp*/dhcpd.conf.sample作为参考,说明:/usr/share/doc下是一个比较全的文档中心,虽然没有man那个全,没有info那么细致,但是它会给你样本example。README文档,发布版本等信息。
下面用配置实例来说明:
#####PXE_dhcpd.conf##########################
#DESCRIPTION:PXE_dhcpd.conf
#DATE:20120502
#AUTHOR:kikupotter
#BLOG:www.kikupotter.blog.51cto.com
#VERSION:1.0
############################################
allow booting;
allow bootp;
ddns-update-style none;
# The following lines are standard all of the time.下面这几行都是全局参数,在整个配置文件内生效。
#设置网关
option routers 192.168.0.110;
#设置子网隐码
option subnet-mask 255.255.255.0;
#名字服务器
option domain-name "redhat.com";
option domain-name-servers 192.168.0.110;
#如果客户机没有设置租约时间,默认分配一个租约时间给客户机
default-lease-time 21600;
#同上如果没有默认分配
max-lease-time 43200;
#定义网段
subnet 192.168.0.0 netmask 255.255.255.0 {
#定义NFS,用于PXE安装
filename "/var/ftp/pub/ks.cfg";
next-server student20.redhat.com;
# filename "/kickstart/virt_worstation.cfg
# nfs-server
# The following four lines provide an example of an IP
# address bound to a specific MAC.
#对指定mac地址的主机配置静态IP,下面是我机子上做实验的用PXE安装的主机。
host station28{
hardware ethernet 52:54:00:a5:64:9e;
fixed-address 192.168.0.71;
}
host station27{
hardware ethernet 52:54:00:88:ee:83;
fixed-address 192.168.0.70;
}
host station29{
hardware ethernet 52:54:00:fe:9f:5f;
fixed-address 192.168.0.72;
}
}
#PXE这一部分一定要写。跟上面那一部分联系起来,从网卡启动以后,DHCP client 从服务器获得IP地址,这个IP就是上面定义的。然后从指定的tftp-server上取得pxelinux.0的补丁文件。
option space PXE;
class "PXEclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
#where the next-server <server-ip> should be replaced with the IP address of the tftp server.
filename "pxelinux.0";
option tftp-server-name "student20.redhat.com";
}
##############################
启动DHCP:
[root@studnet20 ~]# service dhcpd start
Starting dhcpd: [ OK ]
每次修改完配置文件一定restart
[root@studnet20 ~]# service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]