Centos DHCP服务搭建及测试

前言:

记录Centos学习!

DHCP服务作用

  • 为大量客户机自动分配地址,提供集中管理
  • 减轻管理和维护成本、提高网络配置效率

DHCP原理

  • 客户端寻找服务器
  • 服务器提供地址信息
  • 接受并广播
  • 服务器确认
  • 客户端重新登陆
  • 服务器确认

客户端发出的数据包会包括自己MAC地址主机名,以广播的方式发出去

DHCP相关配置

  • 端口 udp67 udp68
  • 服务 dhcpd dhrelay
  • 配置文件: /etc/dhcp/dhcpd.conf
  • 中继文件: /etc/sysconfig/dhcrealy

安装DHCP服务

由于是刚建的虚拟机,所以第一件事就是换源 (我使用的是Centos7)

这里我换成阿里源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

之后运行

yum clean all
yum makecache

生成缓存
进行下载

yum –y install dhcp
或者
yum  install dhcp

如果出现这个问题,下载不了就把插件给关掉
在这里插入图片描述

修改插件的配置文件
$vim /etc/yum/pluginconf.d/fastestmirror.conf
enabled = 0//由1改为0,禁用该插件

Centos DHCP服务搭建及测试_第1张图片

修改yum的配置文件
$vim /etc/yum.conf
plugins= 0//改为0,不使用插件

Centos DHCP服务搭建及测试_第2张图片
再进行下载,欧克下载成功
Centos DHCP服务搭建及测试_第3张图片

配置DHCP

查看主配置文件

cat /etc/dhcp/dhcpd.conf

Centos DHCP服务搭建及测试_第4张图片
复制模板文件到/etc/dhcp目录下

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

配置文件详解

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
这些所列举的例子对所有的作用域都是生效的
# option definitions common to all supported networks...(定义全局配置)
option domain-name "example.org";(用来定义客户端所属的域环境)
option domain-name-servers ns1.example.org, ns2.example.org;(DNS服务器的主机名或IP)

default-lease-time 600;(租约期限,单位是秒)
max-lease-time 7200;(最大租约时间)

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;(日志类型,日志类型是local7)

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

subnet 10.152.187.0 netmask 255.255.255.0 {
}
subnet 网络 nemtmask 子网掩码 {
选项或参数
}
# This is a very basic subnet declaration.(需要写基本的一些内容 如网段、子网、地址池)

subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;(网关)
}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

subnet 10.254.239.32 netmask 255.255.255.224 {
  range dynamic-bootp 10.254.239.40 10.254.239.60;
  option broadcast-address 10.254.239.31;
  option routers rtr-239-32-1.example.org;
}
#其实上面那么多注释以及代码都是举得如何配置的例子,你想要配置一个较好的DHCP,应该包含哪些内容
#下面的就是一个比较常见的声明,编辑的话应该按照这样进行编辑
# A slightly different configuration for an internal subnet.
subnet 10.5.5.0 netmask 255.255.255.224 {(第一个是网络、第二个是子网掩码)
  range 10.5.5.26 10.5.5.30;(地址池)
  option domain-name-servers ns1.internal.example.org;(DNS服务器,可以忽略)
  option domain-name "internal.example.org";(DNS域名,可以忽略)
  option routers 10.5.5.1;(网关)
  option broadcast-address 10.5.5.31;(广播地址)
  default-lease-time 600;(租约期限)
  max-lease-time 7200;(最大租约期限)
}
。。。。。。    
下面就是对特定主机进行设置,分配固定的IP,暂时用不到            

所以别看配置文件这么长,其实自己编辑时也就这么短,只保留一个作用域即可

编辑配置文件

vi /etc/dhcp/dhcpd.conf 

如下图:
Centos DHCP服务搭建及测试_第5张图片
配置好之后启动dhcp服务

systemctl start dhcpd

查看一下dhcp状态,看udp的67端口有没有起来

netstat -anptu | grep dhcp

在这里插入图片描述
至此DHCP服务已经搭建、配置已经完成,接下来就添加客户机来验证一下。

这里再记录一下常用的命令

#查看本机网关
route -n
#查看路由
ip route
#查看DNS
cat /etc/resolv.conf
#查看主机名
hostname
#查看MAC
ifconfig -a

连接测试(主机和客户机在同一网段)

第一次实验:
客户机:Centos7(无界面)
服务机:Centos7(有界面)

首先要确保两个机器在同一网段,要让客户机与服务器在同一个模式下,不然获取不到ip地址,因此虚拟机两个网络连接选择为仅主机模式
Centos DHCP服务搭建及测试_第6张图片
哇,在自己机器上这样实验,真的是有点心疼电脑,不过为了学习也没办法

为了使客户机能分配到IP,需要编辑网卡配置文件

$vi /etc/sysconfig/network-scripts/ifcfg-ens33

然后修改配置文件

ONBOOT=yes是指系统启动时激活此设备
BOOTPROTO=dhcp是指网卡的获取IP方式为dhcp
想要改成静态获取的,可以把这个值设为static

Centos DHCP服务搭建及测试_第7张图片
修改之后保存退出,然后重启网卡

$service network restart

在服务器端查看dhcp分配情况,发现

cat /var/lib/dhcpd/dhcpd.leases

Centos DHCP服务搭建及测试_第8张图片
分配出去了192.168.73.20,到客户机查看一下
Centos DHCP服务搭建及测试_第9张图片
测试成功

总结

搭建过程遇到了很多问题,并不是说配置有多难,而是之前的网卡有问题,导致一直无法重启,最后的方法就是重装一下Centos,解决百分百问题,这次就先学到这里,这次学习的只是在同一网段的DHCP搭建和分配,下次总结一下在不同网段,DHCP应该怎样进行配置。

你可能感兴趣的:(Linux,linux,网络)