基于 Linux 的 DHCP 服务器的实现
说明:本实验在一台实体计算机上,通过GNS3网络仿真软件和VirtualBox虚拟化软件完成;实体计算机的操作系统是Windows 7,已安装GNS3软件(版本为1.3.11)和 VirtualBox 软件(版本为 5.0.8);本实验中虚拟机所用的 CentOS 7 的镜像文件为 CentOS-7-x86_64-Minimal-1503-01.iso , Windows 7 镜...
说明:
-
本实验在一台实体计算机上,通过GNS3网络仿真软件和VirtualBox虚拟化软件完成;
-
实体计算机的操作系统是Windows 7,已安装GNS3软件(版本为1.3.11)和 VirtualBox 软件(版本为 5.0.8);
-
本实验中虚拟机所用的 CentOS 7 的镜像文件为 CentOS-7-x86_64-Minimal-1503-01.iso , Windows 7 镜像文件为 Windows 7 (32bit).iso; 4. 本实验中的二层交换机采用的镜像为 c3640-ik9o3s-mz[1].124-25c.bin,此镜像已 经装载入 GNS3 3. 本实验中虚拟机所用的 CentOS 7 的镜像文件为 CentOS-7-x86_64-Minimal-1503-01.iso , Windows 7 镜像文件为 Windows 7 (32bit).iso; 4. 本实验中的二层交换机采用的镜像为 c3640-ik9o3s-mz[1].124-25c.bin,此镜像已 经装载入 GNS3。
拓扑设计:
本实验的网络拓扑结构如图 所示。其说明如下:
(1)实验中的 DHCP 服务器是部署在 CentOS 7 操作系统上的;
(2)Host-1~Host-3 是客户主机,作为 DHCP 客户端,用于测试 DHCP 服务的效果;
(3)SW 是一台二层交换机;
(4)整个网络只有一个网段(即 DHCP Server 与客户主机在同一网段),不含 VLAN。
注意:
- 用户主机 Host-1~Host-3 作为 DHCP 的客户端,其 IP 地址都被设置成“自动获得”。 此处 Host-1 的 IP 地址规划为 10.0.100.*/24,表示在本实验中,Host-1 将获得 10.0.100.0/24 网段中的某个地址(具体由 DHCP 作用域确定),其他主机同理。
- 此处的网关地址和 DNS 地址,表示用户主机从 DHCP 服务器获得的相关地址。
- 本实验中,用虚拟机 DHCP Server 作为 DHCP 服务器。该服务器地址必须为静态地址。
本实验中 DHCP Server 与客户主机在同一网段,因此 DHCP 服务器所分配的 IP 地址 必须与服务器本身的地址属于同一网段,否则会出现客户主机获取不到 IP 地址的情况。
新建虚拟机 DHCP Server 并安装 CentOS 7
(1)创建虚拟主机 创建虚拟主机,主机名为“DHCP Server”,类型为“Linux 2.6/3.x/4.x(64bit)” ,内存大小为 512MB,硬盘大小为 8GB,导入 CentOS 7 的镜像文件,将网络连接方式设为“桥接网卡”。
注意:
由于本实验中 DHCP Server 要在线安装 DHCP 服务,所以必须连通互联网,因此此 处将其网卡【连接方式】设为“桥接网卡”。 当完成在线安装,并接入 GNS3 中的网络时, 需要再次启动 VirtualBox,将此虚拟机网卡的【连接方式】改为“未指定”,否则该虚拟 机无法在 GNS3 中正常启动。
(2)查看虚拟机 DHCP Server 的网卡信息
由于虚拟机 DHCP Server(已安装 CentOS 7 操作系统)需要在线安装 DHCP 服务,因此,首 先查看其网卡信息,以确认是否获得有效的 IP 地址。
登录成功后,可首先通过 ip addr 命令查看本机 IP 地址。
# ip addr
//查看 IP 地址。 CentOS 7 中默认使用 ip 命令来进行 IP 地址相关操作,不再安装 ifconfig 命令。ip 命令和 ifconfig 命令一样,但是功能更加强大,并旨在取代后者。
从图 中可以看出,网卡的名字为“enp0s3”, 暂无 IP 地址,无法上互联网。因此,接下来 需要对网络配置文件进行修改,使网卡“enp0s3”获得有效 IP 地址,从而可以访问互联网。
注意:不同的计算机,其网卡名可能不一样,在实体计算机上进行相关操作时要注意。
(3)修改 DHCP Server 的网卡配置文件
此处修改网卡配置文件的目的有两个。一是设置网卡获得 IP 地址的方式;二是在配置文件中 写入有效的 IP 地址信息。
注意:
- 此处所谓的“有效的 IP 地址”,是指能够使 DHCP Server 虚拟机访问互联网的 IP 地 址。该地址信息可以从网络管理员处获得,具体情况要根据实验环境的实际情况而定。 此处,将 DHCP Server 的 IP 地址设置为静态 IP 地址,IP 为 192.168.31.100/24,网 关为 192.168.31.1。
- 此处的地址设置仅用于在线安装DHCP服务的任务,与本实验任务1里网络规划中DHCP 服务器地址的设计无关。
查看网卡配置件名
# ls /etc/sysconfig/network-scripts/
//ls 用于显示指定目录下的文件(夹)列表。
使用 ls 命令查看网卡配置文件所在的目录,可以看到其中的文件(夹)列表。其中,文件名 为“ifcfg-enp0s3”的文件就是本虚拟机的网卡配置文件。
(4)查看网卡配置文件内容
此处使用 vi 命令查看网卡配置文件 ifcfg-enp0s3 的初始内容。所用命令及 ifcfg-enp0s3 文件的 初始内容如下。
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
//vi 命令用于查看/编辑指定文件的内容,以下为 ifcfg-enp0s3 文件的内容。
TYPE=Ethernet
//本网卡的类型为以太网网卡
BOOTPROTO=dhcp
//IP 地址的获得方式为 dhcp(即动态获取)
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
//网络连接名字是 enp0s3(根据网卡配置文件名的实际情况,此处的名字可能不同)
UUID=5c0d1d00-0ba6-4140-a025-d47f36b0efd3 DEVICE=enp0s3
//本设备名是 enp0s3(根据网卡配置文件名的实际情况,此处的设备名字可能不同)
ONBOOT=no
//不配置开机启动
(5) 修改网卡配置文件的内容
修改时要注意
1、使用 vi 打开配置文件后,需按一下键盘上的字母“I”键,才能进入编辑状态。编辑 完成后,需按一下键盘上的“Esc”键先退出编辑状态,然后输入“:wq”并回车进行保存 (“ :q”表示放弃存盘)。
2、编辑时注意区分大小写,例如“IPADDR=”不能写成“ipaddr=”。
网卡配置文件 ifcfg-enp0s3 修改后的结果如下
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
//此处将 IP 地址的获得方式改为静态
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=5c0d1d00-0ba6-4140-a025-d47f36b0efd3
DEVICE=enp0s3
IPADDR=192.168.31.100
//增加该语句,用“IPADDR=”来配置静态 IP 地址
NETMASK=255.255.255.0
//增加该语句,用“NETMASK”来配置子网掩码
GATEWAY=192.168.31.1
//增加该语句,用“GATEWAY=”来配置本机的默认网关
ONBOOT=yes
//将上述配置修改为开机启动
(编辑完成后,退出编辑状态并用:wq 存盘)
(6)重启网络服务 重启网络服务,使刚才对网卡配置文件的修改生效。
# systemctl restart network
(6-1)这里可能会出现一个小问题,就是虚机的DNS没有配置,可能不能上网,可以用ping百度ip 119.75.217.109 来检验是否联网,如果不联网,修改下面的配置文件:
# vi /etc/resolv.conf
//添加以下语句
namespace 8.8.8.8
//quit
....还不行的话
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
//在结尾添加如下语句
DNS1=8.8.8.8
//quit
(6-2) 在CentOS 使用yum 安装软件的时候 出现错误no more mirrors to try,导致软件无法继续安装。
可能原因是不正当的删除造成的。
尝试
yum clean all
yum makecache
yum -y update
命令 ,然后重新安装
(7)验证网卡信息 再次使用 ip addr 命令查看网卡信息,可以看到,网卡 enp0s3 已经获得指定的 IP 地址信息。
命令如下
# ip addr show enp0s3 // 显示网卡 enp0s3 的 IP 地址信息
(8)在线安装 dhcp 服务
# yum –y install dhcp
// 在线安装 dhcp
输入命令后回车,即可看到安装 DHCP 的过程,安装完毕后,系统会提示已经安 装的 DHCP 内容,并显示“Complete!”
安装完后才能后
(9)将 DHCP 服务器的 IP 地址改为 10.0.100.0/24 网段地址
根据本实验的网络规划,要分配的 IP 地址范围属于 10.0.100.0/24 网段,又由于本实验中 DHCP Server 与客户主机在同一网段,为了保证客户主机能够获得 IP 地址,此处再次修改网卡配置文件 ifcfg-enp0s3,将 DHCP 服务器的 IP 地址改为 10.0.100.254/24,网关 10.0.100.252。命令如下。
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
注意:
此处更改 DHCP 服务器的 IP 地址,仅仅是为了配合前面网络规划中关于所分配 IP 地址范围的有关设计。用户也可保持 DHCP 原有 IP 地址(192.168.31.100/24)不变,也 可以完成相关实验内容,只需注意将DHCP作用域范围设置为192.168.31.0/24网段即可。
(10)关闭防火墙,并禁止开机启动防火墙服务
# systemctl stop firewalld
# systemctl disable firewalld
(11)配置 DHCP 作用域
根据网络规划中的有关设计,配置 DHCP 服务器的作用域。通过编辑/etc/dhcp/文件夹中的 dhcpd.conf 文件,可以设置 DHCP 的作用域及相关参数。命令如下
# vi /etc/dhcp/dhcpd.conf
// 编辑/etc/dhcp 文件夹中的 dhcpd.conf 文件
subnet 10.0.100.0 netmask 255.255.255.0 {
//配置 10.0.100.0 子网段的作用域,其子网掩码为 255.255.255.0
range 10.0.100.1 10.0.100.200;
//配置本网段的作用域范围
option routers 10.0.100.252;
//配置本网段的 DHCP 客户端获取的网关地址
option domain-name-servers 8.8.8.8;
//配置本网段的 DHCP 客户端获取的 DNS 服务器地址 }
(编辑完成后,退出编辑状态并用:wq 存盘)
注意:
- 在配置作用域时,每条语句必须以分号“;”结尾;
- 可以通过“vi /usr/share/doc/dhcp*/dhcpd.conf.example”命令,查看配置 DHCP 作用域的有关命令格式。
(12)启动 DHCP 服务,并设置开机启动。
通过启动 DHCP 服务,使前面对作用域的配置生效。命令如下
# systemctl start dhcpd
# systemctl enable dhcpd
至此,DHCP 服务的安装与配置已完成。
(13)将 VirtualBox 中创建的虚拟机导入 GNS3
启动 GNS3,点击菜单栏中【Edit】→【Preferences…】→【VirtualBox VMs】,依次将 VirtualBox 中创建的虚拟机DHCP Server(安装CentOS 7并已配置好DHCP作用域) 导入 GNS3。
(14)启动各设备,查看客户主机获得 IP 地址的情况
ok!
注意:
在 GNS3 中启动虚拟机 DHCP Server 和 Host-3 时,需要再次启动 VirtualBox,并 将虚拟机网卡的【连接方式】设置为“未指定”,否则虚拟机无法在 GNS3 中正常启动。
更多推荐
所有评论(0)