前言:
之所以写这些教程一半是为了学习,一半是因为搜索相关教程的时候,发现能看的教程寥寥无几,有用的更是屈指可数,总体上可以说,教程数量多,但是有质量的真的太少太少了,所以也希望那些只是写着玩玩的就不要公布出来了,设置私密或者粉丝可看就行了
一、系统环境
二、服务安装
2.1、配置源
2.1.1、更换源文件
rm -f /etc/yum.repos.d/CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
2.1.2、建立索引
yum clean all
yum makecache
2.2、安装DHCP
yum install -y dhcp
三、配置DHCP
3.1.1、配置文件
echo 'echo -e "请输入子网[10.1.1.0]\n";read subnet
echo -e "请输入子网掩码[255.255.255.0]\n";read mask
echo -e "请输入起始IP[10.1.1.10]\n";read start
echo -e "请输入结束IP[10.1.1.20]\n";read end
echo -e "请输入路由地址[10.1.1.2]\n";read router
echo -e "subnet $subnet netmask $mask {\n\trange $start $end;\n\toption routers $router;\n}" > /etc/dhcp/dhcpd.conf' > set;bash set;cat /etc/dhcp/dhcpd.conf
3.1.2、配置文件解析
配置文件的语法如下:
subnet ${subnet} netmask ${mask} {
range ${start} ${end};
option routers ${routers};
}
- subnet:表示子网,都是0结尾,例如192.168.0.0
- mask:表示子网掩码,常用的是255.255.255.0,也就是24位掩码
- start:表示起始IP地址
- end:表示结束IP地址
- routers:表示路由地址
而我的配置文件就是
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.200 10.1.1.202;
option routers 10.1.1.2;
}
大致的意思就是:
- 我要配置的子网为10.1.1.0,
- 我的子网掩码为255.255.255.0,
- 分配的起始IP地址为10.1.1.200,
- 结束IP地址是10.1.1.202(也就是只有10.1.1.200,10.1.1.201,10.1.1.202这三个IP),
- 我的路由网关是10.1.1.2
3.2、启动服务
systemctl restart dhcpd
cat /etc/dhcp/dhcpd.conf
四、验证服务
4.1、查看当前DHCP已分配地址信息
cat /var/lib/dhcpd/dhcpd.leases
上图的信息显示,当前没有任何主机通过当前DHCP服务器进行IP获取,下面开始实验
4.2、关闭VM的DHCP服务
编辑->虚拟网络编辑器
扫描二维码关注公众号,回复:
10556701 查看本文章
4.3、使用另一台虚拟机进行IP获取
4.3.1、同时关闭VM的DHCP及服务器的DHCP服务
systemctl stop dhcpd
4.3.2、设置另一台虚拟机的网卡模式为关闭DHCP的模式(我的NAT)
4.3.3、临时禁用网卡
4.3.4、重新获取IP
从上图可以看到,IP获取失败了(因为我把本地DHCP和服务器配置的dhcp都关闭了)
4.4、启动服务器DHCP服务进行获取
4.4.1、启动DHCP服务
systemctl restart dhcpd
4.4.2、重新启用网卡进行IP获取
从上图可以看到,此时IP获取成功,获取服务来自10.1.1.3这个地址,也就是我们的DHCP服务器,这就说明DHCP服务配置成功了
4.4.3、查看IP分配信息
cat /var/lib/dhcpd/dhcpd.leases
从服务端可以看到,客户端的IP信息已经出现了。