DHCP服务器配置-Ubuntu

一、安装DHCP Server

使用命令sudo apt-get install dhcp3-server安装最新版本的DHCP Server,目前使用的版本为DHCP Server 4.2.4,通过以下命令可以查看版本信息:

# dhcpd

显示内容如下:

二、环境配置

2.1 创建主配文件dhcpd.conf

/etc/dhcp/下的dhcp.conf文件是DHCP服务器器的主要配置文件,所有功能都是在该文件中修改并实现的。在/usr/share/doc/isc-dhcp-server/examples下的dhcpd.conf是DHCP Server的配置模板,其中有详细的注释和所有的配置内容。

下面我们手动创建dhcpd.conf:

# vim /etc/dhcp/dhcpd.conf

文件内容如下:

ddns-update-style none;
ignore client-updates;
default-lease-time 21600;
max-lease-time 43200;
option domain-name "linuxde.net";
option domain-name-servers 202.96.199.133, 116.228.111.118;
option routers 192.168.100.254;
subnet 192.168.100.0 netmask 255.255.255.0 {
    range 192.168.100.50 192.168.100.100;
    option subnet-mask 255.255.255.0;
    host server1 {
            hardware ethernet b0:c0:c3:22:46:81;
            fixed-address 192.168.3.100;
    }
}

2.2 其他设置

创建了dhcpd.conf文件后,基本上已经可以通过sudo service isc-dhcp-server start命令来启动DHCP服务了,不过还是可能会遇到其他的问题。以下内容为解决可能存在的问题:

2.2.1 更改网卡IP

需要特别注意的是对应的网卡IP必须要在dhcpd.conf可分配的IP网段范围内,比如我设置的网卡eth1 IP为192.168.3.100,而对应的DHCP网段为192.168.100.50~192.168.100.100,那么DHCP服务就无法正常启动,我们需要将网卡eth1的IP进行修改:

# sudo vim /etc/network/interfaces

修改后的内容如下:

如果没有网卡eth1的配置,可以参照以上内容添加配置。之后再重启网络服务:

# sudo ifdown eth1 && sudo ifup eth1

通过ifconfig eth1查看到网卡eth1的IP已经修改成功后就可以重新启动DHCP服务了。

2.2.2 创建DHCP服务器租约文件

在没有服务器租约文件dhcpd.leases时,一些较低版本的DHCP Server将无法正常启动,这个时候需要我们手动创建服务器租约文件:

# sudo touch /var/lib/dhcp/dhcpd.leases

2.2.3 配置网络接口

没有指明DHCP服务器需要在哪一张网卡上启动时也会出现DHCP服务启动不成功的情况,可以通过以下操作指明网卡:

# sudo vim /etc/default/isc-dhcp-server

打开配置文件后,我们增加或修改成如下内容:

在这里我们指明了DHCP服务器启动的网卡,也就是eth1,修改完后便可以重新启动DHCP服务。

2.2.4 设置开机启动

通常我们需要DHCP Server能够实现开机启动,这个时候我们就需要用到工具sysv-rc-conf,首先是安装这个工具:

# sudo apt-get install sysv-rc-conf

安装后可以通过以下命令将DHCP服务加入到开机启动项中:

# sudo sysv-rc-conf isc-dhcp-server on

三、启动DHCP服务

在所有内容都已经配置好后,通过如下命令便可以启动DHCP服务:

# sudo service isc-dhcp-server start

我们在进程中查看DHCP是否已经启动:

# sudo netstat –apn | grep dhcpd    

得到的查看结果如下:

说明我们的DHCP服务已经成功启动并运行了。

如果无法成功启动,请使用命令dhcpd查看其中的错误信息,再针对错误进行修改,一般是配置文件设置出错。

四、测试DHCP服务

测试DHCP服务是否配置成功并且能够如预期一样运行有很多种方法,这里采用比较简单的一种,看能够给本机Linux分配IP地址、子网掩码等。

首先,在启动好了需要测试网卡的网络服务和DHCP服务后,我们需要将Linux本机的IP设置成自动获取,操作如下:

# sudo vim /etc/network/interface

可以看到之前我们修改过的网卡配置文件内容如下:

其中eth1为配置网卡的名称,这里我们选择的是eth1;inet后跟的参数为网卡配置的获取方式,有static和dhcp两种:static表示网卡eth1配置通过静态方式获取,即在该interfaces文件中配置,dhcp表示通过DHCP服务获取配置;address、netmask、gateway表示静态配置后的网卡参数,分别为IP地址、掩码地址、网关。

这里我们将获取方式设置为DHCP服务获取,修改后内容如下:

之后将文件保存并退出并重新启动网卡eth1:

# sudo ifdown eth1 && sudo ifup eth1

会出现如下所示过程:

之后我们再用命令ifconfig eth1查看IP地址是否已经重新分配:

可以看见我们的IP地址从之前静态配置的IP 192.168.100.80变为了192.168.100.57,并且是192.168.100.50~192.168.100.100间的IP地址,同时之前设置的掩码地址从255.255.254.0变为了255.255.255.0,广播地址也正好是我们设置的192.168.1.255。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章