提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
-
一、实验目标(以自身情况为准)
-
二、所需配置
-
三、静态IP配置
-
四、配置DHCP服务器
-
五、配置DHCP中继
-
六、防火墙配置
一、实验目标(以自身情况为准)
配置DHCP服务器与中继,使多个子网的客户机可以通过服务器获取动态IP地址。
二、所需配置
实验所需:
一台DHCP服务器(后面简称:服务器)
一台DHCP中继(后面简称:中继)
一台与服务器 同网段客户机(后面简称 客户机1)
一台与服务器 不同网段客户机(后面简称 客户机2)
一台路由器:可由中继代替,但 客户机2 需与 中继 在同一台虚拟机上(事实上 客户机2 与 服务器 处于 同一虚拟机 也可获取 动态IP,但如此 中继 便失去其作用)
实验采取方案:
这里使用 两台 虚拟机 ,每台虚拟机配置两个网络适配器(服务器与客户机1、中继与客户机2),配置网络适配器具体如下:
1、配置虚拟网络
若需要修改或添加虚拟网络,可以先打开左上角 > 编辑 > 虚拟网络编辑器;
弹出窗口后点击右下角的更改设置。
本次实验本人使用虚拟网络 VMnet8(已有)和 VMnet3(待添加),实际实验中可自行选择。
VMnet8 事先已经更改好,子网为 192.168.10.0/24 ,NAT设置的网关为 192.168.10.2 ;
点击添加网络,选择 VMnet3 > 确认 ,便加入VMnet3网络;NAT模式只有一个且用于VMnet8,所以 VMnet3 使用仅主机模式,子网地址分和 192.168.30.0/24 (子网地址可根据需求更改)
PS. 仅主机模式一般只能与真机和虚拟机连通,无法连通外网,这也是我选择 VMnet8(NAT)作为服务器和中继的虚拟网络的原因(便于安装 dhcp);
“使用本地DHCP服务将IP地址分配给虚拟机” 选项需要关闭,否则虚拟机开启DHCP协议将会从真机获取动态IP地址。
2、配置网络适配器(简称端口、网卡)
以中继为例:右键虚拟机 > 设置 ,在设置窗口中点击 添加 > 选择网络适配器 > 完成 , 即可添加网络适配。
接着在网络适配器选择 自定义 > 分别更改为 VMnet8 (中继) 和 VMnet3 (客户机2),然后点击确定即可。(服务器所在虚拟机两个网卡皆是 VMnet8 )
服务器所在的虚拟机在添加网络适配器后将两个适配器皆改为 VMnet8 网络。(服务器需与中继同网段;客户机1代表直接从服务器获取动态IP的主机,所以需与服务器同网段。)
三、静态IP配置
1、配置预设(IP/子网掩码 ,网关)
服务器:192.168.10.10/ 24 ,192.168.10.20 ;
中继 :192.168.10.20/ 24 , 192.168.10.2 ;
客户机1:192.168.10.11/ 24 ,192.168.10.2 ;
客户机2:192.168.30.11/ 24 ,192.168.30.254 。
PS. PREFIX (前缀) = 24 等效于 NETMASK (子网掩码) = 255.255.255.0;
PS. 给客户机1&2 配置静态仅为个人习惯,这样容易验证网络连通性。
2、以服务器为例
开启虚拟机,登录 root 用户 ( 注意别登错用户 )。
右键桌面或左上角点击应用程序—系统工具,打开终端(Terminal),输入命令
[root@dhcp-server ~]# ifconfig #查看有效网络接口状态
确认网卡名为:ens33 和 ens36 ,实际实验中请以实际显示为准。
虚拟机默认拥有 ens33 网卡与其配置文件,而新加入的ens36网卡没有配置文件,需要添加。
[root@dhcp-server ~]# cd /etc/sysconfig/network-scripts #进入网卡配置文件所在文件夹
[root@dhcp-server network-scripts]# vim ifcfg-ens33 #进入 ens33网卡 配置文件
进入 ifcfg-ens33 配置文件,将 BOOTPROTO 的值改为 static ,并添加静态 IP 地址,结果如下:
:wq 保存退出
PS. ONBOOT有些版本默认为 no ,需改为 yes。
[root@dhcp-server network-scripts]# nmcli con show #查看网卡接口的uuid
#获得下方信息:
NAME UUID TYPE DEVICE
ens33 40b12189-4c13-4875-a658-51255aac7cc5 ethernet ens33
有线连接 1 3369ab3e-9f1e-3d88-a484-9d024af32052 ethernet ens36
#新添加的 ens36 网卡配置文件是空白的,所以需要复制 ens36 网卡的 uuid 待添加
# uuid 以实际实验为准
[root@dhcp-server network-scripts]# cp -a ifcfg-ens33 ifcfg-ens36 #将ens33配置文件内容复制到ens36
[root@dhcp-server network-scripts]# vim ifcfg-ens36 #进入 ens36网卡 配置文件
进入ifcfg-ens36配置文件,将 NAME、DEVICE 的值从 ens33 改为 ens36 ,UUID的值改为 ens36 的 uuid 并配置静态IP地址。结果如下:
中继所在的虚拟机网卡配置文件修改与其同理,按预设配置。(按实际实验需求配置)
IP地址配置完成后两台虚拟机都需要重启网络
[root@dhcp-server network-scripts]# systemctl restart network #重启网络协议
四、配置DHCP服务器
1、安装DHCP(服务器)
[root@dhcp-server network-scripts]# cd #回到初始目录
[root@dhcp-server ~]# ping www.baidu.com #ping百度确认能否连接外网,为安装dhcp准备
PING www.a.shifen.com (157.148.69.74) 56(84) bytes of data.
64 bytes from 157.148.69.74 (157.148.69.74): icmp_seq=1 ttl=128 time=8.85 ms
From gateway (192.168.10.20): icmp_seq=2 Redirect Host(New nexthop: gateway (192.168.10.2))
64 bytes from 157.148.69.74 (157.148.69.74): icmp_seq=2 ttl=128 time=8.14 ms
From gateway (192.168.10.20): icmp_seq=3 Redirect Host(New nexthop: gateway (192.168.10.2))
#因为网络 VMnet8 的网关为 192.168.10.2 ,所以服务器连通外网的路径为:本机 > 192.168.10.20 > 192.168.10.2 > 外部网络 > www.baidu.com
确认可连外网后就可以安装DHCP了
[root@dhcp-server ~]# yum -y install dhcp* #安装dhcp*
#安装完成后查看已安装的软件包
[root@dhcp-server ~]# rpm -qa|grep dhcp* #查看dhcp*安装的软件包
dhclient-4.2.5-83.el7.centos.1.x86_64
dhcp-libs-4.2.5-83.el7.centos.1.x86_64
dhcp-devel-4.2.5-83.el7.centos.1.x86_64
dhcp-common-4.2.5-83.el7.centos.1.x86_64
dhcp-4.2.5-83.el7.centos.1.x86_64
2、配置DHCP服务器
打开配置文件 绝对路径:/etc/dhcp/dhcpd.conf
[root@dhcp-server ~]# vim /etc/dhcp/dhcpd.conf
文件中信息可理解为:模板文件为 dhcpd.conf.example 。并有提供其绝对路径,由于只需要该文件中的小部分模板,所以这里没有整个 copy。
打开另一个终端,输入
[root@dhcp-server ~]# vim /usr/share/doc/dhcp*/dhcpd.conf.example #进入 dhcpd.conf.example 配置文件
进入该文件后复制红框内模板复制粘贴进 dhcpd.conf 即可
有两个网段,所以第二张图需粘贴两次;修改相关配置,在第二个网段为客户机2保留IP地址。(注意“ ; ” 、“ { ” 和 “ } ”)
option domain-name XXX; :服务器名称
option domain-name-servers X.X.X.X; :DNS服务器
default-lease-time 600; :默认租约时间
max-lease-time 7200; :最长租约时间
subnet X.X.X.X netmask X.X.X.X { :子网网段 子网掩码
range X.X.X.X X.X.X.X; :动态IP地址池
option routers X.X.X.X; :路由IP
}
host client2 { :客户机名称
hardware ethernet X:X:X:X:X:X; :客户机_MAC地址
fixed-address X.X.X.X; :保留_IP地址
}
}
客户机2 的 MAC地址 可以通过 ifconfig ens36 获取
dhcp -t 查错,下图为无错误截图
[root@dhcp-server ~]# systemctl restart dhcpd #重启dhcp服务
[root@dhcp-server ~]# systemctl enable dhcpd #开机自启动,可开可不开
3、测试
[root@dhcp-server ~]# dhclient ens36 -r #配置静态IP的情况下可能不能释放成功,则使用 ip addr flush ens36
[root@dhcp-server ~]# ifconfig ens36 #或者ip addr show ens36 查看客户机1是否释放IP成功
[root@dhcp-server ~]# dhclient ens36 #为 ens36网卡 获取 动态IP地址
[root@dhcp-server ~]# ifconfig ens36 #查看ens36网络状态
成功则客户机1会获取到 地址池中第一个 IP地址(在无其它虚拟机抢占IP时,否则按顺序获取)
五、配置DHCP中继
1、安装DHCP(中继)
首先确认是否能连通外网:ping www.baidu.com
[root@dhcp-relay ~]# yum -y install dhcp* #安装dhcp*
#安装完成后查看已安装的软件包
[root@dhcp-relay ~]# rpm -qa|grep dhcp* #查看dhcp*安装的软件包
dhclient-4.2.5-83.el7.centos.1.x86_64
dhcp-libs-4.2.5-83.el7.centos.1.x86_64
dhcp-devel-4.2.5-83.el7.centos.1.x86_64
dhcp-common-4.2.5-83.el7.centos.1.x86_64
dhcp-4.2.5-83.el7.centos.1.x86_64
[root@dhcp-relay ~]# cp /usr/lib/systemd/system/dhcrelay.service /etc/systemd/system/ #将模板文件整个复制到 /etc/systemd/system/ 里
[root@dhcp-relay ~]# vim /etc/systemd/system/dhcrelay.service #进入dhcrelay.service配置文件
输入红框内容
# 192.168.10.10 为远程 DHCP服务器 的 IP地址
# -i ens33 为中继监听 DHCP请求 的端口
中继配置到此结束。
2、路由配置
一般有默认路由表 ,可使用 route -n 查看
若没有则使用
[root@dhcp-relay ~]# route add 192.168.10.0/24 gw 192.168.10.2
或
[root@dhcp-relay ~]# route add 192.168.10.0 netmask 255.255.255.0 gw 192.168.10.2
#上述 IP 按序依次对应 Destination(目标网段) , Genmask(前缀或掩码) , Gateway(网关)
开启数据包转发
[root@dhcp-relay ~]# vim /etc/sysctl.conf #进入sysctl.conf配置文件
或
[root@dhcp-relay ~]# sysctl -w net.ipv4.ip_forward=1 #直接将 net.ipv4.ip_forward=1 加入sysctl.conf
在 sysctl.conf 尾部输入 net.ipv4.ip_forward=1
两台虚拟机互相 ping 对方:
#客户机2 需要明确源地址
[root@dhcp-relay ~]# ping -l [源地址] [目标地址] -c [ping 的次数]
服务器直接 ping 就行
3、跨网段测试(获取动态IP)
文章来源:https://www.toymoban.com/news/detail-476787.html
获取动态IP地址成功 且为 正确的保留IP,实验圆满结束。文章来源地址https://www.toymoban.com/news/detail-476787.html
六、防火墙配置
1、配置防火墙通过协议、端口
firewall-cmd --permenant --add-service=dhcp #永久添加DHCP协议进入防火墙
firewall-cmd --permenant --add-port=67/udp #永久添加 67/UDP端口 进入防火墙
firewall-cmd --permenant --add-port=68/udp #永久添加 68/UDP端口 进入防火墙
#--permenant 永久的 、--add-? 添加 、 --remove-? 删除
#正常情况下,不添加 DHCP协议或端口 DHCP数据包 也能通过防火墙,可能是该系统版本的防火墙安全性较低,亦或是其他原因;
#若需严谨,可添加。
到了这里,关于VMware虚拟机,Linux DHCP服务器配置过程。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!