DHCP服务器的搭建与验证——超详细(在Vmware Workstation基于centos7.3/7.4)
前言:2020年,进入大二下学期,上学期学了一学期Linux基础,这学期,感觉才算学了点有用的。第一个实验,搭建DHCP服务,与验证,我实验的背景是在Vmware Workstation中新建了两个centos系统的虚拟机,一个centos7.4版本的作为服务器,一个centos7.3版本的作为客户机。我参考的3个写的比较好的博客:(1)这个博客写了开机的设置,让我一开始想了半天不知道为什么...
前言:2020年,进入大二下学期,上学期学了一学期Linux基础,这学期,学的深入些。
第一个实验,搭建DHCP服务与验证,我实验的背景是在Vmware Workstation中新建了两个centos系统的虚拟机,一个centos7.4版本的作为服务器,一个centos7.3版本的作为客户机,如下图。
我参考的3个写的比较好的博客:
(1)这个博客写了开机的设置,让我一开始想了半天不知道为什么与预想结果不一致,原来是,要开机重启 ,。。。。耽误了好久时间,因为是做实验,并不是真的搭建dhcp服务器,所以不用设置开机自启。
(2)这个博客讲了搭建dhcp的原理和作用,但是,搭建完成后的验证是在虚拟机win7系统验证的,由于刚卸载winserver,。。。。,所以验证部分还是播客一比较好,但是与老师教的不同,播客一,用的是自带的网卡验证的,没有新建网卡,不过,问题不大。
(3)这个是新建网卡,配置并验证dhcp服务的。
(4)补充。
(5)补充。
实验步骤:
所用命令:
1 ifconfig
2 systemctl stop firewalld
3 setenforce 0
4 yum -y install dhcp
5 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
6 vim /etc/dhcp/dhcpd.conf
7 vim /etc/sysconfig/network-scripts/ifcfg-ens33
8 systemctl restart network.service
9 systemctl restart dhcpd.service
10 cat /var/lib/dhcpd/dhcpd.leases*
一:分配动态ip,即制定地址池里的ip
1,ifconfig查看ip地址,要注意的是ip(inet后)地址和mac(ether后)地址。
2,临时关闭防火墙以及关闭selinux
systemctl stop firewalld
setenforce 0
3,安装DHCP软件包(安装有很多方式,百度自选,可以用rpm -qa | grep dhcp验证)
yum -y install dhcp*
注意:虽然做实验时两台主机都在仅主机模式下,但仅主机模式无法联网,下载软件时要先把网络适配器改为NAT模式,下完dhcp再改为仅主机模式!。
4,配置DHCP——把系统默认的样例复制到/etc/dhcp/dhcpd.conf文件里(注意 /etc/dhcp/dhcpd.conf,这个路径cd一下看是否存在,不存在要新建)
把系统默认的样例复制到/etc/dhcp/dhcpd.conf文件里
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
5,修改配置文件
vim /etc/dhcp/dhcpd.conf
进入dhcpd.conf后进行修改,注意:
(1)给几个客户机分配就留几个subnet,我只开了一个客户机,所以我只留一个,别的全删了。
修改47-52行,(根据内容而定行数,我的只是样例),其余的可以删掉。
# vim /etc/dhcp/dhcpd.conf --修改配置文件
7 option domain-name "example.org"; --DNS域名
8 option domain-name-servers ns1.example.org, ns2.example.org; --DNS的域服务器
9
10 default-lease-time 600; --默认的租约时间,秒为单位
11 max-lease-time 7200; --最大的租约时间,秒为单位
14 #ddns-update-style none; --表示要不要把IP地址的更新情况告诉DNS服务器,默认是关闭的
22 log-facility local7; --定义日志服务,可以在日志配置文件中查看具体日志位置,默认是:/var/log/boog.log,但是在/var/log/messages里面也会记录dhcp日志
47 subnet 192.168.136.0 netmask 255.255.255.0 { --分配的网段及子网掩码,代表只在192.168.8.x这个C类网段里生效,子网掩码设为255.255.255.0
48 range 192.168.136.140 192.168.136.160; --代表给客户机分配可用的IP范围,起始到结束,尽量不要包含DHCP服务器的IP地址
49 option domain-name-servers 192.168.136.132; --配置要分配给客户端的DNS地址,这里我们设为DHCP服务器的IP地址
50 option domain-name "internal.example.org"; --DNS的域名
51 option routers 192.168.136.132; --配置分配给客户机的路由网关,这里我们设为DHCP服务器的IP地址
52 option broadcast-address 192.168.136.255; --给客户机指定广播地址,配置192.168.8.x这个网段的广播地址
53 default-lease-time 600; --指定租约时间,秒为单位
54 max-lease-time 7200; --指定最大租约时间,秒为单位
55 }
75 host fantasia { --将MAC地址和IP绑定,host后面的名字随意,如:fantasia
76 hardware ethernet 08:00:07:26:c0:a5; --MAC地址
77 fixed-address fantasia.fugue.com; --IP地址
78 }
85 class "foo" { --定义多个子网,class后面写组名
86 match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
87 }
88
89 shared-network 224-29 { --定义多个子网,要从大往小写
90 subnet 10.17.224.0 netmask 255.255.255.0 {
91 option routers rtr-224.example.org;
92 }
93 subnet 10.0.29.0 netmask 255.255.255.0 {
94 option routers rtr-29.example.org;
95 }
96 pool {
97 allow members of "foo";
98 range 10.17.224.10 10.17.224.250;
99 }
100 pool {
101 deny members of "foo";
102 range 10.0.29.10 10.0.29.230;
103 }
104 }
6 ,修改网卡文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
DEFROUTE=yes
…
…
ONBOOT=yes
GATEWAY=192.168.136.132
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY="no"
BOOTPROTO=static
ONBOOT=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=98e10e82-8926-4844-93ad-6b671b3ec65b
DEVICE="ens33"
ONBOOT=yes
GATEWAY=192.168.30.1
IPADDR=192.168.30.1
NETMASK=255.255.255.0
ARPCHECK=no
systemctl restart network.service --重启网卡
7,启动DHCP服务
systemctl restart dhcpd.service --重启DHCP服务
netstat -anlp | grep dhcpd --查看dhcp服务端口为67
8,用
cat /var/lib/dhcpd/dhcpd.leases
先查看分配出去的IP地址。若没问题,可以来到客户机验证
(以上操作都是在作为服务器的centos7.4虚拟机上做的!!!)
二:下面来到客户机验证
(1)把客户端机的网卡配置成dhcp,再重启网络服务
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp --网卡指定方式改为dhcp
...
ONBOOT=yes
TYPE="Ethernet"
BOOTPROTO=dhcp
DEFROUTE="yes"
NAME=ens33
UUID=641afec9-fcd3-41ff-b0af-4f93058f6076
DEVICE=ens33
ONBOOT="yes"
IPV4_FAILURE_FATAL=no
IPV6INIT=no
PEERDNS=no
PEERROUTES=yes
~
(2)systemctl restart network.service --重启网卡(当有多个网卡用ifdown 网卡名,ifup网卡名)
(3)重启网络
systemctl restart NetworkManager --重启这个服务,每次重启网络服务时,系统都会重新去DHCP服务 器上获取IP地址。
(4)ifconfig --查看IP是否为ip池里的ip!
二,分配固定ip
如果要求要分配固定IP的话:
1、修改dhcp配置文件
vi /etc/dhcp/dhcpd.conf
末尾新增:
host fantasia { ----主机声明,host后面的内容,可以自定义
hardware ethernet 00:0c:29:53:30:50; ----指定其它pc(客户机,打印机等)mac地址
fixed-address 192.168.80.188; ----要给客户机分配的固定地址
}
2,重启dhcp服务:
systemctl restart dhcpd
3,再次来到客户机验证
(1)把客户端机的网卡配置成dhcp,再重启网络服务
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp --网卡指定方式改为dhcp
...
...
NBOOT=yes
(2)systemctl restart network.service --重启网卡
(3)重启网络
systemctl restart NetworkManager --重启这个服务,每次重启网络服务时,系统都会重新去DHCP服务器上获取IP地址
(4)查看IP
ifconfig
–查看所分配的IP是否是我们在/etc/dhcp/dhcpd.conf中指定的固定的IP。
注意:当一切工作都问题的话但是没收到预想的结果:那就改下这里吧,(我被这里坑了两天)
把子网ip改为你要的那个段吧,并把 “使用本地dhcp服务将ip地址分配给虚拟机” ——这一项的对勾取消。
更多推荐
所有评论(0)