你一定要会的,centos搭建dhcp服务(超详细~)

本文介绍了如何在CentOS上搭建DHCP服务,包括下载服务、配置网卡、设置本地yum源、配置DHCP文件以及测试分配IP地址的过程。通过配置DHCP,可以自动为网络中的设备分配IP地址、子网掩码、默认网关和DNS信息。
摘要由CSDN通过智能技术生成

centos搭建dhcp服务



前言

dhcp是什么意思?

dhcp即动态主机设置协议,是一个局域网的网络协议,使用UDP协议工作。主要是给网络快速自动地分配IP地址,DHCP能够帮助我们将IP地址和相关IP信息分配给网络中计算机。

dhcp还可以给设备上配置正确的子网掩码,默认网关和DNS服务器信息。由于这些功能,现在几乎每台连接到网络的设备都配置了dhcp。

DHCP通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

dhcp有以下四个功能:

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。

  2. DHCP应当可以给用户分配永久固定的IP地址。

  3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。

  4. DHCP服务器应当向现有的BOOTP客户端提供服务。 dhpc的工作原理是将IP地址和IP信息“出租”给网络客户端一段时间。因此DHCP客户端必须通过一系列DHCP消息与DHCP服务器进行交互,主要包括DHCP
    DISCOVER,DHCP OFFER,DHCP REQUEST和DHCP ACK。


好了,废话少说,我们直接开干

  • 环境:vmware 虚拟机
  • 数量:2
  • 节点:controller compute
  • 网卡模式:net
    见图
    在这里插入图片描述

下载dhcp服务

配置网卡

[root@controller ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c9:be:62 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.11/24 brd 192.168.10.255 scope global dynamic ens33
       valid_lft 85476sec preferred_lft 85476sec
    inet6 fe80::20c:29ff:fec9:be62/64 scope link
       valid_lft forever preferred_lft forever
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
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="f7c83436-f055-442c-9425-64a1209d659e"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.10.11"         #固定ip
PREFIX="24"                    #子网掩码24位
GATEWAY="192.168.10.2"         #网关

网卡配置完成后我们直接下载服务

[root@controller ~]# yum install dhcp -y

步骤没问题哦,如果你有报错会有两个原因
1.有网环境:网卡配置出错,未能连接外网
2.无外网环境:未配置本地yum源

  • 其实有没有网配置本地yum都可以下载(本来想找外链,想想质量分还是自己写吧)

配置本地yum源

先挂镜像

[root@controller ~]# mount /dev/cdrom /mnt/  #挂载镜像
mount: /dev/sr0 写保护,将以只读方式挂载
[root@controller ~]# mkdir /opt/centos       #创建一个文件夹
[root@controller ~]# cp /mnt/* /opt/centos/  #镜像内容复制到文件夹

再写yum.repo文件

[root@controller ~]# vim /etc/yum.repos.d/centos.repo

[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[root@controller ~]# yum clean all && yum repolist
源标识                                       源名称                                                              状态
centos                                       centos                                                               4,070

ok,回去下载吧

配置dhcp文件

复制一个模板

[root@controller ~]# find / -name dhcpd.conf.example
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
[root@controller ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

编辑文件

vim /etc/dhcp/dhcpd.conf

配置文件中你会看到许多这种
subnet 192.168.10.0 netmask 255.255.255.0{
}
这个是你要分配的子网,他跟你网卡的网段是一样的,如果你要分配两个或者多个子网的时候你需要有对应数量的网卡哦那么到时候配置文件就是这样的
subnet 192.168.10.0 netmask 255.255.255.0{
}
subnet 192.168.20.0 netmask 255.255.255.0{
}
subnet 192.168.30.0 netmask 255.255.255.0{
}
那么我这里仅作例子只写一个

subnet 192.168.10.0 netmask 255.255.255.0{
  range 192.168.10.50 192.168.10.100;      #子网范围
  option domain-name-servers 8.8.8.8;      #dns
  option domain-name "internal.example.org";   #域名
  option routers 192.168.10.2;             #网关
  option broadcast-address 10.5.5.31;      
  default-lease-time 600;
  max-lease-time 7200;
}

关于配置文件的解读呢,我偷了张图出处
在这里插入图片描述

开启服务

[root@controller ~]# systemctl restart dhcpd
[root@controller ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

测试

首先我们要将vmware的dhcp关掉
在这里插入图片描述
下面来到客户机也就是compute
没别的意思,打开dhcp就行了
BOOTPROTO=“dhcp”

[root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"    
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="d5677465-8888-4277-abff-db622fefb6bd"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"

然后重启网卡
再看ip
在这里插入图片描述
ok啦

[root@compute ~]# ping 192.168.10.11
PING 192.168.10.11 (192.168.10.11) 56(84) bytes of data.
64 bytes from 192.168.10.11: icmp_seq=1 ttl=64 time=0.364 ms
64 bytes from 192.168.10.11: icmp_seq=2 ttl=64 time=0.488 ms
64 bytes from 192.168.10.11: icmp_seq=3 ttl=64 time=0.527 ms
64 bytes from 192.168.10.11: icmp_seq=4 ttl=64 time=0.354 ms
^C
--- 192.168.10.11 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.354/0.433/0.527/0.077 ms
[root@compute ~]#

总结

那就到这啦,请叫我不待,拜拜~

你是不是很好奇为什么两台机器明明没什么关联他dhcp分配却能得到ip呢,其实选择相同的网卡也就相当与物理环境中使用同一根网线相连或在一个局域网中,那么我们的机器打开dhcp后会自动搜索局域网内的dhcp服务,发送请求这个时候他没有ip也就是0.0.0.0,说白了就是到处发,完事dhcp服务器收到请求会回复他,并且附上ip大礼包~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值