01. 配置DHCP服务器

配置DHCP

先给server和client加一个VMnet1(仅主机模式)

同时因为我们自己要配dhcp,所以要把vmnet1的dhcp关掉

配置DHCP服务流程

1. 先配置一个固定的ip地址

bash 复制代码
[root@server ~ 20:08:57]# nmcli connection 
NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  0b3cd631-c756-3179-be17-1566c419a902  ethernet  ens33  
ens32               41804fd8-9a16-47cb-96fb-5d627b9b8ab6  ethernet  ens32    

[root@server ~ 21:07:33]# nmcli connection delete Wired\ connection\ 1 
Connection 'Wired connection 1' (0b3cd631-c756-3179-be17-1566c419a902) successfully deleted.

[root@server ~ 21:07:41]# nmcli connection
NAME   UUID                                  TYPE      DEVICE 
ens32  41804fd8-9a16-47cb-96fb-5d627b9b8ab6  ethernet  ens32  

[root@server ~ 21:07:47]# nmcli connection add type ethernet ifname ens33 con-name ens33 ipv4.method manual ipv4.addresses 10.1.1.10/24
Connection 'ens33' (66ae2751-4903-467f-9da2-4b13ade3e29f) successfully added.

[root@server ~ 21:08:09]# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens32            UP             10.1.8.128/24 10.1.8.10/24 fe80::20c:29ff:febc:b536/64 
ens33            UP             10.1.1.10/24 fe80::8f35:1b44:7601:ed1a/64
参数 含义
nmcli NetworkManager 的命令行管理工具,用于配置网络连接
connection add 核心子命令,功能是新增一个网络连接配置
type ethernet 指定连接类型为以太网(有线网络)
ifname ens33 指定绑定的网卡设备名称为 ens33(虚拟机常用网卡名)
con-name ens33 设置连接配置的名称为 ens33(可自定义,建议与网卡名一致方便管理)
ipv4.method manual 指定 IPv4 地址获取方式为手动配置(静态 IP) ,与之对应的是 auto(DHCP 自动获取)
ipv4.addresses 10.1.1.10/24 设置静态 IPv4 地址和子网掩码:- IP 地址:10.1.1.10- 子网掩码:/24 等价于 255.255.255.0

2. 安装软件包

bash 复制代码
[root@server ~ 19:29:23]# yum install -y dhcp

3. 查看下载的dhcp里包含那些文件

bash 复制代码
[root@server ~ 19:30:29]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases

4. 可以看到dhcp.conf文件里只有一些备注,因为还没有开始配置dhcp,相当于只是下载了一个外壳,还没有开始配置

bash 复制代码
[root@server ~ 19:30:49]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

5. 复制dhcp.conf

bash 复制代码
[root@server ~ 09:24:48]# /bin/cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
部分 作用
/bin/cp 指定使用cp命令的绝对路径(避免环境变量问题),核心功能是复制文件
/usr/share/doc/dhcp*/dhcpd.conf.example 源文件:DHCP 安装后自带的示例配置文件dhcp*是通配符,匹配dhcp开头的目录(如dhcp-4.2.5),适配不同版本的 DHCP 包
/etc/dhcp/dhcpd.conf 目标文件:DHCP 服务(dhcpd)的核心配置文件,服务启动时会读取这个路径

6. 配置服务器,例如修改服务器配置文件

bash 复制代码
[root@server ~ 19:31:08]# vim /etc/dhcp/dhcpd.conf
:set nu
gg光标定位到行首,然后d46G,删除前1-46行
:11,28d 删除11-28行
:15,$d 删除15-最后行
:%s/10.5.5/10.1.1/g,查看替换

最终效果如下:
subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.101 10.1.1.130;
  #option domain-name-servers 223.5.5.5,223.6.6.6;
  option domain-name "migaomei.cloud";
  #option routers 10.1.1.2;
  option broadcast-address 10.1.1.255;
  default-lease-time 600;
  max-lease-time 7200;
}

7. 启用服务并设置开机自启动

bash 复制代码
[root@server ~ 09:20:24]# systemctl enable dhcpd --now

8. 设置防火墙

bash 复制代码
[root@server ~ 09:42:16]# systemctl disable firewalld --now

9. 客户端验证

bash 复制代码
[root@client ~ 09:01:35]# nmcli c
NAME                UUID                                  TYPE      DEVICE 
ens32               41804fd8-9a16-47cb-96fb-5d627b9b8ab6  ethernet  ens32  
Wired connection 1  ae57b862-5db5-365d-82f9-888f5cb10b80  ethernet  ens33  
[root@client ~ 09:05:35]# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens32            UP             10.1.8.11/24 fe80::20c:29ff:fe1a:e4b0/64 
ens33            UP             10.1.1.101/24 fe80::c516:99d:ff41:72d3/64 

10. 根据mac地址绑定IP

例如00:0c:29:1a:e4:ba 绑定为10.1.1.11

先看一下硬件mac地址:

bash 复制代码
[root@client ~ 09:05:42]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:1a:e4:b0 brd ff:ff:ff:ff:ff:ff
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:1a:e4:ba brd ff:ff:ff:ff:ff:ff

DHCP 服务配置文件中的主机绑定条目,作用是为指定 MAC 地址的主机分配固定的 IP 地址

bash 复制代码
[root@server ~ 09:25:55]# vim /etc/dhcp/dhcpd.conf
subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.101 10.1.1.130;
  #option domain-name-servers 223.5.5.5,223.6.6.6;
  option domain-name "migaomei.cloud";
  #option routers 10.1.1.2;
  option broadcast-address 10.1.1.255;
  default-lease-time 600;
  max-lease-time 7200;
}

host fantasia {
  hardware ethernet 00:0c:29:1a:e4:ba;
  fixed-address 10.1.1.11;
}
参数 作用 注意事项
host fantasia 定义主机条目名称,仅用于配置文件可读性,可自定义 名称不能重复
hardware ethernet 指定主机的物理 MAC 地址 格式为 xx:xx:xx:xx:xx:xx,区分大小写
fixed-address 指定为该主机分配的固定 IP 地址 必须在 DHCP 服务的地址池范围内,且未被占用
bash 复制代码
[root@server ~ 09:20:19]# systemctl restart dhcpd

激活Wired connection 1 的网络连接配置文件**:**

bash 复制代码
[root@client ~ 09:19:39]# nmcli connection up Wired\ connection\ 1 #这条命令的作用是激活名为 Wired connection 1 的网络连接配置文件
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)

客户端验证:

bash 复制代码
[root@client ~ 09:22:06]# ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens32            UP             10.1.8.11/24 fe80::20c:29ff:fe1a:e4b0/64 
ens33            UP             10.1.1.11/24 fe80::c516:99d:ff41:72d3/64
复制代码
 UNKNOWN        127.0.0.1/8 ::1/128 

ens32 UP 10.1.8.11/24 fe80::20c:29ff:fe1a:e4b0/64

ens33 UP 10.1.1.11/24 fe80::c516:99d:ff41:72d3/64

复制代码
相关推荐
馨谙2 小时前
Linux面试题----文件权限,chmod,chown,suid,sgid,粘滞位,umask
linux·运维·服务器
这儿有一堆花2 小时前
CDN 工作原理:空间换取时间的网络架构
网络·架构·php
徐子元竟然被占了!!2 小时前
常用端口学习
运维·网络·学习
青衫客362 小时前
Linux 磁盘挂载全流程实战——从新盘初始化到安全开机自启
linux·运维·服务器
轻造科技3 小时前
设备点检系统+移动端APP:替代纸质点检表,漏检率降为0
网络·安全·web安全
Godspeed Zhao3 小时前
现代智能汽车中的无线技术26——Wi-Fi(14)
网络·汽车·智能路由器
在路上看风景3 小时前
01. 通信前置知识
网络
20年编程老鸟java+ai全栈3 小时前
零基础搞定开发环境:PHP + Node.js + MongoDB + Python 一键安装全攻略
python·mongodb·node.js·php
尼古拉斯·纯情暖男·天真·阿玮3 小时前
实验五 拒绝服务攻击实验
网络·智能路由器