0


VMware虚拟机,Linux 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/ 24192.168.10.20

中继192.168.10.20/ 24192.168.10.2

客户机1192.168.10.11/ 24192.168.10.2

客户机2192.168.30.11/ 24192.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配置文件,将 NAMEDEVICE 的值从** 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地址
  }
}

客户机2MAC地址 可以通过** 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)

获取动态IP地址成功 且为 正确的保留IP,实验圆满结束。


六、防火墙配置

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数据包 也能通过防火墙,可能是该系统版本的防火墙安全性较低,亦或是其他原因;
#若需严谨,可添加。
标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/Line_IQ/article/details/130090365
版权归原作者 Line_IQ 所有, 如有侵权,请联系我们删除。

“VMware虚拟机,Linux DHCP服务器配置过程。”的评论:

还没有评论