基于 Linux 的 DHCP 服务器的实现

版权声明:宇哥出品,必属精品~~~ https://blog.csdn.net/zhongaiyisheng_/article/details/84031601

说明:

  1. 本实验在一台实体计算机上,通过GNS3网络仿真软件和VirtualBox虚拟化软件完成;

  2. 实体计算机的操作系统是Windows 7,已安装GNS3软件(版本为1.3.11)和 VirtualBox 软件(版本为 5.0.8);

  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 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。

注意:

  1. 用户主机 Host-1~Host-3 作为 DHCP 的客户端,其 IP 地址都被设置成“自动获得”。 此处 Host-1 的 IP 地址规划为 10.0.100.*/24,表示在本实验中,Host-1 将获得 10.0.100.0/24 网段中的某个地址(具体由 DHCP 作用域确定),其他主机同理。
  2. 此处的网关地址和 DNS 地址,表示用户主机从 DHCP 服务器获得的相关地址。
  3. 本实验中,用虚拟机 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 地址信息。

注意:

  1. 此处所谓的“有效的 IP 地址”,是指能够使 DHCP Server 虚拟机访问互联网的 IP 地 址。该地址信息可以从网络管理员处获得,具体情况要根据实验环境的实际情况而定。 此处,将 DHCP Server 的 IP 地址设置为静态 IP 地址,IP 为 192.168.31.100/24,网 关为 192.168.31.1。
  2. 此处的地址设置仅用于在线安装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 存盘) 

注意:

  1. 在配置作用域时,每条语句必须以分号“;”结尾;
  2. 可以通过“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 中正常启动。

猜你喜欢

转载自blog.csdn.net/zhongaiyisheng_/article/details/84031601
今日推荐