> Linux教程 > Linux学习 >

Linux下配置DHCP服务器

一、简要基础知识介绍:
 
        众所周知,由于Linux的安全性远高于windows,因此在世界上的大多数服务器都使用Linux操作系统,因此在Linux下配置各种服务器显得尤为重要。
 
         DHCP(动态主机设置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
 
        我们知道,由于IPv4地址的不足,在一些企业中使用私有地址来缓解这个问题,私有地址是一种只能在局域网内部所使用的地址,在这个局域网中只要至少配置一个公网IP地址,这样主机就可以通过NAT转换技术来使用这个公网IP地址访问互联网。但是,毋庸置疑的是即使在私有地址中,在一个局域网中也不会允许在同一个局域网下出现两个相同的IP地址,对于只有十几台甚至几十台主机的局域网,管理员可以进行手动设置静态IP,只要保证IP地址不同即可,但是,如果对应一个拥有成百上千台主机的局域网,还能每个主机这样逐个的进行IP配置吗?答案显然是不行的,因此,可以在公司内部架设一台DHCP服务器,让其为局域网中的主机设置IP,此时每台主机都可以获取动态IP,但是,需要注意的是:此时虽然可以动态获取IP,但是由于改DHCP服务器是一个公司内部的服务器,因此,此时动态获取的IP仍旧属于私有地址。但是,一旦有了DHCP服务器后,以后管理员就不需要为每台主机设置静态IP了,可以通过DHCP服务器来获取。这就是架设DHCP服务器的缘由。
 
二、基本实验环境:
 
1.首先看一下该环境的拓扑图:
 
 
 2.实验所需环境:
 
        (1)由上图可见,该实验共需要五台Linux主机,分别作为DHCP Server、路由器(GATEWAY)、DHCP Client、中继(DHCP  Relay)以及两台客户机(注意:两台客户机所处的环境并不相同,左边的客户机与DHCP服务器位于同一个网段:192.168.100.0,右边的客户机与DHCP Relay(中继)位于同一个网段:192.168.200.0)
 
        (2)将DHCP Server和左边的DHCP Client的网络适配器设置为自定义(VMnet1)




 
 
 
        (3)将路由器设置为双网卡(因为路由器的需要具有两个IP,因此需要设置两个网卡)操作过程为:
 
        点击编辑虚拟设置-->点击网络适配器-->添加,这样就添加成功了一个网路适配器,但是需要将一个网络适配器改为自定义(VMnet1),将另一个网络适配器改为自定义(VMnet8)
 
 
 (4)同理将拓扑图右边的中继和DHCP Client的网络适配器改为自定义(VMnet8)
 
 
        此时基本的环境配置完成了,接下来进行DHCP Server、路由器以及中继的配置(只需要配置这三台主机,其他两台DHCP客户机不再需要配置),这三台主机都需要配置永久IP
 
三、实验步骤:
 
1.首先配置路由器(实质就是充当网关),路由器需要两个IP 
 
(1):由于配置了两个网路适配器,因此会出现一个eth1和一个eth2
 
使用ipconfig查看网路适配器信息:
 
 
 
转到网络配置的文件路径下:cd  /etc/sysconfig/network-scripts/
 
重命名ifcfg-eth0文件(因为ifconfig显示的是eth0和eth1,为了保持一致):mv  ifcfg-eth0  ifcfg-eth1
 
 
 
 打开修改该配置文件:vim  ifcfg-eth1
 
 
配置文件修改如下:
 
 
 
将设备改为eth1,硬件地址通过ifconfig查询,将eth1的硬件地址写道第二行,最后手动添加IP和网关。 
 
将eth1文件复制一份到当前目录下,并修改文件名为eth2
 
 
同样修改文件内容:vim  if-cfg-eth2
 
 
 
 
 将设备改为eth2,硬件地址通过ifconfig查询,将eth2的硬件地址写道第二行,最后修改IP地址。
 
 至此,路由器的IP地址配置好了
 
(2):重启网络服务:service  network restart
 
 
 
(3):关闭防火墙:iptables  -F (清除防火墙设置)
 
                           sentenforce   0  (关闭selinux)
 
 
(4):配置转发功能(由于路由器是由Linux主机来实现的,因此需要为该主机配置转发功能)
 
修改内核
 
 
将net.ipv4.ip_forward = 0改为net.ipv4.ip_forward = 1
 
 
 
拓展:修改内核还有一种方法可以使用: echo  "1" >/proc/sys/net/ipv4/ip_forward
 
 
 
 加载内核:sysctl  -p
 
 
 到这网关的配置就基本结束了!
 
2.配置DHCP  Server
 
(1):修改/etc/sysconfig/network-scripts/下的ifcfg-eth1文件
 
 
拓展:上述修改会修改内容比较多,可以使用scp从网络上将刚才配置好的网关(路由器)的ifcfg-eth1文件复制过来,scp采用的就是SSH服务,大多数Linux都是开启该服务的  scp  192.168.100.254:/etc/sysconfig/network-scripts/ifcfg-eth1   .
 
 
ifcfg-eth1内容如下:
 
 
查看路由信息:route
 
 
查看DNS信息:cat  /etc/resolv.conf
 
 
3.配置中继器
 
(1):修改/etc/sysconfig/network-scripts/下的ifcfg-eth1文件(同样也可以像上面将路由器的eth1文件复制过来进行修改)
 
 
修改上述文件,先将ifcfg-eth0文件改为ifcfg-eth1,然后修改其内容,内容如下:
 

 
 
 
 
 (2):重启网络服务:service  network restart
 
 
 
 (3):此时不要着急进行下一步操作,先ping一下DHCP服务器,如果可以ping通,说明路由器(网关)配置成功,这样进行下一步才有意义,否则没有意义。
 
 
 
4.回到服务器
 
(1)安装DHCP-Server服务:
 
 
(2):修改DHCP配置文件:
 
 
 
打开 dhcp/dhcpd.conf文件,内容如下:


 
 将例子文件复制到dhcp/dhcp.conf
 

 
 
修改该文件内容:
 
 
修改后的内容如下:(只留两个subnet,其余没用的删掉)
 
 
 
启动dhcp服务:service  dhcpd  restart 
 
 
        禁用VMware Tools 的dhcp服务,因为此时已经配置了dhcp服务,如果再使用虚拟机提供的dhcp服务,这样就会造成客户机争抢dhcp服务器的情况,因此需要禁用掉VMware Tools 的dhcp服务:编辑-->虚拟网络编辑器-->更改设置-->取消使用本地DHCP服务(将VMnet1和VMnet8都取消)
 


 
 
5.再回到中继器(最后一步了)
 
(1)安装DHCP服务器:
 
 
(2)修改中继器配置文件:
 
 
 
修改后的配置文件内容如下:
 
 
 
 (3)启动中继器
 
 
此时,所有的DHCP服务都已经配好了。
 
顺便说一句,在做的时候一定要注意命令提示符所在的文件目录下!!!
 
四、验证:
 
(1):打开拓扑图左边的客户机,ifconfig查看IP地址
 
 
 
左边客户机的IP地址为192.168.100.27,在设置的192.168.100.26-192.168.100.30之间,说明配置成功!
 
(2):打开拓扑图右边的客户机,ifconfig查看IP地址
 
 
 
右边客户机的IP地址为192.168.100.27,在设置的192.168.200.26-192.168.200.30之间,说明配置成功!
 
到此为止,所有的关于DHCP服务器的配置已经全部结束!!!最后再补充一个拓展知识:保留地址!
 
五、拓展:
 
保留字段意思是服务器会将该IP当作静态地址一样一直分配给一个客户机,即使IP数量不足也不会收回。
 
1.打开DHCP服务器,修改dhcpd.conf配置文件
 
 
修改后的内容如下:
 
 
说明一下:00:0C:29:FB:37:5B是左边的客户机的硬件地址,192.168.100.29是保留的IP地址。
 
修改完文件内容后保存退出,然后重启一下dhcp服务
 
 
最后回到客户机,先 service network restart(重启网络服务)-->ifconfig eth1 down(禁用eth1网卡)-->ifconfig eth1 up(启用eth1网卡)-->ifconfig(查看IP)
 
此时发现IP地址已经变成了192.168.100.29,说明保留IP已经设置成功了!
 
 

(责任编辑:IT)