DHCP服务安装与配置实训操作说明
一 安装DHCP服务
1)加载redhat安装镜像rhel-server-6.5-x86_64-dvd.iso到Vmware的光驱后,执行mount /dev/cdrom /mnt/cdrom 挂载光驱到/mnt/cdrom目录,如果/mnt/cdrom目录不存在,先要执行mkdir /mnt/cdrom创建该目录
2)检查当前Linux系统是否已经安装过DHCP服务,执行rpm -qa | grep dhcp,如果没有出现dhcp-4.1.1-38.P1.el6.x86_64,则说明没有安装过DHCP服务,如果出现了类似dhcp-4.1.1-38.P1.el6.x86_64的程序名称(注意32位和64位系统的程序名称不同),说明已经安装过DHCP服务,建议卸载并重新安装,执行 rpm -e dhcp-4.1.1-38.P1.el6.x86_64进行卸载
3)安装DHCP服务,先执行cd /mnt/cdrom/Packages切换到dhcp-4.1.1-38.P1.el6.x86_64.rpm安装包所在目录,再执行rpm -ivh dhcp-4.1.1-38.P1.el6.x86_64.rpm进行DHCP服务的安装(注意32位和64位系统的安装包名称不同)
4)安装完成后,执行rpm -qa | grep dhcp,如果出现dhcp-4.1.1-38.P1.el6.x86_64,则说明DHCP服务安装成功,安装成功后会发在/usr/sbin/目录会发现有一个文件名为dhcpd的二进制可执行程序文件。
二 配置DHCP服务
1)为了避免防火墙和selinux对dhcpd服务生效产生影响,可以执行service iptables stop和setenforce 0两个命令关闭防火墙和selinux
2)修改Vmware的网络适配器的网络连接模式为自定义Vmnet1仅主机,修改Vmware的虚拟网络编辑器,取消Vmnet1的【使用本地DHCP服务器将IP地址分配该虚拟机】的打钩,并点【确定】
3)配置之前,首先执行service dhcpd start尝试启动DHCP服务,会提示dhcpd守护进程启动FAILED,原因是没有对DHCP服务进行配置,因此需要先配置
4)先执行cd /etc/dhcp/命令进入dhcp目录,再执行cp dhcpd.conf dhcpd.conf_bak命令备份dhcpd.conf文件,再执行cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf命令,将dhcpd服务的模板文件dhcpd.conf.sample拷贝到/etc/dhcp目录
5)执行gedit dhcpd.conf,启动gedit文本编辑器,将配置文件dhcpd.conf的前几个subnet声明前面加“#”注释掉,并修改最后一个subnet的声明如下(只修改红色字体即可,且必须修改):
# A slightly different configuration for an internal subnet.
subnet 192.168.94.0 netmask 255.255.255.0 {
range 192.168.94.200 192.168.94.210;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 192.168.116.2;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;}
主要是修改子网IP地址,该子网地址和Linux虚拟机加入的虚拟网络Vmnet1的IP地址相同,例如192.168.94.0
DHCP分配的IP地址池范围可自定义,例如192.168.94.200~ 192.168.94.210
三 启动DHCP服务
1)先执行service dhcpd start命令尝试启动DHCP服务,如果出现提示dhcpd守护进程启动OK,说明dhcpd服务启动成功(启动DHCP服务时,eth0接口必须先设置一个固定的IP地址并激活,否则dhcpd服务会启动失败,该固定IP也必须是同一个网段,例如固定IP设置为192.168.94.222)
service dhcpd stop停止dhcp服务,service dhcpd status查看dhcp服务运行状态
2) 进入redhat的网络配置图形界面,将eth0接口设置为Automatic(DHCP)自动获取IP
3) 先执行ifconfig eth0查看当前eth0接口的当前IP地址是多少,然后依次执行ifconfig eth0 down和ifconfig eth0 up命令重启eth0网络接口,再执行ifconfig eth0命令,eth0接口激活后,观察一下eth0接口的IP地址是否变成了dhcpd.conf 文件中配置的IP地址池中的IP地址,例如192.168.94.200,是则说明dhcpd服务已成功动态分配了一个IP地址给虚拟机linux(DHCP服务成功启动后,也可以给自身所运行在的主机分配IP地址)
4) 激活实体机WIN7的虚拟网卡VMware Network Adapter VMnet1,并在的IPv4属性中设为自动获得IP地址,稍等片刻后,观察该接口的IP地址是否变成dhcpd.conf 文件中配置的IP地址池中的IP地址,例如192.168.94.201,是则说明dhcpd服务已生效并动态分配了一个IP地址给实体机WIN7
5)启动第2台虚拟机Linux,也加入同一个虚拟网络Vmnet1,运行于第1台Linux的DHCP服务也能给第2台Linux动态分配IP地址
四 给特定主机分配固定IP地址
1)如果想把某台特定主机与某个IP地址绑定,必须知道该主机的MAC地址,例如要给虚拟机Linux分配固定IP地址,首先要查看Linux的MAC地址,可以输入ifconfig命令进行查看,其中HWaddr 00:0C:29:68:53:4F 为MAC地址
2)如需要给虚拟机Linux分配固定一个IP地址,例如192.168.94.18,可以在dhcpd.conf配置文件中,添加红色字体的配置信息:
subnet 192.168.94.0 netmask 255.255.255.0 {
range 192.168.94.200 192.168.94.210;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 192.168.116.2;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
host localhost{
hardware ethernet 00:0C:29:68:53:4F;
fixed-address 192.168.94.18;
}
}
其中hardware ethernet 00:0C:29:68:53:4F为特定主机的MAC地址,fixed-address 192.168.94.18为要分配给其的固定IP地址
3)接着执行service dhcpd restart重新启动dhcp服务,再依次执行ifconfig eth0 down和ifconfig eth0 up命令重启eth0网络接口,再输入ifconfig eth0查看eth0的IP地址,如果变成了dhcpd.conf 文件中配置的固定IP地址,例如192.168.94.18,则说明DHCP服务成功给特定主机了分配固定IP地址
4)重复1)2)3)步骤操作,尝试给WIN7分配固定IP地址,请注意Windows系统的MAC地址分隔符是“-”,Linux系统的MAC地址分隔符是“:”
实训后思考:
1)本次实训是三个Linux知识点的层层递进,第一个是Linux服务的配置,DHCP服务必须先正确配置后才能启动成功,第二是Linux网络基本配置,必须DHCP服务所绑定的网卡即eth0接口处于激活状态,DHCP服务才能启动成功;第三个虚拟网络的概念,运行dhcp服务的主机和待分配IP的主机,必须加入同一个子网才能实现动态获取IP地址
2)实训扩展:在机房环境中,将虚拟机的虚拟适配器设置为桥接模式,将虚拟机Linux桥接到机房的局域网中,在Linux上运行DHCP服务,理论上可以给机房所有电脑动态分配IP地址,前提是机房所有电脑都设置为自动获取IP