DHCP服务搭建
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手。
DHCP有3个端口,其中UDP68和UDP67为正常的DHCP服务端口,分别作为DHCP Client(广播请求配置)和DHCP Server(回应广播请求)的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。
使用虚拟机做该实验,常见的问题:
1. 局域网里面出现多个 DHCP 服务器,比如vmware 里面没有把vmnet1 网段的dhcp 服务关闭,解决方法:
使用vmware 的Virtuan Network Editor 来设置vmnet1 的网段,关闭该网段的DHCP 服务(我实验主机的网络环境是 host-only/仅主机 模式,所以各位关闭的时候要注意下自己实验主机使用的是什么网络);
2. NetworkManager 服务干扰,解决方法:
# chkconfig --level 2345 NetworkManager off
# service NetworkManager stop
3. vmware上的vmnet1 的IP自动变化,导致该IP 与DHCP 服务器的配置文件不相符,解决方法:
使用vmware 的Virtuan Network Editor 来设置vmnet1 的网段,这样vmnet1 的IP 就会自动设置好了
一、基本搭建:
1、实验环境
1.1、 一台虚拟机做服务器,另外一台虚拟机做客户机,都连接到 host-only 网络vmnet1
1.2、用 vmware 的Virtual Network Editor 确保存在所需的 host-only 网络,并关闭 vmware 在相应网络的 dhcp 功能
2、实验准备(服务器端)
# service iptables stop --暂时关闭防火墙
# setenforce 0 --暂时关闭 selinux
# service NetworkManager stop --关闭网络管理服务
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static --服务器不使用dhcp获取IP
IPADDR=192.168.33.128 --我的host-only网络网段是: 192.168.33.0
GATEWAY=192.168.33.2 --vmware虚拟机里的网关一般是 XX.XX.XX.2
# yum install dhcp* --安装DHCP服务
3、简单配置dhcp
# vim /etc/dhcp/dhcpd.conf --一份最简单的配置,仅有下面几行。
allow bootp;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.33.0 netmask 255.255.255.0 {
option routers 192.168.33.2; --给 client 的默认网关
option subnet-mask 255.255.255.0; --给 client 的子网掩码
option domain-name "abc.com"; --给 client 的搜索域
option domain-name-servers 192.168.33.2; --给 client 的域名服务器
range dynamic-bootp 192.168.33.100 192.168.33.111; --可供分配的IP范围
}
# service dhcpd restart --重启 dhcp 服务
4、测试(client端)
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 --客户端在虚拟机中也要使用host-only网络模式
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp --获取IP地址方式为通过dhcp服务
# service network restart --重启网络
# ifconfig --确实从我们的DHCP服务器中获得了IP地址,而且还是范围内的第一个IP,100
inet addr:192.168.33.100 Bcast:192.168.33.255 Mask:255.255.255.0
--我们也可以做更进一步的测试,在服务器中将 DHCP 服务关闭。然后在到客户端上运行命令 service network restart ,会发现,一直卡在那里。
二、搭建多个局域网中的DHCP服务
1、实验环境
1.1、准备三台虚拟机,两张host-only模式的网卡,vmware默认有一张host-only模式的网卡VMnet1,我们再添加一张VMnet2,如下:
这样,一张新的 host-only 网卡添加成功,网段为 192.168.253.0 ; 记得去掉 vmware 自带的 DHCP服务。
1.2、物理机要连上 VMnet1&&VMnet2 两张网卡,两台虚拟机分别连上其中一张。
1.3、将三台机器网卡配置好
1.3.1、服务器如下(物理机有两张):
注意网卡设备名与MAC地址以及网段之间的对应关系。
1.3.2、客户机如下:
DEVICE=eth0
HWADDR=00:0C:29:02:B1:61
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
2、配置DHCP服务器
# vim /etc/dhcp/dhcpd.conf --配置多局域网服务
allow bootp;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.133.0 netmask 255.255.255.0 {
option routers 192.168.133.1;
option subnet-mask 255.255.255.0;
option domain-name "abc.com";
option domain-name-servers 192.168.133.3;
range dynamic-bootp 192.168.133.100 192.168.133.111;
}
subnet 192.168.253.0 netmask 255.255.255.0 {
option routers 192.168.253.1;
option subnet-mask 255.255.255.0;
option domain-name "def.com";
option domain-name-servers 192.168.253.3;
range dynamic-bootp 192.168.253.100 192.168.253.111;
}
# service dhcpd restart
3、测试(client端)
# service network restart --两台实验客户机重启网络
# ifconfig --查看IP地址,如下为连接网络 host-only (VMnet1)的主机IP
inet addr:192.168.133.100 Bcast:192.168.133.255 Mask:255.255.255.0
# ifconfig --查看IP地址,如下为连接网络 host-only (VMnet2)的主机IP
inet addr:192.168.253.100 Bcast:192.168.253.255 Mask:255.255.255.0
--我们也可以做更进一步的测试,在服务器中将 DHCP 服务关闭。然后在到客户端上运行命令 service network restart ,会发现,一直卡在那里。