DHCP服务器的搭建与验证——超详细(在Vmware Workstation基于centos7.3/7.4)

前言:2020年,进入大二下学期,上学期学了一学期Linux基础,这学期,学的深入些。
第一个实验,搭建DHCP服务与验证,我实验的背景是在Vmware Workstation中新建了两个centos系统的虚拟机,一个centos7.4版本的作为服务器,一个centos7.3版本的作为客户机,如下图。DHCP服务器的搭建与验证——超详细(在Vmware Workstation基于centos7.3/7.4)_第1张图片
我参考的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后)地址。
DHCP服务器的搭建与验证——超详细(在Vmware Workstation基于centos7.3/7.4)_第2张图片
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。

注意:当一切工作都问题的话但是没收到预想的结果:那就改下这里吧,(我被这里坑了两天)

DHCP服务器的搭建与验证——超详细(在Vmware Workstation基于centos7.3/7.4)_第3张图片
把子网ip改为你要的那个段吧,并把 “使用本地dhcp服务将ip地址分配给虚拟机” ——这一项的对勾取消。

你可能感兴趣的:(Linux,dhcp服务器)