周五的局域网组网这门课,有教在linux环境下搭建简单dhcp服务器。

说实话看懂报错确实很重要,当然也要确保代码正确。

下面开始模拟环境。

centos服务器版 centos做服务器_IPV6


1.使用Centos 7搭建DHCP服务器,来为主机获取IP地址。

2.网络规划:PC1属于VLAN10,PC2属于VLAN20。与dhcp服务器相连的为VLAN30。

3.交换机作为DHCP中继。

下面开始吧,首先我们先完成交换机上面的配置。

第一步.创建VLAN 10 20 30

.第二步:将接口划分好正确的vlan

centos服务器版 centos做服务器_服务器_02


第三步:配置好vlan间路由。这里我们使用vlanif。

centos服务器版 centos做服务器_linux_03


第四步:开启dhcp服务,并且将自己配置为中继器。

centos服务器版 centos做服务器_IPV6_04


centos服务器版 centos做服务器_服务器_05


交换机上配置已经完成。

下面进入Cenos7搭建环境。注意:需要在root权限下完成。

总体分为三步

一、添加一个虚拟网卡

centos服务器版 centos做服务器_linux_06


二、为虚拟网卡配置一个地址

首先我们使用命令ifconfig查看网卡的IP地址

centos服务器版 centos做服务器_linux_07


下面那个网卡可以用来使用CRT登陆,上面网卡我们就用来配置实验环境。

接下来我们使用命令:

cd /etc/sysconfig/network-scripts //进入网卡文件配置目录

ls //查看可以配置的网卡

centos服务器版 centos做服务器_服务器_08


发现了我们刚刚那个没有配置地址的网卡,我们可以进入配置文件。

vim ifcfg-eno16777736 //进入这个网卡的配置文件

HWADDR=00:0C:29:21:A0:6D

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=eno16777736

UUID=353d6990-2f87-44c4-86bd-87210e3e5414

ONBOOT=yes //这个一定要设置为yes不然无效。

IPADDR=10.1.30.100 //配置的IPV4地址

NETMASK=255.255.255.0 //掩码

配置好后,使用wq!保存。

使用命令service network restart 重启网卡

centos服务器版 centos做服务器_服务器_09


如图网卡IP地址以及配置完成,下面进入最后一步。

三、搭建DHCP服务器。

首先使用命令查看虚拟机是否按照DHCP服务环境。

rpm -qa |grep dhcp //查看是否具备DHCP环境

centos服务器版 centos做服务器_服务器_10


由于我这里以及配置过所以存在。如果不存在环境,可以在yum下载安装(虚拟机网卡为NAT)

yum -y install dhcp //安装DHCP服务

centos服务器版 centos做服务器_linux_11


dhcp以及安装好。可以进入DHCP配置模板配置。

vim /etc/dhcp/dhcpd.conf //进入配置模板。

subnet 10.2.30.0 netmask 255.255.255.0 {

range 10.1.30.100 10.1.30.200;

option domain-name-servers ns1.internal.example.org;

option domain-name “internal.example.org”;

option routers 10.1.30.1;

default-lease-time 600;

max-lease-time 7200;

}

subnet 10.1.10.0 netmask 255.255.255.0 { //给VLAN10配置的地址池

range 10.1.10.100 10.1.10.200; //分配的地址范围

option domain-name-servers ns1.internal.example.org;

option domain-name “internal.example.org”;

option routers 10.1.10.1; //网关

default-lease-time 600;

max-lease-time 7200;

}

subnet 10.1.20.0 netmask 255.255.255.0 { //给VLAN20配置的地址池

range 10.1.20.100 192.168.200.254;

option domain-name-servers ns1.internal.example.org;

option domain-name “internal.example.org”;

option routers 10.1.20.1;

default-lease-time 600;

max-lease-time 7200;

配置完成使用wq!保存。

然后使用命令

systemctl start dhcpd.service //开启DHCP服务。

但是我们开启的过程中出现了消息提醒

导致

centos服务器版 centos做服务器_centos服务器版_12


dhcp服务未能成功开启。并且建议我们去systemctl status dhcpd.service 等看一下

查看发现dhcp服务状态为disable。并且用红字提示我们报错

是我们配置文件代码问题

centos服务器版 centos做服务器_DHCP_13


此时我们只需要去配置文件改一下提示的问题就行了

修改完成后保存。再次使用命令

systemctl start dhcpd.service 开启dhcp服务。没有报错

systemctl status dhcpd.service //查看dhcp服务状态。

centos服务器版 centos做服务器_centos服务器版_14


已经为running状态。

此时pc尝试使用dhcp获取IP地址。

centos服务器版 centos做服务器_服务器_15


发现没有,交换机G0/0/3接口开启抓包排错一下。

centos服务器版 centos做服务器_IPV6_16


发现只有主机发送的discaver报文,而服务器没有任何回应。

突然想起来dhcp中继要保证网络通畅,而linux服务器没有vlan 10 20 的路由。

所以我们在linux加上路由。

使用命令route add -net

centos服务器版 centos做服务器_DHCP_17


使用命令route -n //查看路由

centos服务器版 centos做服务器_DHCP_18


已经存在。

centos服务器版 centos做服务器_linux_19


这里抓包也显示PC1已经拿到地址。

centos服务器版 centos做服务器_服务器_20


PC2也获取到。

2020年6月19日23:03:52 完成。