VMware虚拟机,Linux DHCP服务器配置过程。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

 


 

一、实验目标(以自身情况为准)

配置DHCP服务器中继,使多个子网的客户机可以通过服务器获取动态IP地址

 


 

二、所需配置

实验所需:

一台DHCP服务器(后面简称:服务器

一台DHCP中继(后面简称:中继

一台与服务器 同网段客户机(后面简称 客户机1

一台与服务器 不同网段客户机(后面简称 客户机2

一台路由器:可由中继代替,但 客户机2 需与 中继 在同一台虚拟机上(事实上 客户机2 与 服务器 处于 同一虚拟机 也可获取 动态IP,但如此 中继 便失去其作用)

 

实验采取方案:

这里使用 两台 虚拟机 ,每台虚拟机配置两个网络适配器(服务器与客户机1、中继与客户机2),配置网络适配器具体如下:

 

1、配置虚拟网络

若需要修改或添加虚拟网络,可以先打开左上角 > 编辑 > 虚拟网络编辑器

弹出窗口后点击右下角的更改设置

3c84c9df5bf7b35fc62b545d831f5338.png

本次实验本人使用虚拟网络 VMnet8(已有)和 VMnet3(待添加),实际实验中可自行选择。

 

VMnet8 事先已经更改好,子网为  192.168.10.0/24 ,NAT设置的网关为 192.168.10.2

点击添加网络,选择 VMnet3 > 确认 ,便加入VMnet3网络;NAT模式只有一个且用于VMnet8,所以 VMnet3 使用仅主机模式,子网地址分和 192.168.30.0/24  (子网地址可根据需求更改)

6e3f99d45e88eaafd0b29141b6561003.png

280d311bb66f713d0d031bc4dfad5ec6.png

PS. 仅主机模式一般只能与真机和虚拟机连通,无法连通外网,这也是我选择 VMnet8(NAT)作为服务器和中继虚拟网络的原因(便于安装 dhcp);

“使用本地DHCP服务将IP地址分配给虚拟机” 选项需要关闭,否则虚拟机开启DHCP协议将会从真机获取动态IP地址。

 

2、配置网络适配器(简称端口、网卡)

中继为例:右键虚拟机 > 设置 ,在设置窗口中点击 添加 > 选择网络适配器 > 完成 , 即可添加网络适配。

8e2f8e28d8100524e57df6b98376b1cc.png7559e96250e7fffbff7fa563264cc49f.png

接着在网络适配器选择 自定义 > 分别更改为 VMnet8 (中继) 和 VMnet3 (客户机2),然后点击确定即可。(服务器所在虚拟机两个网卡皆是 VMnet8

879a07b5454984badfd643f757e5befa.png

服务器所在的虚拟机在添加网络适配器后将两个适配器皆改为 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/ 24 192.168.30.254

PS. PREFIX (前缀) = 24 等效于 NETMASK (子网掩码) = 255.255.255.0;

PS. 给客户机1&2 配置静态仅为个人习惯,这样容易验证网络连通性。 

 

2、以服务器为例

开启虚拟机,登录 root 用户 ( 注意别登错用户 )。

右键桌面或左上角点击应用程序—系统工具,打开终端(Terminal),输入命令

[root@dhcp-server ~]# ifconfig            #查看有效网络接口状态

  ecef5a7e1a474883b54100b1c302a4db.png

确认网卡名为: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 地址,结果如下:

586fd3e835e23fd166cab7f2d156e80a.png

: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地址。结果如下:

f14750ca3f7ac4fa40564ac8d55c139c.png

中继所在的虚拟机网卡配置文件修改与其同理,按预设配置。(按实际实验需求配置) 

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       

37fd77b39f5490ef0be03ff916600cc2.png

文件中信息可理解为:模板文件为 dhcpd.conf.example 。并有提供其绝对路径,由于只需要该文件中的小部分模板,所以这里没有整个 copy。

打开另一个终端,输入

[root@dhcp-server ~]# vim /usr/share/doc/dhcp*/dhcpd.conf.example        #进入 dhcpd.conf.example 配置文件

进入该文件后复制红框内模板复制粘贴进 dhcpd.conf 即可

fc4686f7f3e2aab611f07b60b7c85cde.png1bf328ba627fe84a1952b3096bc670e1.png

有两个网段,所以第二张图需粘贴两次;修改相关配置,在第二个网段为客户机2保留IP地址。(注意“ ; ” 、“ { ” 和 “ } ”)

6de728f43b3e5902d2e2587774ff4d09.png 

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 获取

2092e52b30bb5cf3e224db046ac4e01a.png

 

 dhcp -t 查错,下图为无错误截图

896ee9bc9ec9fc706af57e0dd53c23e5.png 

[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成功

4ce3dfadca3609abe69eb2751a8dc9ea.png

[root@dhcp-server ~]# dhclient ens36    #为 ens36网卡 获取 动态IP地址
[root@dhcp-server ~]# ifconfig ens36    #查看ens36网络状态

成功则客户机1获取到 地址池中第一个 IP地址(在无其它虚拟机抢占IP时,否则按顺序获取)

73e08d70716fea303f3fbca0249a397d.png

 


 五、配置DHCP中继

1、安装DHCP(中继)

首先确认是否能连通外网ping www.baidu.com

1d7883ae183b3fa6704c39260c3585e4.png

[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配置文件

输入红框内容  

c74e95760492f4da63e06a5f03cc5777.png

# 192.168.10.10 为远程 DHCP服务器 的 IP地址
# -i ens33 为中继监听 DHCP请求 的端口

中继配置到此结束。

 

2、路由配置

一般有默认路由表 ,可使用 route -n 查看

e93acd33fc6ec11b6bcb9f0c3238eef2.png

若没有则使用

[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 

8a52856667c3836e42890df240190a03.png

 

两台虚拟机互相 ping 对方:

#客户机2 需要明确源地址
[root@dhcp-relay ~]# ping -l [源地址] [目标地址] -c [ping 的次数]

  56075c28767c7f267950031e7348c47d.png

 

服务器直接 ping 就行  083ce07c5c22e0d3845db1a99206ca64.png

 

3、跨网段测试(获取动态IP)

2824318d341b99cef13949802e521295.png

获取动态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数据包 也能通过防火墙,可能是该系统版本的防火墙安全性较低,亦或是其他原因;
#若需严谨,可添加。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值